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

Reply via email to