Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2b7b71455948b3f8d4a0c4298592915f09b3756e
https://github.com/WebKit/WebKit/commit/2b7b71455948b3f8d4a0c4298592915f09b3756e
Author: Ronan Turner <[email protected]>
Date: 2026-01-19 (Mon, 19 Jan 2026)
Changed paths:
M Source/WebKit/UIProcess/EnhancedSecurityTracking.cpp
M Source/WebKit/UIProcess/EnhancedSecurityTracking.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/EnhancedSecurityPolicies.mm
Log Message:
-----------
Fix opener relationship behaviour with Enhanced Security
https://bugs.webkit.org/show_bug.cgi?id=305317
rdar://167971340
Reviewed by Per Arne Vollan.
We cannot make an EnhancedSecurity state change when we have an opener
relationship, as we do not have the ability to maintain the opener
relationship across process boundaries until site isolation is present.
Therefore, we should not change EnhancedSecurity state when a navigation
requires an opener relationship, as otherwise a process swap will have to
occur to accommodate the change in state.
This change applies this behaviour, which fixes the following tests when
the Enhanced Security heuristics flag is enabled by default:
* AdvancedPrivacyProtections.DoNotHideReferrerInPopupWindow
* SOAuthorizationPopUp.InterceptionSucceedCloseByItself
* SOAuthorizationPopUp.InterceptionSucceedCloseByParent
* SOAuthorizationPopUp.InterceptionSucceedCloseByWebKit
* SOAuthorizationPopUp.InterceptionSucceedNewWindowNavigation
* SOAuthorizationPopUp.InterceptionSucceedSuppressActiveSession
* SOAuthorizationPopUp.InterceptionSucceedTwice
* SOAuthorizationPopUp.InterceptionSucceedWithCookie
* SOAuthorizationPopUp.SOAuthorizationLoadPolicyAllowAsync
* WKWebExtensionAPIDevTools.PortMessagePassingFromPanelToBackground
Three additional tests are also added that ensure correct behaviour with and
without site isolation:
* EnhancedSecurityPolicies.HttpsOpeningHttp
* EnhancedSecurityPolicies.OpenerMultipleNavigations
* EnhancedSecurityPolicies.OpenerThenSelfNavigation
Test: Tools/TestWebKitAPI/Tests/WebKitCocoa/EnhancedSecurityPolicies.mm
* Source/WebKit/UIProcess/EnhancedSecurityTracking.cpp:
(WebKit::EnhancedSecurityTracking::trackNavigation):
* Source/WebKit/UIProcess/EnhancedSecurityTracking.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationActionPolicyDecision):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/EnhancedSecurityPolicies.mm:
(runHttpsOpeningHttp):
(runOpenerMultipleNavigations):
(runOpenerThenSelfNavigation):
Canonical link: https://commits.webkit.org/305806@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications