Bug 134283

Summary: Implement CSS Scroll Snap Points Spec
Product: WebKit Reporter: Wenson Hsieh <wenson_hsieh>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Enhancement CC: adsloo72, bdakin, bfulgham, bjonesbe, confblgbmn, davmillar, dino, gyuyoung.kim, jonlee, mihnea, ossy, simon.fraser, syoichi, totujuwap, wenson_hsieh, zoltan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: Unspecified   
Bug Depends on: 135997, 203684, 203968, 134301, 135195, 135268, 135768, 135769, 135774, 135915, 135964, 135967, 135994, 136005, 136344, 136345, 139083, 142411, 145843, 165317    
Bug Blocks:    
Description Flags
Basic scroll-snapping examples none

Description Wenson Hsieh 2014-06-24 17:35:23 PDT
Radar link: <rdar://problem/17283505>

Implement CSS snap points according to the (not yet final) W3C spec here: http://dev.w3.org/csswg/css-snappoints/
See bug-issues for more details.
Comment 1 Wenson Hsieh 2014-06-24 17:40:32 PDT
Comment 2 Wenson Hsieh 2014-06-24 17:40:53 PDT
(In reply to comment #0)
> Radar link: <rdar://problem/17283505>
> Implement CSS snap points according to the (not yet final) W3C spec here: http://dev.w3.org/csswg/css-snappoints/
> See bug-issues for more details.

^^^ that's *sub*-issues, not bug-issues
Comment 3 Wenson Hsieh 2014-06-25 11:22:17 PDT
First sub-issue: https://bugs.webkit.org/show_bug.cgi?id=134301
Comment 4 Wenson Hsieh 2014-07-23 06:39:08 PDT
Second subissue: exposing trackpad scrolling phases https://bugs.webkit.org/show_bug.cgi?id=134283
Comment 5 Wenson Hsieh 2014-07-23 06:41:12 PDT
(In reply to comment #4)

[Correction] Second sub-issue is https://bugs.webkit.org/show_bug.cgi?id=135195, not this page.
Comment 6 Wenson Hsieh 2014-08-15 16:06:25 PDT
Created attachment 236686 [details]
Basic scroll-snapping examples

Contains two web pages that demonstrate basic examples of snap scrolling. iphone.html shows a vertically scrolling overflow div that fills the entire window and has a snap point at the top of every image. itunes.html shows three divs: the first scrolls horizontally with images snapping to the left edge; the second also scrolls horizontally, but has images snapping to the center; the last example shows 2D scrolling, with snap points on both axes at every image.
Comment 7 Wenson Hsieh 2014-08-15 17:14:37 PDT
List of known issues with CSS snap points implementation:

- Rename the CSS_SCROLL_SNAP feature flag to CSS_SNAP_POINTS.

- Make WKWebView set deceleration to fast when didCommitLayerTree is called, rather than when scrolling will begin dragging.

- Account for insets on the iOS mainframe.

- Improve Mac snapping animations (also, improve their performance)

- In the spec, the repeat value begins counting from the "last point." We need to clarify what this means -- currently, the implementation starts counting from the furthest point, which would not be correct if the list of snap points is not sorted and our interpretation of "last point" is the last point specified by the user.

- Clarify what the expected behavior is when a snap point moves, disappears, or is added to the snap scrolling container.

Also see:

Comment 8 Simon Fraser (smfr) 2015-10-24 21:04:37 PDT
Can we close this now?