Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 11a216a7fd0399dd9d93fca02a356f354ccabc2e
      
https://github.com/WebKit/WebKit/commit/11a216a7fd0399dd9d93fca02a356f354ccabc2e
  Author: Brady Eidson <[email protected]>
  Date:   2026-08-06 (Thu, 06 Aug 2026)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Scripts/SettingsTemplates/Settings.cpp.erb
    M Source/WebCore/Scripts/SettingsTemplates/Settings.h.erb
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/loader/DocumentLoader.cpp
    M Source/WebCore/loader/DocumentLoader.h
    A Source/WebCore/loader/WebsitePolicies.h
    M Source/WebCore/page/Frame.h
    M Source/WebCore/page/LocalFrame.cpp
    M Source/WebCore/page/LocalFrame.h
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/RemoteFrame.cpp
    M Source/WebCore/page/RemoteFrame.h
    M Source/WebKit/Shared/WebsitePoliciesData.cpp
    M Source/WebKit/Shared/WebsitePoliciesData.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation] Some website policies applied to main frame navigations 
don't apply to cross site iframes
rdar://184091553
https://bugs.webkit.org/show_bug.cgi?id=321060

Reviewed by Matthew Finkel.

WebKit API clients can apply various website policies on a per navigation basis.
These policies are meant to apply to all documents hosted by the navigated-to 
page,
including cross-origin iframes.

Under site isolation, some of these policies were not migrated to the new 
process
hosting the cross-origin iframe, therefore breaking the intended contract.

This patch makes sure all of these policies apply to the cross-origin iframe 
even
in its new process and also tests that they are applied correctly.

Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm

* Source/WebCore/Headers.cmake:
* Source/WebCore/Scripts/SettingsTemplates/Settings.cpp.erb:
* Source/WebCore/Scripts/SettingsTemplates/Settings.h.erb:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::advancedPrivacyProtections const):
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::applyPoliciesToSettings):
* Source/WebCore/loader/DocumentLoader.h:
* Source/WebCore/loader/WebsitePolicies.h: Added.
* Source/WebCore/page/Frame.h:
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::colorSchemePreference const):
* Source/WebCore/page/LocalFrame.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::useDarkAppearance const):
* Source/WebCore/page/RemoteFrame.cpp:
(WebCore::m_colorSchemePreference):
(WebCore::RemoteFrame::colorSchemePreference const):
(WebCore::m_autoplayPolicy): Deleted.
* Source/WebCore/page/RemoteFrame.h:
* Source/WebKit/Shared/WebsitePoliciesData.cpp:
(WebKit::core):
(WebKit::WebsitePoliciesData::applyToSettings):
(WebKit::WebsitePoliciesData::applyToDocumentLoader):
* Source/WebKit/Shared/WebsitePoliciesData.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationActionPolicyDecision):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
(WebKit::WebRemoteFrameClient::applyWebsitePolicies):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation, LockdownModeInheritedByCrossSiteIframeProcess)):
(TestWebKitAPI::(SiteIsolation, 
EnhancedSecurityInheritedByCrossSiteIframeProcess)):
(TestWebKitAPI::(SiteIsolation, 
LockdownModeSettingsInheritedByCrossSiteIframe)):
(TestWebKitAPI::(SiteIsolation, 
GlobalPrivacyControlInheritedByCrossSiteIframe)):
(TestWebKitAPI::(SiteIsolation, 
AdvancedPrivacyProtectionsInheritedByCrossSiteIframeDocument)):
(TestWebKitAPI::(SiteIsolation, 
PushAndNotificationAPIPolicyInheritedByCrossSiteIframe)):
(TestWebKitAPI::(SiteIsolation, 
ColorSchemePreferenceInheritedByCrossSiteIframe)):

Canonical link: https://commits.webkit.org/318742@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to