[webkit-changes] [WebKit/WebKit] c3c2a3: REGRESSION (262853 at main): [iOS] 2 fast/scrolling/i...

Wenson Hsieh noreply at github.com
Fri Apr 14 07:34:11 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c3c2a3059b1e60f84a97fbe84cd2aa312be48916
      https://github.com/WebKit/WebKit/commit/c3c2a3059b1e60f84a97fbe84cd2aa312be48916
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2023-04-14 (Fri, 14 Apr 2023)

  Changed paths:
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

  Log Message:
  -----------
  REGRESSION (262853 at main): [iOS] 2 fast/scrolling/ios/click-events-during-momentum-scroll-* tests consistently failing
https://bugs.webkit.org/show_bug.cgi?id=255415
rdar://108011669

Reviewed by Tim Horton.

A couple of iOS layout tests began failing consistently after 262853 at main; these two tests:

1. Scroll in a web page (either in the mainframe or an overflow scroller).
2. Tap the page while the scroll is decelerating.
3. Verify that the tap in step (2) did not trigger any click events.

While I'm only able to rarely reproduce this on device, it appears to readily reproduce when using
the simulator; I suspect this is because the touch point doesn't change at all when using the
trackpad or synthesizing taps in the simulator/testing environment, which causes the scroll view pan
gesture to never receive any touch moves.

We can fix this by only allowing simultaneous gesture recognition between the single tap and pan
gesture, in the case where the touch isn't interrupting scroll view deceleration.

* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _isInterruptingDecelerationForScrollViewOrAncestor:]):

Move this logic out of a local C++ lambda function inside of `-gestureRecognizerShouldBegin:`, and
into a separate helper method so that we can use it above as well, in
`-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:`.

(-[WKContentView gestureRecognizerShouldBegin:]):

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




More information about the webkit-changes mailing list