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