Remove hosted app reload logic from ShouldFork.
This CL removes the logic that triggered process swaps in ChromeExtensionsRendererClient::ShouldFork() for the case when the main frame reloads a URL for which a hosted app was just installed or uninstalled. This logic isn't needed with --site-per-process, as that mode will already force a process transfer. This is covered by AppApiTest.ReloadIntoAppProcess and AppApiTest.ReloadIntoAppProcessWithJavaScript, which still pass with that logic removed. This CL also makes a fix on the browser side to keep this logic working even without --site-per-process, by unconditionally checking HasWrongProcessForURL() and forcing a process transfer if needed in IsRendererTransferNeededForNavigation(). This is possible because with PlzNavigate we will always go to the browser process and check for transfers, even without --site-per-process. With that fix, the above two tests also pass without --site-per-process. The above tweak also has a side effect of swapping processes when an app opens a cross-site, non-app popup (also made possible by work on issue 794315) in non-site-per-process mode, which seems acceptable and desirable - no reason for the cross-site popup to be in a process with app permissions. Bug: 883550, 883549, 718516 Test: AppApiTest.ReloadIntoAppProcess and AppApiTest.ReloadIntoAppProcessWithJavaScript keep working, with and without --site-per-process. Change-Id: Ibac63fff3a36318fabceb593ca7ae7967eefad89 Reviewed-on: https://chromium-review.googlesource.com/1226075Reviewed-by:Nasko Oskov <nasko@chromium.org> Reviewed-by:
Devlin <rdevlin.cronin@chromium.org> Commit-Queue: Alex Moshchuk <alexmos@chromium.org> Cr-Commit-Position: refs/heads/master@{#591521}
Showing
Please register or sign in to comment