[Webkit-unassigned] [Bug 192344] New: [css-scroll-snap] internal "scroll chaining" boundary at ancestor scroll-snap point prevents movement to next snap position even causes flickering

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Dec 3 17:59:01 PST 2018


            Bug ID: 192344
           Summary: [css-scroll-snap] internal "scroll chaining" boundary
                    at ancestor scroll-snap point prevents movement to
                    next snap position even causes flickering
           Product: WebKit
           Version: Safari Technology Preview
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: hi at jonjohnjohnson.com
                CC: bfulgham at webkit.org, simon.fraser at apple.com,
                    zalan at apple.com

Created attachment 356442

  --> https://bugs.webkit.org/attachment.cgi?id=356442&action=review

Exhibits scroll boundary breaking behavior between inner scrollable element and ancestor snapport

Here's another one for you wenson_hsieh at apple.com.

Wish I had the time to offer an actual reduced test case, and this may have some crossover with fred.wang at free.fr work in https://bugs.webkit.org/show_bug.cgi?id=176454, but for now, I offer what I think is a fairly straight forward ui, with attached video, that shows the bug...

1. Open attached test case and se trackpad and inertial scrolling in safari.
2. Scroll down while hovering mouse over the pink background text, don't scroll all the way to the bottom edge of itself.
3. Start another scroll interaction down to meet the bottom edge of the scroll container.
4. Once momentum has stopped the scroll interaction, try to scroll passed that bottom edge, attempting to scroll the ancestor scroller, which is a snapport, passed that boundary.
5. If you disable the `scroll-snape-type` property on the ancestor scroller, '.root-inner', you will see the scroll chaining bug disappear, allowing normal scroll chaining behavior passed that bottom edge boundary.

Attempt you may, but you will never get the browser to chain up the scroll interaction to the ancestor scroller, which would bring in the white squares that sit just off the bottom edge of the screen. It will never scroll up into view and even some frames flicker, almost trying snap up in one frame before resolving back down off screen.

Even with the ancestor scroller using snapping, the internal scrolling element should allow normal "overscroll" scroll chaining behavior passed its scroll boundaries.


PS Safari doesn't currently support `overscroll-behavior`, so the use of those properties in the testcase are purely for testing across other vendors, though again, this may implications with webkits eventual support of the property.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20181204/f24da3e4/attachment-0001.html>

More information about the webkit-unassigned mailing list