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