Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0d62f64ce6047f513f9f4c8cb2875fcbd145b97a
      
https://github.com/WebKit/WebKit/commit/0d62f64ce6047f513f9f4c8cb2875fcbd145b97a
  Author: Joanne Pan <[email protected]>
  Date:   2026-04-23 (Thu, 23 Apr 2026)

  Changed paths:
    M Source/WebCore/dom/MouseEvent.h
    M Source/WebCore/dom/ios/MouseEventIOS.cpp
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/QuirksData.h
    M Source/WebKit/Shared/WebEvent.serialization.in
    M Source/WebKit/Shared/WebEventConversion.cpp
    M Source/WebKit/Shared/WebTouchEvent.cpp
    M Source/WebKit/Shared/WebTouchEvent.h
    M Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm
    M Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.h
    M Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.mm
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/TouchEventTests.mm

  Log Message:
  -----------
  Tiktok.com: Unable to drag volume slider in video's media control.
https://bugs.webkit.org/show_bug.cgi?id=311585
rdar://174179805

Reviewed by Lily Spiniolas.

The problem: iPad converts touches to simulated mouse
events but always sets movementX = 0. TikTok's volume
slider checks Math.abs(e.movementX) > 0 before processing drags,
so all touch drags are silently ignored.

Compute real movementX/movementY in simulated mouse events
by plumbing [previousLocationInView:] through the touch
event pipeline. Enable simulated mouse event dispatch for
TikTok and Facebook, scoped to elements with role="slider",
and prevent background scrolling during slider drags.

* Source/WebCore/dom/MouseEvent.h:
* Source/WebCore/dom/ios/MouseEventIOS.cpp:
(WebCore::computeMovementDelta):
(WebCore::MouseEvent::create):
* Source/WebCore/page/Quirks.cpp:
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:
* Source/WebKit/Shared/WebEvent.serialization.in:
* Source/WebKit/Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
* Source/WebKit/Shared/WebTouchEvent.cpp:
(WebKit::WebPlatformTouchPoint::transformToRemoteFrameCoordinates):
* Source/WebKit/Shared/WebTouchEvent.h:
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
(WebKit::WebPlatformTouchPoint::previousLocationInRootView const):
* Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::extractWebTouchPoints):
* Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.h:
* Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.mm:
(-[WKTouchEventsGestureRecognizer _touchEventForChildTouch:withParent:]):
(-[WKTouchEventsGestureRecognizer _recordTouches:ofType:forEvent:]):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/TouchEventTests.mm:

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



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

Reply via email to