Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d0321d4e6eec17a325ca9fe4665525dd5e0df5c3
https://github.com/WebKit/WebKit/commit/d0321d4e6eec17a325ca9fe4665525dd5e0df5c3
Author: Zak Ridouh <[email protected]>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Transcoded images chosen in a cross-site iframe's open panel
go to the main frame's process
https://bugs.webkit.org/show_bug.cgi?id=324916
rdar://188138794
Reviewed by Alex Christensen.
On macOS, when a file chosen in an open panel is an image type the input does
not accept, WebPageProxy
transcodes it before handing it to the page. That path granted file access to,
and sent the files to, the
main frame's process. Under Site Isolation, an input in a cross-site iframe
lives in another process, so
the iframe never received its files. That process also kept its open panel
listener, so its file inputs
could not open another panel.
Pass the process that opened the panel into
didChooseFilesForOpenPanelWithImageTranscoding and use it, as
the path without transcoding already does.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithImageTranscoding):
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation,
OpenPanelTranscodedImageReachesCrossOriginIframe)):
Canonical link: https://commits.webkit.org/321925@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications