Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b6a6f030b2287e57e7a3af51ca05fd999771ac95
      
https://github.com/WebKit/WebKit/commit/b6a6f030b2287e57e7a3af51ca05fd999771ac95
  Author: Wenson Hsieh <[email protected]>
  Date:   2024-09-10 (Tue, 10 Sep 2024)

  Changed paths:
    M Source/WebKit/UIProcess/ios/DragDropInteractionState.h
    M Source/WebKit/UIProcess/ios/DragDropInteractionState.mm
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Tools/TestRunnerShared/spi/UIKitSPIForTesting.h
    M Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm
    M Tools/TestWebKitAPI/cocoa/DragAndDropSimulator.h
    M Tools/TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm

  Log Message:
  -----------
  REGRESSION (283132@main): [visionOS] Unable to start drags over web content
https://bugs.webkit.org/show_bug.cgi?id=279482
rdar://135758350

Reviewed by Abrar Rahman Protyasha.

In 283132@main, I attempted to fix the build after UIKit removed support for 
the legacy drag
interaction SPI delegate, which was previously used before transitioning to 
BrowserEngineKit.
However, visionOS and Catalyst both still use this legacy codepath, and are now 
broken as a result
of that change.

To fix this, we revert the `Source/` changes in 283132@main, such that we're 
still compatible with
both legacy and BrowserEngineKit drag interaction codepaths, and additionally 
make the drag and drop
simulator in `Tools/` robust in both cases where BrowserEngineKit is used, or 
the legacy codepath is
used.

* Source/WebKit/UIProcess/ios/DragDropInteractionState.h:
(WebKit::DragDropInteractionState::BlockPtr<void):
(WebKit::DragDropInteractionState::BlockPtr<BOOL): Deleted.
* Source/WebKit/UIProcess/ios/DragDropInteractionState.mm:
(WebKit::DragDropInteractionState::prepareForDragSession):
(WebKit::DragDropInteractionState::dragSessionWillRequestAdditionalItem):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleDragStartRequest:]):
(-[WKContentView 
_dragInteraction:itemsForAddingToSession:withTouchAtPoint:completion:]):
(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView dragInteraction:prepareDragSession:completion:]):
(-[WKContentView 
dragInteraction:itemsForAddingToSession:forTouchAtPoint:completion:]):

Completely revert all changes to the `Source/` directory in 283132@main.

* Tools/TestRunnerShared/spi/UIKitSPIForTesting.h:
* Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST(DragAndDropTests, UnresponsivePageDoesNotHangUI)):
* Tools/TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* Tools/TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[WKWebView dragInteractionDelegate]):
(-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
(-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):

Adjust the codepaths that were modified in 283132@main, such that we preserve 
the non-
BrowserEngineKit test infrastructure as well as the new BrowserEngineKit path, 
depending on whether
`USE(BROWSERENGINEKIT)` is enabled.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to