Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3961ade934359c258f7bda6176f5f26c37f8f719
https://github.com/WebKit/WebKit/commit/3961ade934359c258f7bda6176f5f26c37f8f719
Author: Tim Horton <[email protected]>
Date: 2026-09-29 (Tue, 29 Sep 2026)
Changed paths:
M Source/WebKit/Shared/Cocoa/InteractionInformationAtPosition.h
M Source/WebKit/Shared/Cocoa/InteractionInformationAtPosition.mm
M
Source/WebKit/Shared/Cocoa/InteractionInformationAtPosition.serialization.in
M Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm
M Source/WebKit/WebProcess/WebPage/Cocoa/PositionInformationForWebPage.mm
M Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture
Tests/BasicAppKitGesturesTests.swift
Log Message:
-----------
[AppKit Gestures] Can't scrub video on sites that use fully custom <video>
progress UI
https://bugs.webkit.org/show_bug.cgi?id=325744
rdar://187521596
Reviewed by Abrar Rahman Protyasha.
Some sites use custom progress controls inside <video> which do not themselves
have the appropriate
ARIA role, nor are a detectable type of input, but which are /adjacent/ to a
hidden slider
(which is there for accessibility purposes). In that case, we should treat it
like a slider anyway.
Test: Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture
Tests/BasicAppKitGesturesTests.swift
* Source/WebKit/Shared/Cocoa/InteractionInformationAtPosition.h:
* Source/WebKit/Shared/Cocoa/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
* Source/WebKit/Shared/Cocoa/InteractionInformationAtPosition.serialization.in:
Add and propagate the "custom slider" bit.
* Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm:
(prefersDirectManipulation):
Respect the "custom slider" bit like we do the other kinds.
* Source/WebKit/WebProcess/WebPage/Cocoa/PositionInformationForWebPage.mm:
(WebKit::isARIASlider):
(WebKit::isCustomSlider):
(WebKit::selectionPositionInformation):
(WebKit::isVisuallyHidden):
Wander the DOM near the hit element, looking for a hidden slider. If one is
found,
assume that we're in a custom slider (or otherwise manipulable element).
Don't walk outside of the <video>'s container.
* Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture
Tests/BasicAppKitGesturesTests.swift:
Add a test for such a slider, including negative tests and a test that we don't
walk outside the container.
Canonical link: https://commits.webkit.org/322250@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications