WebKit should process-swap for initial navigation of a popup if it has no opener, even if the navigation is same-site. Swapping process is not Web-observable here since there is no opener relationship. However, swapping processes has benefits here since we don't want to end up with too many tabs sharing the same process. This impacts Google Drive where double-clicking a document will open Google Docs in a new tab and in the same WebProcess as Google Drive.
<rdar://84425504>
Created attachment 441806 [details] Patch
Created attachment 441890 [details] Patch
Created attachment 441912 [details] Patch
Created attachment 441950 [details] Patch
Created attachment 441960 [details] Patch
Created attachment 441979 [details] Patch
Comment on attachment 441979 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=441979&action=review R=me > Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:1296 > + EXPECT_NE(pid1, pid2); Is it worth having a test for the named window case to confirm it doesn’t process swap? > Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:1387 > + // Since the window was open via JS, it should be able to close itself. “Was opened”
(In reply to Brent Fulgham from comment #8) > Comment on attachment 441979 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=441979&action=review > > R=me > > > Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:1296 > > + EXPECT_NE(pid1, pid2); > > Is it worth having a test for the named window case to confirm it doesn’t > process swap? Why not, I'll add one. That said, process swapping when there is a window name and no opener would be safe. I merely haven't gone to the trouble of making it work. > > > Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:1387 > > + // Since the window was open via JS, it should be able to close itself. > > “Was opened”
Created attachment 442019 [details] Patch
Comment on attachment 442019 [details] Patch Clearing flags on attachment: 442019 Committed r284610 (243337@main): <https://commits.webkit.org/243337@main>
All reviewed patches have been landed. Closing bug.