[webkit-changes] [WebKit/WebKit] 474e17: REGRESSION (iOS 18.2): Scrolling does not work on ...

Tim Horton noreply at github.com
Tue Dec 17 21:48:07 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 474e17e9c9a8acc6dbb8cc6aed4e9302ae77970e
      https://github.com/WebKit/WebKit/commit/474e17e9c9a8acc6dbb8cc6aed4e9302ae77970e
  Author: Tim Horton <thorton at apple.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  REGRESSION (iOS 18.2): Scrolling does not work on websites built on Flutter
https://bugs.webkit.org/show_bug.cgi?id=284859
rdar://140119315

Reviewed by Wenson Hsieh and Richard Robinson.

"Child" events (coalesced and predicted events) of a given pointer event must
have the same pointer identifier as their parent; the spec says so, and Flutter
strongly depends on this.

We did not implement it this way; the child events get a pointer identifier of 0.

* Source/WebKit/UIProcess/ios/WKTouchEventsGestureRecognizer.mm:
(-[WKTouchEventsGestureRecognizer _touchEventForChildTouch:withParent:]):
(-[WKTouchEventsGestureRecognizer _recordTouches:ofType:forEvent:]):
(-[WKTouchEventsGestureRecognizer _processTouches:withEvent:type:]):
(-[WKTouchEventsGestureRecognizer _touchEventForTouch:]): Deleted.
(-[WKTouchEventsGestureRecognizer _recordTouches:type:coalescedTouches:predictedTouches:]):
Instead of adding coalesced and predicted events from a random touch, take them
from the first touch, and propagate the pointer identifier from the first touch
onto them.

Later, we should get them from *each* touch instead of just one, to properly
support multiple touches.

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



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


More information about the webkit-changes mailing list