Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 19c15db4fa2e68ffc217490723f8412b5bd1aad3
      
https://github.com/WebKit/WebKit/commit/19c15db4fa2e68ffc217490723f8412b5bd1aad3
  Author: Zak Ridouh <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M Source/WebKit/UIProcess/MediaKeySystemPermissionRequestManagerProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation] requestMediaKeySystemAccess never resolves in a cross-site 
iframe
<https://bugs.webkit.org/show_bug.cgi?id=325333>
<rdar://problem/188439354>

Reviewed by Tim Nguyen.

When a cross-site iframe calls navigator.requestMediaKeySystemAccess(), the UI 
process sent the permission
decision to the main frame's process. Under Site Isolation the iframe runs in 
another process, so its promise
never settled, and the main frame's process was handed another site's media 
keys hash salt.

Send the decision to the process that contains the requesting frame, as 
UserMediaPermissionRequestManagerProxy
does, and drop it if that frame is gone.

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

* Source/WebKit/UIProcess/MediaKeySystemPermissionRequestManagerProxy.cpp:
(WebKit::MediaKeySystemPermissionRequestManagerProxy::denyRequest):
(WebKit::MediaKeySystemPermissionRequestManagerProxy::grantRequest):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, 
RequestMediaKeySystemAccessInCrossSiteIframe)):

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



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

Reply via email to