[webkit-changes] [WebKit/WebKit] b6a6f0: REGRESSION (283132 at main): [visionOS] Unable to sta...
Wenson Hsieh
noreply at github.com
Tue Sep 10 23:19:02 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b6a6f030b2287e57e7a3af51ca05fd999771ac95
https://github.com/WebKit/WebKit/commit/b6a6f030b2287e57e7a3af51ca05fd999771ac95
Author: Wenson Hsieh <wenson_hsieh at apple.com>
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 at 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 at 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 at 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 at 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 at 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
More information about the webkit-changes
mailing list