Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 57ac0275ddfdd84d68ee272bbafff7c5c429e300
      
https://github.com/WebKit/WebKit/commit/57ac0275ddfdd84d68ee272bbafff7c5c429e300
  Author: Charlie Wolfe <[email protected]>
  Date:   2026-07-26 (Sun, 26 Jul 2026)

  Changed paths:
    A 
LayoutTests/http/tests/site-isolation/mouse-events/resources/scroll-and-message-mouse-down-client-coordinates.html
    A 
LayoutTests/http/tests/site-isolation/mouse-events/resources/scrolled-iframe-client-coordinates.js
    A 
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates-expected.html
    A 
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates.html
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebCore/page/RemoteFrameGeometryTransformer.cpp
    M Source/WebCore/platform/Widget.h
    M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm

  Log Message:
  -----------
  [Site Isolation] REGRESSION(315872@main): Event coordinates are offset by the 
scroll position in isolated iframes
https://bugs.webkit.org/show_bug.cgi?id=320302
rdar://183236270

Reviewed by Kiet Ho.

Since 315872@main began synchronizing a frame's scroll position to the 
RemoteFrameViews in other
processes, the parent-side RemoteFrameView now carries the child's scroll 
offset, so the target
process applied it a second time when converting the point with 
windowToContents(). Event
coordinates in scrolled iframes were therefore offset by the iframe's scroll 
position.

The transformed point is consumed as a root view point by the process hosting 
the remote frame, so
use convertFromRootView() instead. This leaves the parent process responsible 
only for geometry it
owns and the target process responsible for its own scroll offset.

Test: 
http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates.html

* 
LayoutTests/http/tests/site-isolation/mouse-events/resources/scroll-and-message-mouse-down-client-coordinates.html:
 Added.
* 
LayoutTests/http/tests/site-isolation/mouse-events/resources/scrolled-iframe-client-coordinates.js:
 Added.
(addMarker):
(async event):
(clickInScrolledSubframe):
* 
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates-expected.html:
 Added.
* 
LayoutTests/http/tests/site-isolation/mouse-events/scrolled-iframe-client-coordinates.html:
 Added.
* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::userInputEventDataForRemoteFrame):
* Source/WebCore/page/RemoteFrameGeometryTransformer.cpp:
(WebCore::RemoteFrameGeometryTransformer::transformToRemoteFrameCoordinates 
const):
* Source/WebCore/platform/Widget.h:
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):

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



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

Reply via email to