New issue
Advanced search Search tips

Issue 724912 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue 497851



Sign in to add a comment

Retire scroll-snap-coordinate and scroll-snap-destination

Project Member Reported by ericwilligers@chromium.org, May 22 2017

Issue description

The properties scroll-snap-coordinate and scroll-snap-destination are not part of current CSS Scroll Snap Points specifications, and have never shipped.

For code health, we should delete their implementations from Blink.


 
ch play
Owner: sunyunjia@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad

commit 8a809d14cccfd32e74cacbe33e7249eaa4fea4ad
Author: sunyunjia <sunyunjia@chromium.org>
Date: Thu Jun 15 16:52:09 2017

This patch replaces the snap points css properties for the old spec and add the
properties for the new spec (https://www.w3.org/TR/css-scroll-snap-1/). We also
remove the unit_tests that rely on the old spec.

Properties that are removed:
scroll-snap-points-x, scroll-snap-points-y,
scroll-snap-destination, scroll-snap-coordinate

Properties that are updated:
scroll-snap-type

Properties that are added:
scroll-snap-align, scroll-snap-stop,
scroll-padding, scroll-padding-top, scroll-padding-right,
scroll-padding-bottom,scroll-padding-left, scroll-padding-inline,
scroll-padding-inline-start, scroll-padding-inline-end,
scroll-padding-block, scroll-padding-block-start, scroll-padding-block-end,
scroll-snap-margin, scroll-snap-margin-top, scroll-snap-margin-right,
scroll-snap-margin-bottom, scroll-snap-margin-left, scroll-snap-margin-inline,
scroll-snap-margin-inline-start, scroll-snap-margin-inline-end,
scroll-snap-margin-block, scroll-snap-margin-block-start,
scroll-snap-margin-block-end

BUG= 724912 

Review-Url: https://codereview.chromium.org/2932593004
Cr-Commit-Position: refs/heads/master@{#479738}

[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-listing-expected.txt
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-listing-expected.txt
[delete] https://crrev.com/5a14542e2df551db37f39c08453074a4225783c3/third_party/WebKit/LayoutTests/fast/css/scroll-snap-parsing-expected.txt
[delete] https://crrev.com/5a14542e2df551db37f39c08453074a4225783c3/third_party/WebKit/LayoutTests/fast/css/scroll-snap-parsing.html
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/LayoutTests/svg/css/getComputedStyle-listing-expected.txt
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/LayoutTests/webexposed/css-properties-as-js-properties-expected.txt
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/BUILD.gn
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/CSSComputedStyleDeclaration.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/CSSProperties.json5
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/CSSProperty.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/CSSValueKeywords.json5
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/StylePropertySerializer.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/StylePropertySerializer.h
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.h
[add] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollPadding.cpp
[add] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapAlign.cpp
[delete] https://crrev.com/5a14542e2df551db37f39c08453074a4225783c3/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapCoordinate.cpp
[add] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapMargin.cpp
[add] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIScrollSnapType.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/frame/UseCounter.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/page/scrolling/SnapCoordinator.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/page/scrolling/SnapCoordinator.h
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/page/scrolling/SnapCoordinatorTest.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/style/BUILD.gn
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
[add] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/style/QuadLengthValue.h
[delete] https://crrev.com/5a14542e2df551db37f39c08453074a4225783c3/third_party/WebKit/Source/core/style/ScrollSnapPoints.h
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/style/StyleScrollSnapData.cpp
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/third_party/WebKit/Source/core/style/StyleScrollSnapData.h
[modify] https://crrev.com/8a809d14cccfd32e74cacbe33e7249eaa4fea4ad/tools/metrics/histograms/enums.xml

Status: Fixed (was: Assigned)
If this is fixed, does that mean that the parent issue is fixed as well? Is it shipped? Can we test it already?

Support CSS Scroll Snap Points
https://bugs.chromium.org/p/chromium/issues/detail?id=497851
[I work on CSS but not Scroll Snap Points.]

The current Scroll Snap Points properties appear in
webexposed/css-properties-as-js-properties-expected.txt
but not
virtual/stable/webexposed/css-properties-as-js-properties-expected.txt

Thus the properties in the current spec are not shipped, but anybody can test the implementation-in-progress by enabling Experimental Web Platform features.

The parent issue's status correctly indicates Started, not Fixed.


This issue being fixed means only that scroll-snap-coordinate and scroll-snap-destination no longer appear in the codebase. scroll-snap-coordinate and scroll-snap-destination appear in neither of the above files.

Hi @ericwilligers

Thanks for your reply!

Is there an ETA for when we can expect this issue to become GA?

I have been betting on this feature being supported soon(ish) for 2 years now and I'm wondering whether I made the wrong bet and should just stop hoping CSS snap points will become a real platform feature. Because if I read all discussion about it, 2 things become clear:

1. After initial enthusiasm, people started questioning this feature
2. Since about 18 months there seems to be hardly any activity and chatter about it

Also, the current snap points implementation of my website worked great on Safari, but since iOS 11 it stopped working... :(  So what should I do? Try to find out what's wrong with the iOS 11 version and try to fix it and keep hoping/waiting for Chrome support, or just forget about snap points and use something completely different?

I really appreciate the Chrome project and respect your decision to either implement this really good or not at all, but it would be great if we could get some updates on where you are heading so we can make sure we are not  targeting a future that will never come.

re #8:

We are committed to implementing CSS scroll snap points [1]. It is on our list and we are actively
working on it but I cannot provide a timeline for when it ships.

The feature was sitting without progress for a while as the specification was being actively changed
and we were rethinking our implementation approach. The specification is more stable now and we 
have a new implementation plan. The interop issues you mentioned and the popularity of the feature 
(starring the issue is one signal for that) do influence our planning for features.

Note that the plan is to implement latest spec draft which does not have "scroll-snap-coordinate"
and "scroll-snap-destination" [2]. I am not really sure what happened with Safari implementation
in iOS 11 but you can file a bug with WebKit.

[1] https://www.chromestatus.com/features/5721832506261504
[2] https://drafts.csswg.org/css-scroll-snap/
Blocking:

Sign in to add a comment