Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9496a11100bf43260f5d23380e3a459903628580
      
https://github.com/WebKit/WebKit/commit/9496a11100bf43260f5d23380e3a459903628580
  Author: Joanne Pan <[email protected]>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A 
LayoutTests/pointerevents/ios/pointerdown-prevent-default-with-active-touch-listener-allows-page-scrolling-expected.txt
    A 
LayoutTests/pointerevents/ios/pointerdown-prevent-default-with-active-touch-listener-allows-page-scrolling.html
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  -----------
  Unable to interact with native PiP on Hulu.com
https://bugs.webkit.org/show_bug.cgi?id=311978
rdar://174187687

Reviewed by Abrar Rahman Protyasha.

The problem: PiP controls in separate windows were blocked because
setDefaultPrevented:YES caused the touch gesture recognizer to claim all
touches. This happened because handleTouchEvent returned handled=true for
pointerdown preventDefault() on both the preventable and unpreventable
touch paths indiscriminately.

The fix: By guarding the override with !touchEvent.canPreventNativeGestures(),
only the unpreventable path (passive / React listeners) reports
handled=true and sets panning flags to block scrolling.
The preventable path now returns the original handled=false which preserves PiP 
touch
delivery through the existing deferring gesture mechanism.

* 
LayoutTests/pointerevents/ios/pointerdown-prevent-default-with-active-touch-listener-allows-page-scrolling-expected.txt:
 Added.
* 
LayoutTests/pointerevents/ios/pointerdown-prevent-default-with-active-touch-listener-allows-page-scrolling.html:
 Added.
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::handleTouchEvent):

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



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

Reply via email to