Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3b231beb6f11e77b502bd58e3b7bbe90c5ff07d1
https://github.com/WebKit/WebKit/commit/3b231beb6f11e77b502bd58e3b7bbe90c5ff07d1
Author: Rupin Mittal <[email protected]>
Date: 2026-02-26 (Thu, 26 Feb 2026)
Changed paths:
M LayoutTests/platform/ios-site-isolation/TestExpectations
M LayoutTests/platform/mac-site-isolation/TestExpectations
M Source/WebCore/loader/FrameLoader.cpp
Log Message:
-----------
[Site Isolation] 5 COOP tests in
iframe-popup-same-origin-to-unsafe-none.https.html are failing
https://bugs.webkit.org/show_bug.cgi?id=308672
rdar://171204208
Reviewed by Sihui Liu.
In these tests, an iframe opens a popup and due to the COOP, there should be no
opener relationship. The tests fail because the opened popup does have an
opener.
In FrameLoader::loadURL, shouldForceNoOpenerBasedOnCOOP correctly returns true,
and so we set the local variable openerPolicy to NewFrameOpenerPolicy::Suppress.
But we do not change the NavigationAction's NewFrameOpenerPolicy. This continues
to be NewFrameOpenerPolicy::Allow. Because this is set to Allow:
1. NavigationActionData::hasOpener is set to true
2. WebPageProxy::createNewPage sets openerInfo on the new page's configuration
3. mainFrameOpenerIdentifier is be set in WebPageCreationParameters
4. The new Frame is constructed with an opener
We fix this by ensuring that if shouldForceNoOpenerBasedOnCOOP is true, then
NavigationAction's NewFrameOpenerPolicy is set to
NewFrameOpenerPolicy::Suppress.
* LayoutTests/platform/ios-site-isolation/TestExpectations:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
Canonical link: https://commits.webkit.org/308299@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications