RESOLVED FIXED 184318
Process Swap on Navigation causes many webpages to hang due to attempted process swap for iframe navigations
https://bugs.webkit.org/show_bug.cgi?id=184318
Summary Process Swap on Navigation causes many webpages to hang due to attempted proc...
Michael Saboff
Reported 2018-04-04 15:06:15 PDT
When Process Swap on Navigation is enabled, web pages that seem to have subresources from multiple origins hang. Some pages hang after updating the page title and address bar. Sometimes there appears to be a quick flash of web content. These sites hang: - amazon.com - facebook.com - ebay.com - wikipedia.org after searching for something - cnn.com - netflix.com
Attachments
Work in Progress Patch (3.50 KB, patch)
2018-04-04 15:11 PDT, Michael Saboff
no flags
Patch (7.08 KB, patch)
2018-04-05 15:03 PDT, Brady Eidson
no flags
Michael Saboff
Comment 1 2018-04-04 15:06:33 PDT
Michael Saboff
Comment 2 2018-04-04 15:11:08 PDT
Created attachment 337231 [details] Work in Progress Patch
Brady Eidson
Comment 3 2018-04-05 14:16:52 PDT
Comment on attachment 337231 [details] Work in Progress Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337231&action=review I had fixed this locally, not knowing someone else was working on it. My patch was simpler: > Source/WebKit/UIProcess/WebPageProxy.cpp:2354 > if (action == PolicyAction::Use && navigation) { > - auto proposedProcess = process().processPool().processForNavigation(*this, *navigation, action); > + auto proposedProcess = process().processPool().processForNavigation(*this, *navigation, action, frame.isMainFrame()); Instead of adding the new parameter, I just changed 2353 to: - if (action == PolicyAction::Use && navigation) { + if (action == PolicyAction::Use && navigation && frame.isMainFrame()) {
Brady Eidson
Comment 4 2018-04-05 14:17:56 PDT
That said, while the main frame patch definitely fixes things in MiniBrowser, for example... Safari still has problems with defersLoading. Sometimes. That may or may not be related, so we should fix it separately.
Brady Eidson
Comment 5 2018-04-05 15:03:38 PDT
EWS Watchlist
Comment 6 2018-04-05 15:05:05 PDT
Attachment 337304 [details] did not pass style-queue: ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:700: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:702: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:710: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:712: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:714: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:717: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:721: Multi-line string ("...") found. This lint script doesn't do well with such strings, and may give bogus warnings. They're ugly and unnecessary, and you should use concatenation instead". [readability/multiline_string] [5] Total errors found: 7 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 7 2018-04-05 16:18:05 PDT
Comment on attachment 337304 [details] Patch Clearing flags on attachment: 337304 Committed r230315: <https://trac.webkit.org/changeset/230315>
WebKit Commit Bot
Comment 8 2018-04-05 16:18:07 PDT
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.