-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Unable to opt out of lockdown mode on sites that serve COOP + COEP HT…
…TP headers https://bugs.webkit.org/show_bug.cgi?id=267766 rdar://119503109 Reviewed by Brent Fulgham. If lockdown mode is enabled system-wide and the user attempts to navigate to a site where lockdown mode has been disabled by the user, we expect this request to be satisfied. However, in the event where the site serves the proper COOP + COEP HTTP headers to trigger a process-swap, we would fail to disable lockdown mode. The reason is that WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation(), which gets called on network response in case of a COOP + COEP process swap, would not carry over correctly the lockdown mode state from the old WebProcess to the new one. In particular, if there is a ProvisionalPageProxy (because the current navigation caused a PSON process-swap), we should be getting the lockdown mode from this ProvisionalPageProxy's WebProcessProxy, instead of from the WebPageProxy's WebPageProxy (which is the committed process, not the provisional one associated with the current navigation). * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::triggerBrowsingContextGroupSwitchForNavigation): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Canonical link: https://commits.webkit.org/273243@main
- Loading branch information
Showing
2 changed files
with
68 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters