Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: af3beda8beed365c8f045920742d74f428fe1e79
https://github.com/WebKit/WebKit/commit/af3beda8beed365c8f045920742d74f428fe1e79
Author: Joanne Pan <[email protected]>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
A
LayoutTests/fast/events/touch/ios/netflix-volume-slider-touch-action-quirk-expected.txt
A
LayoutTests/fast/events/touch/ios/netflix-volume-slider-touch-action-quirk.html
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h
M Source/WebCore/page/QuirksData.h
M Source/WebCore/style/StyleAdjuster.cpp
Log Message:
-----------
netflix.com: v2: Webpage scrolls when adjusting volume slider (VisionOS /
iPad) -- narrower fix after revert of 314097@main
https://bugs.webkit.org/show_bug.cgi?id=316263
rdar://178545839
Reviewed by Abrar Rahman Protyasha and Lily Spiniolas.
The problem: on iPad and visionOS, dragging the volume slider on netflix.com
causes the page to scroll along with the gesture. Netflix's slider does not
declare touch-action: none on the element, so WebKit treats the vertical drag
as a page-scroll candidate while Netflix's react pointer handlers fire in
parallel.
The original fix (310491@main, rdar://173988278) added
preventDefault-on-pointerdown
plumbing to suppress this scroll, but that approach was reverted (314097@main,
rdar://177895899)
because it broke synthetic-click delivery on cluesbysam.com. On iPad and
visionOS, this means the user can't drag the volume slider without scrolling
the page away from the playing video.
The fix: a quirk that adds touch-action: none on the volume slider, mirroring
the pre-existing quirk: needsGoogleMapsScrollingQuirk. the right long term fix
is
for netflix to author touch-action: none themselves, since they have not,
the quirk applies the equivalent on their behalf. The quirk lives in
StyleAdjuster and matches an HTMLDivElement on netflix.com with
data-uia="scrubber"
and aria-orientation="vertical". The change takes the existing touch-action
path and suppresses all browser handled gestures. Other approaches were
ruled out: a WebKit wide change to preventDefault semantics is what the previous
revert reversed, and a UA stylesheet rule on input[type=range] would affect
every site with a vertical range input.
*
LayoutTests/fast/events/touch/ios/netflix-volume-slider-touch-action-quirk-expected.txt:
Added.
*
LayoutTests/fast/events/touch/ios/netflix-volume-slider-touch-action-quirk.html:
Added.
* Source/WebCore/page/Quirks.cpp:
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:
* Source/WebCore/style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const):
Canonical link: https://commits.webkit.org/314617@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications