Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c7ee1c1cda0e2126ec7cfc0e7e05dbbbeb6e5472
      
https://github.com/WebKit/WebKit/commit/c7ee1c1cda0e2126ec7cfc0e7e05dbbbeb6e5472
  Author: Zak Ridouh <[email protected]>
  Date:   2026-10-02 (Fri, 02 Oct 2026)

  Changed paths:
    M Source/WebCore/page/Page.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm

  Log Message:
  -----------
  [Site Isolation] Media type overrides and animation pausing don't reach 
cross-site iframes
<https://bugs.webkit.org/show_bug.cgi?id=325549>
<rdar://problem/188634422>

Reviewed by Charlie Wolfe.

Page-wide settings such as the media type override and animation pausing were 
only sent to the main frame's process,
so cross-site iframes kept stale values. Send them to every process that hosts 
the page, and pause animations under
every local root frame, since an iframe's process has no local main frame.

Tests: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm

* Source/WebCore/page/Page.cpp:
(WebCore::Page::updatePlayStateForAllAnimations):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setResourceLoadClient):
(WebKit::WebPageProxy::setControlledByAutomation):
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow):
(WebKit::WebPageProxy::setOverriddenMediaType):
(WebKit::WebPageProxy::pauseAllAnimations):
(WebKit::WebPageProxy::playAllAnimations):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm:
(TestWebKitAPI::TEST(SiteIsolation, SetMediaTypeAfterCrossOriginIframeLoads)):
(TestWebKitAPI::TEST(SiteIsolation, 
SetResourceLoadDelegateAfterCrossOriginIframeLoads)):
(TestWebKitAPI::TEST(SiteIsolation, 
PauseAllAnimationsAfterCrossOriginIframeLoads)):

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



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

Reply via email to