[webkit-changes] [WebKit/WebKit] c61ac7: [Pointer Events] Implement getPredictedEvents API
Richard Robinson
noreply at github.com
Fri Aug 2 08:58:11 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c61ac73a566f8da79f55c6e83b00952202edf3bf
https://github.com/WebKit/WebKit/commit/c61ac73a566f8da79f55c6e83b00952202edf3bf
Author: Richard Robinson <richard_robinson2 at apple.com>
Date: 2024-08-02 (Fri, 02 Aug 2024)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/pointerevents/idlharness.https.window-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_constructor-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_constructor.https-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/pointerevents/predicted_events_attributes_mouse-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/pointerevents/predicted_events_attributes_pen-expected.txt
A LayoutTests/platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerevent_constructor-expected.txt
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/dom/DragEvent.cpp
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/MouseEvent.cpp
M Source/WebCore/dom/MouseEvent.h
M Source/WebCore/dom/PointerEvent.cpp
M Source/WebCore/dom/PointerEvent.h
M Source/WebCore/dom/PointerEvent.idl
M Source/WebCore/dom/SimulatedClick.cpp
M Source/WebCore/dom/WheelEvent.cpp
M Source/WebCore/dom/ios/MouseEventIOS.cpp
M Source/WebCore/dom/ios/PointerEventIOS.cpp
M Source/WebCore/dom/wpe/PointerEventWPE.cpp
M Source/WebCore/page/PointerCaptureController.cpp
M Source/WebCore/platform/PlatformMouseEvent.h
M Source/WebCore/platform/PlatformTouchEvent.h
M Source/WebKit/Shared/NativeWebTouchEvent.h
M Source/WebKit/Shared/WebEvent.serialization.in
M Source/WebKit/Shared/WebEventConversion.cpp
M Source/WebKit/Shared/WebMouseEvent.cpp
M Source/WebKit/Shared/WebMouseEvent.h
M Source/WebKit/Shared/WebTouchEvent.cpp
M Source/WebKit/Shared/WebTouchEvent.h
M Source/WebKit/Shared/gtk/WebEventFactory.cpp
M Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm
M Source/WebKit/Shared/libwpe/WebEventFactory.cpp
M Source/WebKit/Shared/wpe/WebEventFactoryWPE.cpp
M Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.h
M Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.mm
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm
M Source/WebKitLegacy/mac/WebView/WebPDFView.mm
M Tools/TestWebKitAPI/Tests/ios/TouchEventTests.mm
Log Message:
-----------
[Pointer Events] Implement getPredictedEvents API
https://bugs.webkit.org/show_bug.cgi?id=264002
rdar://117767174
Reviewed by Abrar Rahman Protyasha.
Implement the `getPredictedEvents` function of the `PointerEvent` interface, as per the corresponding
UI events specification (https://w3c.github.io/pointerevents/#dom-pointerevent-getpredictedevents).
On non-iOS platforms, this will return an empty array. On iOS, the predicted events are generated via
UIKit's `predictedTouchesForTouch` method.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/dom/DragEvent.cpp:
(WebCore::DragEvent::DragEvent):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
(WebCore::Element::dispatchMouseForceWillBegin):
* Source/WebCore/dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
* Source/WebCore/dom/MouseEvent.h:
(WebCore::MouseEvent::predictedEvents const):
* Source/WebCore/dom/PointerEvent.cpp:
(WebCore::PointerEvent::PointerEvent):
(WebCore::createPredictedPointerEvents):
(WebCore::m_predictedEvents):
(WebCore::PointerEvent::getCoalescedEvents const):
(WebCore::PointerEvent::getPredictedEvents const):
(WebCore::PointerEvent::receivedTarget):
(WebCore::m_coalescedEvents): Deleted.
* Source/WebCore/dom/PointerEvent.h:
* Source/WebCore/dom/PointerEvent.idl:
* Source/WebCore/dom/SimulatedClick.cpp:
* Source/WebCore/dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
* Source/WebCore/dom/ios/MouseEventIOS.cpp:
(WebCore::MouseEvent::create):
* Source/WebCore/dom/ios/PointerEventIOS.cpp:
(WebCore::PointerEvent::create):
(WebCore::PointerEvent::PointerEvent):
(WebCore::m_predictedEvents):
(WebCore::m_coalescedEvents): Deleted.
* Source/WebCore/page/PointerCaptureController.cpp:
(WebCore::PointerCaptureController::dispatchEventForTouchAtIndex):
* Source/WebCore/platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::predictedEvents const):
* Source/WebCore/platform/PlatformTouchEvent.h:
(WebCore::PlatformTouchEvent::predictedEvents const):
* Source/WebKit/Shared/NativeWebTouchEvent.h:
* Source/WebKit/Shared/WebEvent.serialization.in:
* Source/WebKit/Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
* Source/WebKit/Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
* Source/WebKit/Shared/WebMouseEvent.h:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::setPredictedEvents):
(WebKit::WebMouseEvent::predictedEvents const):
* Source/WebKit/Shared/WebTouchEvent.h:
(WebKit::WebTouchEvent::WebTouchEvent):
(WebKit::WebTouchEvent::predictedEvents const):
(WebKit::WebTouchEvent::setPredictedEvents):
* Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::extractPredictedWebTouchEvents):
* Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.h:
* Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.mm:
(-[WKTouchEventsGestureRecognizer reset]):
(-[WKTouchEventsGestureRecognizer _recordTouches:type:coalescedTouches:predictedTouches:]):
(-[WKTouchEventsGestureRecognizer _processTouches:withEvent:type:]):
(-[WKTouchEventsGestureRecognizer _recordTouches:type:coalescedTouches:]): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::navigateToURL):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
* Source/WebKitLegacy/ios/WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
* Source/WebKitLegacy/mac/WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
* Tools/TestWebKitAPI/Tests/ios/TouchEventTests.mm:
Canonical link: https://commits.webkit.org/281756@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