RESOLVED FIXED 183168
html/browsers/browsing-the-web/navigating-across-documents/006.html fails with async policy delegates
https://bugs.webkit.org/show_bug.cgi?id=183168
Summary html/browsers/browsing-the-web/navigating-across-documents/006.html fails wit...
Chris Dumez
Reported 2018-02-27 11:52:25 PST
html/browsers/browsing-the-web/navigating-across-documents/006.html fails with async policy delegates.
Attachments
Patch (6.94 KB, patch)
2018-02-27 12:08 PST, Chris Dumez
no flags
Patch (7.00 KB, patch)
2018-02-27 12:46 PST, Chris Dumez
no flags
WIP Patch (11.47 KB, patch)
2018-02-28 10:20 PST, Chris Dumez
no flags
Patch (7.31 KB, patch)
2018-02-28 13:03 PST, Chris Dumez
no flags
Radar WebKit Bug Importer
Comment 1 2018-02-27 11:57:12 PST
Chris Dumez
Comment 2 2018-02-27 12:08:16 PST
Chris Dumez
Comment 3 2018-02-27 12:46:48 PST
Chris Dumez
Comment 4 2018-02-27 14:40:17 PST
Issue seems to be that: 1. A FormSubmission navigation is scheduled 2. A anchor is activated which calls FrameLoader::urlSelected() FrameLoader::urlSelected() does not cancel pending navigation right away. Instead, it does the navigation policy check (now asynchronously) and only cancels pending navigations when the navigation is approved and provisional load starts. See that FrameLoader::provisionalLoadStarted() calls m_frame.navigationScheduler().cancel(true); The issue is that the NavigationScheduler timer may fire while the policy decision is being made, asynchronously. ScheduledFormSubmission::fire() is called and the starts a new load, which cancels the previous one.
Chris Dumez
Comment 5 2018-02-28 10:20:20 PST
Created attachment 334751 [details] WIP Patch
Chris Dumez
Comment 6 2018-02-28 13:03:15 PST
WebKit Commit Bot
Comment 7 2018-02-28 15:58:27 PST
Comment on attachment 334760 [details] Patch Clearing flags on attachment: 334760 Committed r229108: <https://trac.webkit.org/changeset/229108>
WebKit Commit Bot
Comment 8 2018-02-28 15:58:29 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.