Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f41fef74820141f8e75819c92579edad2757196
      
https://github.com/WebKit/WebKit/commit/8f41fef74820141f8e75819c92579edad2757196
  Author: Ahmad Saleem <[email protected]>
  Date:   2026-10-03 (Sat, 03 Oct 2026)

  Changed paths:
    A LayoutTests/http/wpt/testdriver/subframe-element-origin-expected.txt
    A LayoutTests/http/wpt/testdriver/subframe-element-origin.html
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-nonstandard-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-right-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-right-nonstandard-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-nonstandard-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-right-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-right-nonstandard-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_parent_capture_pointerType=mouse&preventDefault=-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_parent_capture_pointerType=mouse&preventDefault=pointerdown-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_click_is_a_pointerevent_mouse-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerrawupdate_remove_target.https-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock-expected.txt
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/resources/testdriver-vendor.js

  Log Message:
  -----------
  testdriver-vendor.js uses frame-local coordinates for action origins inside a 
subframe
https://bugs.webkit.org/show_bug.cgi?id=321140
rdar://184172049

Reviewed by Sam Sneddon.

Actions are hit-tested from the top window, but dispatchMouseActions(),
dispatchTouchActions() and dispatchWheelActions() each took the center of the
origin element's getBoundingClientRect() as-is. For an origin inside a
subframe those coordinates are frame-local, so the events landed wherever that
point happens to be in the top window instead of on the element, usually
missing the frame entirely.

test_driver_internal.click() already handles this by adding the element's
frame-to-root-view offset to the frame-local point. Factor that out into
originOffset() and use it for all three dispatchers, so the mouse, touch and
wheel paths agree with click(). A top-window origin computes exactly the same
point as before; only subframe origins change.

This does not fix ancestor <iframe> CSS transforms, which the frame-view
mapping does not compose (webkit.org/b/318752); as with click(), it composes
frame position and scroll only.

Rebaseline the pointerevents tests whose subframe subtests now actually run.
Their subframe halves previously reported missing events, empty event lists,
TIMEOUT or NOTRUN, and now pass. pointerevent_pointerrawupdate_remove_target
.https.html keeps a failure because WebKit does not fire pointerrawupdate.

* LayoutTests/http/wpt/testdriver/subframe-element-origin-expected.txt: Added.
* LayoutTests/http/wpt/testdriver/subframe-element-origin.html: Added.
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-nonstandard-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-right-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_mouse-right-nonstandard-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-nonstandard-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-right-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_attributes_pen-right-nonstandard-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_parent_capture_pointerType=mouse&preventDefault=-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_click_during_parent_capture_pointerType=mouse&preventDefault=pointerdown-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_click_is_a_pointerevent_mouse-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerevent_pointerrawupdate_remove_target.https-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock-expected.txt:
* LayoutTests/platform/ios/TestExpectations: Skip subframe-element-origin.html; 
its subframe origin shift is in root-view space, which the iOS touch path 
reinterprets as content coordinates.
* LayoutTests/resources/testdriver-vendor.js:
(async dispatchMouseActions):
(return.new.Promise): Deleted.
(async renderingUpdate): Deleted.
(async waitForScrollCompletion.await.new.Promise.): Deleted.
(async waitForScrollCompletion.await.new.Promise): Deleted.
(async waitForScrollCompletion): Deleted.
(async ensurePresentationUpdate.return.new.Promise): Deleted.
(async ensurePresentationUpdate): Deleted.
(async dispatchWheelActions.switch.await.new.Promise): Deleted.
(async dispatchWheelActions): Deleted.
(convertSeleniumKeyCode): Deleted.
(async element): Deleted.
(window.test_driver_internal.send_keys): Deleted.
(async const): Deleted.
(await.new.Promise): Deleted.
(window.test_driver_internal.click): Deleted.
(async let): Deleted.
(window.test_driver_internal.action_sequence): Deleted.
(async switch): Deleted.
(window.test_driver_internal.set_permission): Deleted.
(async context): Deleted.
(window.test_driver_internal.get_named_cookie): Deleted.
(window.test_driver_internal.minimize_window): Deleted.
(async if): Deleted.
(window.test_driver_internal.set_window_rect): Deleted.
(window.test_driver_internal.get_global_privacy_control): Deleted.
(window.test_driver_internal.set_global_privacy_control): Deleted.

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



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

Reply via email to