Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dd60c34a7e7e2903c7094117648311e314b10496
      
https://github.com/WebKit/WebKit/commit/dd60c34a7e7e2903c7094117648311e314b10496
  Author: Lily Spiniolas <[email protected]>
  Date:   2025-11-17 (Mon, 17 Nov 2025)

  Changed paths:
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebCore/page/EventHandler.h
    M Source/WebCore/page/RemoteUserInputEventData.h
    M Source/WebCore/rendering/HitTestResult.cpp
    M Source/WebCore/rendering/HitTestResult.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm

  Log Message:
  -----------
  [Site isolation] Page and client coordinates of pointer events are always 
integers in cross-origin frames
https://bugs.webkit.org/show_bug.cgi?id=302550
rdar://164027526

Reviewed by Aditya Keerthi and Abrar Rahman Protyasha.

Update HitTestResult to store the point in the inner node frame as a DoublePoint
instead of a LayoutPoint, and update RemoteUserInputEventData to store the
transformed point as a DoublePoint instead of an IntPoint.

Tested on iOS by the following new layout tests:

iOSMouseSupport.FractionalCoordinatesInSimpleIFrameCrossOrigin
iOSMouseSupport.FractionalCoordinatesInRotatedIFrameCrossOrigin
iOSMouseSupport.FractionalCoordinatesInScaledIFrameCrossOrigin

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::prepareMouseEvent):
* Source/WebCore/dom/Document.h:
* Source/WebCore/page/EventHandler.cpp:
(WebCore::documentPointForWindowPoint):
(WebCore::EventHandler::userInputEventDataForRemoteFrame):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::handleWheelEventInternal):
(WebCore::EventHandler::dragSourceEndedAt):
* Source/WebCore/page/EventHandler.h:
* Source/WebCore/page/RemoteUserInputEventData.h:
* Source/WebCore/rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::append):
* Source/WebCore/rendering/HitTestResult.h:
(WebCore::HitTestResult::pointInInnerNodeFrame const):
(WebCore::HitTestResult::doublePointInInnerNodeFrame const):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::dragEnded):
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::didPerformImmediateActionHitTest):
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::potentialTapAtPosition):
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::potentialTapAtPosition):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(TEST_F(iOSMouseSupport, FractionalCoordinatesInSimpleIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInRotatedIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInScaledIFrame)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInSimpleIFrameCrossOrigin)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInRotatedIFrameCrossOrigin)):
(TEST_F(iOSMouseSupport, FractionalCoordinatesInScaledIFrameCrossOrigin)):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to