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

  Changed paths:
    M Source/WebCore/page/DragController.cpp
    M Source/WebCore/page/DragController.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation] Dropping a file on a file input in a cross-site iframe does 
nothing
<https://bugs.webkit.org/show_bug.cgi?id=325469>
<rdar://problem/188562610>

Reviewed by Ryosuke Niwa.

DragController::canProcessDrag() hit-tested from the local main frame, which 
doesn't exist in a cross-site iframe's
process, so dropping onto a file input, a color input, or editable content in a 
cross-site iframe did nothing.

Hit-test from the frame's local root instead. Also allow the dropped paths as 
attachments in the target frame's
process, and on iOS always answer the edit drag snapshot request.

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

* Source/WebCore/page/DragController.cpp:
(WebCore::DragController::tryDocumentDrag):
(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::canProcessDrag):
* Source/WebCore/page/DragController.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::propagateDragAndDrop):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didConcludeEditDrag):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, 
DropTextOnContentEditableInCrossOriginSubframe)):
(TestWebKitAPI::TEST(SiteIsolation, DropFileOnFileInputInCrossOriginSubframe)):

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



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

Reply via email to