Bug 314257

Summary: [Site Isolation] [iOS] File picker selection is dropped when <input type=file> is in a cross-origin iframe
Product: WebKit Reporter: zak ridouh <zakr>
Component: New BugsAssignee: zak ridouh <zakr>
Status: RESOLVED FIXED    
Severity: Normal CC: karlcow, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

zak ridouh
Reported 2026-05-06 16:32:56 PDT
With Site Isolation, an <input type=file> in a cross-origin iframe runs in a different WebContent process than the main frame. After the user picks a file, WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon was sending the reply IPCs with the main frame's PageID and granting the read sandbox extension to the main frame's process — so the iframe's WebContent never sees the result. input.files stays empty, and because its m_activeOpenPanelResultListener never clears, subsequent taps on the input are short-circuited by WebChromeClient::runOpenPanel. Route the reply IPCs and the NetworkProcess file-access grant through the WebOpenPanelResultListenerProxy that runOpenPanel created for the originating frame, matching how the non-display-string path already works.
Attachments
zak ridouh
Comment 1 2026-05-06 16:33:11 PDT
zak ridouh
Comment 2 2026-05-06 16:36:37 PDT
EWS
Comment 3 2026-05-20 17:54:21 PDT
Committed 313619@main (14ef33d019a7): <https://commits.webkit.org/313619@main> Reviewed commits have been landed. Closing PR #64417 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.