[webkit-changes] [WebKit/WebKit] 0a58ac: tiled-drawing/scrolling/scroll-snap tests fail wit...

Simon Fraser noreply at github.com
Wed Jan 11 09:53:35 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0a58ac14fcc147d261595d7958d25fa46d7581d0
      https://github.com/WebKit/WebKit/commit/0a58ac14fcc147d261595d7958d25fa46d7581d0
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-01-11 (Wed, 11 Jan 2023)

  Changed paths:
    M LayoutTests/resources/ui-helper.js
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard-scaled.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard-smooth-scroll-enabled.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard-scaled.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard-smooth-scroll-enabled.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-mainframe-horizontal-with-keyboard.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-mainframe-vertical-with-keyboard.html
    M LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-overflow-rtl-with-keyboard.html

  Log Message:
  -----------
  tiled-drawing/scrolling/scroll-snap tests fail with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=250438
rdar://104108634

Reviewed by Wenson Hsieh.

These tests do things like:

    eventSender.keyDown("rightArrow");
    expectTrue(document.scrollingElement.scrollLeft == (window.innerWidth * scale), "arrow key div scrolled to second div.");

With UI-side compositing, arrow handling hits AsyncScrollingCoordinator::requestScrollPositionUpdate(), which
bounces to the UI process, and then IPCs back to the web process via AsyncScrollingCoordinator::reconcileScrollingState()
which updates the ScrollableArea's scroll position, which is then read by `scrollLeft`.

So the tests need to wait for a presentation update after dispatching the key. Add a UIHelper function for this, and
change the tests to use it.

* LayoutTests/resources/ui-helper.js:
(window.UIHelper.async keyboardScroll):
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard-scaled.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard-smooth-scroll-enabled.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-with-keyboard.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard-scaled.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard-smooth-scroll-enabled.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-with-keyboard.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-mainframe-horizontal-with-keyboard.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-mainframe-vertical-with-keyboard.html:
* LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-overflow-rtl-with-keyboard.html:

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




More information about the webkit-changes mailing list