Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8dc5033bb0ead7dc8b4cabba88a45f5b1cba9c88
https://github.com/WebKit/WebKit/commit/8dc5033bb0ead7dc8b4cabba88a45f5b1cba9c88
Author: Lily Spiniolas <[email protected]>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M LayoutTests/fast/events/constructors/mouse-event-constructor-expected.txt
M LayoutTests/fast/events/constructors/mouse-event-constructor.html
M LayoutTests/fast/events/constructors/wheel-event-constructor-expected.txt
M LayoutTests/fast/events/constructors/wheel-event-constructor.html
M LayoutTests/fast/events/touch/ios/touches-client-coords-after-zoom.html
A LayoutTests/fast/events/touch/resources/frame-touchevent-forwarder.html
M LayoutTests/fast/events/touch/touch-coords-in-zoom-and-scroll-expected.txt
M LayoutTests/fast/events/touch/touch-coords-in-zoom-and-scroll.html
A LayoutTests/fast/events/touch/touch-fractional-coordinates-expected.txt
A LayoutTests/fast/events/touch/touch-fractional-coordinates.html
M
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates.html
M
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates_mouse-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates_pen-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates_untrusted-expected.txt
M LayoutTests/platform/gtk/TestExpectations
M
LayoutTests/platform/ios/fast/events/touch/ios/touches-client-coords-after-zoom-expected.txt
M LayoutTests/platform/win/TestExpectations
M LayoutTests/platform/wpe/TestExpectations
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/dom/Document+Touch.idl
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/DocumentTouch.cpp
M Source/WebCore/dom/DocumentTouch.h
M Source/WebCore/dom/MouseEvent.cpp
M Source/WebCore/dom/MouseEvent.h
M Source/WebCore/dom/MouseEvent.idl
M Source/WebCore/dom/MouseEventInit.h
M Source/WebCore/dom/MouseEventInit.idl
M Source/WebCore/dom/MouseRelatedEvent.cpp
M Source/WebCore/dom/MouseRelatedEvent.h
M Source/WebCore/dom/PointerEvent.cpp
M Source/WebCore/dom/PointerEvent.h
M Source/WebCore/dom/SimulatedClick.cpp
M Source/WebCore/dom/Touch.cpp
M Source/WebCore/dom/Touch.h
M Source/WebCore/dom/Touch.idl
M Source/WebCore/dom/TouchEvent.cpp
M Source/WebCore/dom/TouchEvent.h
M Source/WebCore/dom/UIEvent.cpp
M Source/WebCore/dom/UIEvent.h
M Source/WebCore/dom/UIEvent.idl
M Source/WebCore/dom/ios/PointerEventIOS.cpp
M Source/WebCore/dom/wpe/PointerEventWPE.cpp
M Source/WebCore/html/CheckboxInputType.cpp
M Source/WebCore/html/RangeInputType.cpp
M Source/WebCore/html/shadow/SliderThumbElement.cpp
M Source/WebCore/inspector/InspectorFrontendHost.cpp
M Source/WebCore/page/AutoscrollController.cpp
M Source/WebCore/page/ContextMenuController.cpp
M Source/WebCore/page/DebugPageOverlays.cpp
M Source/WebCore/page/DragController.cpp
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/EventHandler.h
M Source/WebCore/page/FrameView.cpp
M Source/WebCore/page/FrameView.h
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/PageOverlay.cpp
M Source/WebCore/page/PointerCaptureController.cpp
M Source/WebCore/page/PointerCaptureController.h
M Source/WebCore/page/RemoteFrameGeometryTransformer.cpp
M Source/WebCore/page/RemoteFrameGeometryTransformer.h
M Source/WebCore/page/ResourceUsageOverlay.cpp
M Source/WebCore/page/ios/EventHandlerIOS.mm
M Source/WebCore/page/mac/EventHandlerMac.mm
M Source/WebCore/page/mac/ImageOverlayControllerMac.mm
M Source/WebCore/page/mac/ServicesOverlayController.mm
M Source/WebCore/platform/PlatformMouseEvent.h
M Source/WebCore/platform/PlatformTouchPoint.h
M Source/WebCore/platform/ScrollView.cpp
M Source/WebCore/platform/ScrollView.h
M Source/WebCore/platform/Scrollbar.cpp
M Source/WebCore/platform/Widget.cpp
M Source/WebCore/platform/Widget.h
A Source/WebCore/platform/graphics/DoublePoint.cpp
A Source/WebCore/platform/graphics/DoublePoint.h
A Source/WebCore/platform/graphics/DoubleRect.cpp
A Source/WebCore/platform/graphics/DoubleRect.h
A Source/WebCore/platform/graphics/DoubleSize.cpp
A Source/WebCore/platform/graphics/DoubleSize.h
M Source/WebCore/platform/graphics/FloatPoint.h
M Source/WebCore/platform/graphics/FloatSize.h
M Source/WebCore/platform/graphics/Font.cpp
M Source/WebCore/platform/graphics/LayoutPoint.h
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
M Source/WebCore/platform/graphics/coretext/FontCoreText.cpp
M Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm
M Source/WebCore/platform/ios/ScrollAnimatorIOS.mm
M Source/WebCore/platform/ios/WidgetIOS.mm
M Source/WebCore/platform/mac/PlatformEventFactoryMac.h
M Source/WebCore/platform/mac/PlatformEventFactoryMac.mm
M Source/WebCore/platform/mac/WidgetMac.mm
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/rendering/RenderListBox.cpp
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/testing/MockPageOverlayClient.cpp
M Source/WebKit/DerivedSources.make
M Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.h
M Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.mm
M Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.serialization.in
M Source/WebKit/Shared/Cocoa/CoreIPCNSValue.h
M Source/WebKit/Shared/Cocoa/CoreIPCNSValue.mm
M Source/WebKit/Shared/Cocoa/CoreIPCNSValue.serialization.in
M Source/WebKit/Shared/Extensions/WebExtensionTab.serialization.in
M Source/WebKit/Shared/Extensions/WebExtensionTabParameters.h
M Source/WebKit/Shared/Extensions/WebExtensionWindow.serialization.in
M Source/WebKit/Shared/Extensions/WebExtensionWindowParameters.h
M Source/WebKit/Shared/NativeWebMouseEvent.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
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/WebPlatformTouchPoint.cpp
M Source/WebKit/Shared/WebTouchEvent.h
R Source/WebKit/Shared/graphics/DoubleGeometry.h
R Source/WebKit/Shared/graphics/DoubleGeometry.serialization.in
M Source/WebKit/Shared/gtk/NativeWebMouseEventGtk.cpp
M Source/WebKit/Shared/gtk/WebEventFactory.cpp
M Source/WebKit/Shared/gtk/WebEventFactory.h
M Source/WebKit/Shared/ios/NativeWebMouseEventIOS.mm
M Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm
M Source/WebKit/Shared/mac/WebEventFactory.mm
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/ios/WKMouseInteraction.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm
M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp
M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
M
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.mm
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
M Source/WebKit/WebProcess/WebPage/mac/PageBannerMac.mm
M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm
Log Message:
-----------
Enable fractional coordinates for Pointer Events and Touch Events
https://bugs.webkit.org/show_bug.cgi?id=133180
rdar://9564176
Reviewed by Abrar Rahman Protyasha.
Pointer Events and Touch Events now expose fractional coordinate values for
clientX/clientY, pageX/pageY, offsetX/offsetY, and screenX/screenY.
Mouse Events still report whole values. These changes affect all platforms.
For pointer events, events with type `click`, `auxclick`, or `contextmenu`
report floored values.
Create new versions of `DoublePoint`, `DoubleRect`, and `DoubleSize` in WebCore.
These versions retain all existing functionality, and include new additions
which
allow the types to be used for pointer event location calculations.
Test coverage:
* Fractional coordinates for mouse and pen pointer events from within a
subframe are tested by
`imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates.html`
which now passes on macOS, GTK, WPE, and Windows. This test also ensures that
click events are not fractional.
* Fractional coordinates for touch events from within a subframe are tested by
`fast/events/touch/touch-fractional-coordinates.html`.
* Fractional coordinates for mouse pointer events on iOS from within a subframe
are tested by
new API tests `FractionalCoordinatesInSimpleIFrame`,
`FractionalCoordinatesInRotatedIFrame`
& `FractionalCoordinatesInScaledIFrame`.
*
`imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates.html`
now
checks both client and page coordinates to increase the robustness of the
test.
These changes build upon the following proposed patch by Sun Shin (@xingri):
https://github.com/WebKit/WebKit/pull/31867
(Additionally, updated `setContentsToPlatformLayer` to take a
`PlatformLayerContainer` instead of a
`PlatformLayer *` due to a safer-cpp issue in order to improve safety.)
* LayoutTests/fast/events/constructors/mouse-event-constructor-expected.txt:
* LayoutTests/fast/events/constructors/mouse-event-constructor.html:
* LayoutTests/fast/events/constructors/wheel-event-constructor-expected.txt:
* LayoutTests/fast/events/constructors/wheel-event-constructor.html:
* LayoutTests/fast/events/touch/ios/touches-client-coords-after-zoom.html:
* LayoutTests/fast/events/touch/resources/frame-touchevent-forwarder.html:
Added.
* LayoutTests/fast/events/touch/touch-coords-in-zoom-and-scroll-expected.txt:
* LayoutTests/fast/events/touch/touch-coords-in-zoom-and-scroll.html:
* LayoutTests/fast/events/touch/touch-fractional-coordinates-expected.txt:
Added.
* LayoutTests/fast/events/touch/touch-fractional-coordinates.html: Added.
*
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates.html:
*
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates_mouse-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates_pen-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_fractional_coordinates_untrusted-expected.txt:
* LayoutTests/platform/gtk/TestExpectations:
*
LayoutTests/platform/ios/fast/events/touch/ios/touches-client-coords-after-zoom-expected.txt:
* LayoutTests/platform/win/TestExpectations:
* LayoutTests/platform/wpe/TestExpectations:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/Document+Touch.idl:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::showPlaybackTargetPicker):
* Source/WebCore/dom/DocumentTouch.cpp:
(WebCore::DocumentTouch::createTouch):
* Source/WebCore/dom/DocumentTouch.h:
* Source/WebCore/dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
* Source/WebCore/dom/MouseEvent.h:
* Source/WebCore/dom/MouseEvent.idl:
* Source/WebCore/dom/MouseEventInit.h:
* Source/WebCore/dom/MouseEventInit.idl:
* Source/WebCore/dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::MouseRelatedEvent::init):
(WebCore::MouseRelatedEvent::initCoordinates):
(WebCore::MouseRelatedEvent::pagePointToClientPoint):
(WebCore::MouseRelatedEvent::pagePointToAbsolutePoint):
(WebCore::MouseRelatedEvent::computeRelativePosition):
(WebCore::MouseRelatedEvent::locationInRootViewCoordinates const):
(WebCore::MouseRelatedEvent::offsetX):
(WebCore::MouseRelatedEvent::offsetY):
(WebCore::MouseRelatedEvent::pageX const):
(WebCore::MouseRelatedEvent::pageY const):
(WebCore::finiteValue):
(WebCore::MouseRelatedEvent::screenX const):
(WebCore::MouseRelatedEvent::screenY const):
(WebCore::MouseRelatedEvent::clientX const):
(WebCore::MouseRelatedEvent::clientY const):
* Source/WebCore/dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::screenLocation const):
(WebCore::MouseRelatedEvent::windowLocation const):
(WebCore::MouseRelatedEvent::clientLocation const):
(WebCore::MouseRelatedEvent::absoluteLocation const):
(WebCore::MouseRelatedEvent::hasCachedRelativePosition const):
(WebCore::MouseRelatedEvent::offsetLocation const):
(WebCore::MouseRelatedEvent::pageLocation const):
(WebCore::MouseRelatedEvent::setScreenLocation):
(WebCore::MouseRelatedEvent::screenX const): Deleted.
(WebCore::MouseRelatedEvent::screenY const): Deleted.
(WebCore::MouseRelatedEvent::clientX const): Deleted.
(WebCore::MouseRelatedEvent::clientY const): Deleted.
* Source/WebCore/dom/PointerEvent.cpp:
(WebCore::PointerEvent::PointerEvent):
(WebCore::m_fractionalCoordinatesAllowed):
(WebCore::PointerEvent::fractionalCoordinatesAllowedForType):
(WebCore::PointerEvent::adjustedCoordinateForType const):
(WebCore::PointerEvent::offsetX):
(WebCore::PointerEvent::offsetY):
(WebCore::m_isPrimary): Deleted.
* Source/WebCore/dom/PointerEvent.h:
(WebCore::PointerEvent::create):
(WebCore::PointerEvent::fractionalCoordinatesAllowed const):
(WebCore::PointerEvent::PointerEvent):
* Source/WebCore/dom/SimulatedClick.cpp:
* Source/WebCore/dom/Touch.cpp:
(WebCore::contentsOffset):
(WebCore::scaledLocation):
(WebCore::Touch::Touch):
(WebCore::Touch::cloneWithNewTarget const):
(WebCore::contentsX): Deleted.
(WebCore::contentsY): Deleted.
* Source/WebCore/dom/Touch.h:
(WebCore::Touch::create):
(WebCore::Touch::clientX const):
(WebCore::Touch::clientY const):
(WebCore::Touch::screenX const):
(WebCore::Touch::screenY const):
(WebCore::Touch::pageX const):
(WebCore::Touch::pageY const):
(WebCore::Touch::webkitRadiusX const):
(WebCore::Touch::webkitRadiusY const):
(WebCore::Touch::absoluteLocation const):
* Source/WebCore/dom/Touch.idl:
* Source/WebCore/dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
* Source/WebCore/dom/TouchEvent.h:
* Source/WebCore/dom/UIEvent.cpp:
(WebCore::UIEvent::screenX const):
(WebCore::UIEvent::screenY const):
(WebCore::UIEvent::pageX const):
(WebCore::UIEvent::pageY const):
(WebCore::UIEvent::clientX const):
(WebCore::UIEvent::clientY const):
* Source/WebCore/dom/UIEvent.h:
* Source/WebCore/dom/UIEvent.idl:
* Source/WebCore/dom/ios/PointerEventIOS.cpp:
(WebCore::PointerEvent::create):
(WebCore::PointerEvent::PointerEvent):
* Source/WebCore/dom/wpe/PointerEventWPE.cpp:
(WebCore::PointerEvent::create):
(WebCore::PointerEvent::PointerEvent):
* Source/WebCore/html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::handleMouseDownEvent):
(WebCore::CheckboxInputType::handleMouseMoveEvent):
(WebCore::CheckboxInputType::handleTouchEvent):
* Source/WebCore/html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
* Source/WebCore/html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
* Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
* Source/WebCore/page/AutoscrollController.cpp:
(WebCore::AutoscrollController::autoscrollTimerFired):
* Source/WebCore/page/ContextMenuController.cpp:
(WebCore::ContextMenuController::maybeCreateContextMenu):
* Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::InteractionRegionOverlay::mouseEvent):
* Source/WebCore/page/DragController.cpp:
(WebCore::DragController::startDrag):
* Source/WebCore/page/EventHandler.cpp:
(WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::eventMayStartDrag const):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::startPanScrolling):
(WebCore::EventHandler::lastKnownMousePosition const):
(WebCore::EventHandler::updateCursor):
(WebCore::documentPointForWindowPoint):
(WebCore::scrollbarForMouseEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::targetPositionInWindowForSelectionAutoscroll const):
(WebCore::EventHandler::handleWheelEventInternal):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::handleTouchEvent):
(WebCore::EventHandler::setLastKnownMousePosition):
* Source/WebCore/page/EventHandler.h:
* Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::convertFromContainingViewToRenderer const):
(WebCore::FrameView::convertFromContainingView const):
* Source/WebCore/page/FrameView.h:
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::lastKnownMousePositionInView const):
(WebCore::LocalFrameView::absoluteToDocumentPoint const):
(WebCore::LocalFrameView::documentToClientPoint const):
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/page/PageOverlay.cpp:
(WebCore::PageOverlay::mouseEvent):
* Source/WebCore/page/PointerCaptureController.cpp:
(WebCore::PointerCaptureController::dispatchOverOrOutEvent):
(WebCore::PointerCaptureController::dispatchEnterOrLeaveEvent):
(WebCore::PointerCaptureController::dispatchEventForTouchAtIndex):
* Source/WebCore/page/PointerCaptureController.h:
* Source/WebCore/page/RemoteFrameGeometryTransformer.cpp:
(WebCore::RemoteFrameGeometryTransformer::transformToRemoteFrameCoordinates
const):
* Source/WebCore/page/RemoteFrameGeometryTransformer.h:
* Source/WebCore/page/ResourceUsageOverlay.cpp:
(WebCore::ResourceUsageOverlay::mouseEvent):
* Source/WebCore/page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::tryToBeginDragAtPoint):
* Source/WebCore/page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::targetPositionInWindowForSelectionAutoscroll const):
* Source/WebCore/page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::platformHandleMouseEvent):
* Source/WebCore/page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::mouseEvent):
* Source/WebCore/platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::position const):
(WebCore::PlatformMouseEvent::globalPosition const):
(WebCore::PlatformMouseEvent::movementDelta const):
(WebCore::PlatformMouseEvent::unadjustedMovementDelta const):
* Source/WebCore/platform/PlatformTouchPoint.h:
(WebCore::PlatformTouchPoint::PlatformTouchPoint):
(WebCore::PlatformTouchPoint::screenPos const):
(WebCore::PlatformTouchPoint::pos const):
(WebCore::PlatformTouchPoint::radius const):
(WebCore::PlatformTouchPoint::radiusX const): Deleted.
(WebCore::PlatformTouchPoint::radiusY const): Deleted.
* Source/WebCore/platform/ScrollView.cpp:
(WebCore::ScrollView::viewToContents const):
(WebCore::ScrollView::contentsToView const):
(WebCore::ScrollView::rootViewToContents const):
(WebCore::ScrollView::contentsToRootView const):
(WebCore::ScrollView::windowToContents const):
(WebCore::ScrollView::convertChildToSelf const):
(WebCore::ScrollView::convertSelfToChild const):
* Source/WebCore/platform/ScrollView.h:
* Source/WebCore/platform/Scrollbar.cpp:
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::mouseDown):
* Source/WebCore/platform/Widget.cpp:
(WebCore::Widget::convertToRootView const):
(WebCore::Widget::convertFromRootView const):
(WebCore::Widget::convertFromContainingWindow const):
(WebCore::Widget::convertToContainingView const):
(WebCore::Widget::convertFromContainingView const):
(WebCore::Widget::convertFromContainingWindowToRoot):
* Source/WebCore/platform/Widget.h:
* Source/WebCore/platform/graphics/DoublePoint.cpp: Copied from
Source/WebCore/dom/DocumentTouch.h.
(WebCore::DoublePoint::DoublePoint):
(WebCore::DoublePoint::operator CGPoint const):
(WebCore::DoublePoint::toJSONObject const):
(WebCore::operator<<):
* Source/WebCore/platform/graphics/DoublePoint.h: Added.
(WebCore::DoublePoint::DoublePoint):
(WebCore::DoublePoint::zero):
(WebCore::DoublePoint::isZero const):
(WebCore::DoublePoint::x const):
(WebCore::DoublePoint::y const):
(WebCore::DoublePoint::move):
(WebCore::DoublePoint::moveBy):
(WebCore::DoublePoint::scale):
(WebCore::DoublePoint::scaled const):
(WebCore::DoublePoint::toCG const):
(WebCore::operator+):
(WebCore::operator-):
(WebCore::flooredIntPoint):
(WebCore::roundedIntPoint):
(WebCore::toDoubleSize):
(WTF::LogArgument<WebCore::DoublePoint>::toString):
* Source/WebCore/platform/graphics/DoubleRect.cpp: Copied from
Source/WebCore/dom/MouseEventInit.h.
(WebCore::DoubleRect::DoubleRect):
(WebCore::DoubleRect::operator CGRect const):
* Source/WebCore/platform/graphics/DoubleRect.h: Copied from
Source/WebCore/dom/DocumentTouch.h.
(WebCore::DoubleRect::DoubleRect):
(WebCore::DoubleRect::location const):
(WebCore::DoubleRect::size const):
(WebCore::DoubleRect::toCG const):
* Source/WebCore/platform/graphics/DoubleSize.cpp: Copied from
Source/WebCore/dom/MouseEventInit.h.
(WebCore::DoubleSize::DoubleSize):
(WebCore::DoubleSize::operator CGSize const):
* Source/WebCore/platform/graphics/DoubleSize.h: Copied from
Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.h.
(WebCore::DoubleSize::DoubleSize):
(WebCore::DoubleSize::width const):
(WebCore::DoubleSize::height const):
(WebCore::DoubleSize::toCG const):
(WebCore::DoubleSize::scaledBy const):
* Source/WebCore/platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::FloatPoint):
(WebCore::FloatPoint::scaledBy const):
(WebCore::FloatPoint::operator DoublePoint const):
(WebCore::roundedIntPoint):
* Source/WebCore/platform/graphics/FloatSize.h:
(WebCore::FloatSize::scaledBy const):
(WebCore::FloatSize::operator DoubleSize const):
* Source/WebCore/platform/graphics/Font.cpp:
(WebCore::operator<<):
* Source/WebCore/platform/graphics/LayoutPoint.h:
(WebCore::LayoutPoint::LayoutPoint):
(WebCore::LayoutPoint::operator DoublePoint const):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToVideoElement):
* Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
* Source/WebCore/platform/graphics/coretext/FontCoreText.cpp:
(WebCore::Font::applyTransforms const):
* Source/WebCore/platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::pointForEvent):
(WebCore::globalPointForEvent):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
* Source/WebCore/platform/ios/ScrollAnimatorIOS.mm:
(WebCore::ScrollAnimatorIOS::handleTouchEvent):
* Source/WebCore/platform/ios/WidgetIOS.mm:
(WebCore::Widget::convertFromContainingWindowToRoot):
* Source/WebCore/platform/mac/PlatformEventFactoryMac.h:
* Source/WebCore/platform/mac/PlatformEventFactoryMac.mm:
(WebCore::pointForEvent):
(WebCore::unadjustedMovementForEvent):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
* Source/WebCore/platform/mac/WidgetMac.mm:
(WebCore::Widget::convertFromContainingWindowToRoot):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::panScrollFromPoint):
* Source/WebCore/rendering/RenderListBox.cpp:
(WebCore::RenderListBox::panScroll):
(WebCore::RenderListBox::autoscroll):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteToLocal const):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::absoluteToLocal):
* Source/WebCore/testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::mouseEvent):
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.h:
(WebKit::CoreIPCNSShadow::CoreIPCNSShadow):
* Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.mm:
* Source/WebKit/Shared/Cocoa/CoreIPCNSShadow.serialization.in:
* Source/WebKit/Shared/Cocoa/CoreIPCNSValue.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSValue.mm:
(WebKit::CoreIPCNSValue::toID const):
* Source/WebKit/Shared/Cocoa/CoreIPCNSValue.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionTab.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionTabParameters.h:
* Source/WebKit/Shared/Extensions/WebExtensionWindow.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionWindowParameters.h:
* Source/WebKit/Shared/NativeWebMouseEvent.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/WebEvent.serialization.in:
* Source/WebKit/Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
* Source/WebKit/Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
* Source/WebKit/Shared/WebMouseEvent.h:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::position const):
(WebKit::WebMouseEvent::setPosition):
(WebKit::WebMouseEvent::globalPosition const):
(WebKit::WebMouseEvent::unadjustedMovementDelta const):
* Source/WebKit/Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
* Source/WebKit/Shared/WebTouchEvent.h:
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
(WebKit::WebPlatformTouchPoint::locationInRootView const):
(WebKit::WebPlatformTouchPoint::locationInViewport const):
(WebKit::WebTouchEvent::WebTouchEvent):
(WebKit::WebTouchEvent::position const):
(WebKit::WebPlatformTouchPoint::screenPosition const):
(WebKit::WebPlatformTouchPoint::position const):
(WebKit::WebPlatformTouchPoint::radius const):
* Source/WebKit/Shared/graphics/DoubleGeometry.h: Removed.
* Source/WebKit/Shared/graphics/DoubleGeometry.serialization.in: Removed.
* Source/WebKit/Shared/gtk/NativeWebMouseEventGtk.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
* Source/WebKit/Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
* Source/WebKit/Shared/gtk/WebEventFactory.h:
* Source/WebKit/Shared/ios/NativeWebMouseEventIOS.mm:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
* Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::positionForCGPoint):
* Source/WebKit/Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseButtonPressed):
(webkitWebViewBaseButtonReleased):
(webkitWebViewBaseEnter):
(webkitWebViewBaseMotion):
(webkitWebViewBaseLeave):
(webkitWebViewBaseSynthesizeMouseEvent):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateTouchEventTracking):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _handleTouchActionsForTouchEvent:]):
* Source/WebKit/UIProcess/ios/WKMouseInteraction.mm:
(-[WKMouseInteraction createMouseEventWithType:wasCancelled:]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm:
(WebKit::toWebAPI):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::handleMouseEvent):
(WebKit::PDFPlugin::handleContextMenuEvent):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::lastKnownMousePositionInView const):
*
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.mm:
(WebKit::PDFDataDetectorOverlayController::handleMouseEvent):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::handleMouseEvent):
(WebKit::UnifiedPDFPlugin::handleContextMenuEvent):
(WebKit::UnifiedPDFPlugin::createContextMenu const):
(WebKit::UnifiedPDFPlugin::handleSyntheticClick):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::handleContextMenuEvent):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rectForElementAtInteractionLocation const):
(WebKit::WebPage::focusedElementInformation):
* Source/WebKit/WebProcess/WebPage/mac/PageBannerMac.mm:
(WebKit::PageBanner::mouseEvent):
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::shouldDelayWindowOrderingEvent):
(WebKit::WebPage::requestAcceptsFirstMouse):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(TEST_F(iOSMouseSupport, FractionalCoordinatesInSimpleIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInRotatedIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInScaledIFrame)):
Canonical link: https://commits.webkit.org/298383@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