New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 243871 link

Starred by 72 users

Issue metadata

Status: Verified
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-04-05
OS: All
Pri: 2
Type: Feature

Blocked on: View detail
issue 434497
issue 543737
issue 437885
issue 450495
issue 648446

Blocking:
issue 243880


Show other hotlists

Hotlists containing this issue:
Top-Starred-Bugs


Sign in to add a comment

Implement cssom smooth scrolling

Project Member Reported by nduca@chromium.org, May 24 2013

Issue description

The latest CSSOM spec allows smooth scroll actions, namely:
https://dvcs.w3.org/hg/csswg/rev/009ff568218a
https://dvcs.w3.org/hg/csswg/rev/1fce354eb139

Once the dust is definitely settled, lets implement it. Its gonna be a big help for sites that have scrollToTop, j/k scrolling, or want to do scrolling benchmarking themselves.
 

Comment 1 by ajuma@chromium.org, May 24 2013

Owner: ajuma@chromium.org
Status: Assigned

Comment 2 by nduca@chromium.org, May 24 2013

Blocking: chromium:243880

Comment 3 Deleted

Comment 4 by nduca@chromium.org, Jun 28 2013

Ali, how do we feature-detect this csssom feature? Can you verify in the spec text that its feature detectable (so it can be polyfilled) and if not, followup with the right folks to make sure it can be polyfilled?

Comment 5 by ajuma@chromium.org, Jun 28 2013

We can feature-detect it by checking if the "scroll-behavior" CSS property is supported (e.g. by checking if that property's value is not undefined).
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 17 2013

------------------------------------------------------------------------
r235557 | ajuma@chromium.org | 2013-11-17T21:31:27.182032Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller_unittest.cc?r1=235557&r2=235556&pathrev=235557
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller.cc?r1=235557&r2=235556&pathrev=235557
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller.h?r1=235557&r2=235556&pathrev=235557
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation_events.h?r1=235557&r2=235556&pathrev=235557
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host.cc?r1=235557&r2=235556&pathrev=235557

cc: Alow animations to be aborted from either thread

This makes LayerAnimationController correctly handle animations that are
aborted on the compositor thread. It also adds an AbortAnimations method that
aborts all animations with a particular target property.

These changes are needed for implementing the CSSOM View smooth scroll API,
since we will require the ability to abort scroll animations on the
compositor thread as a result of input events received by the compositor
thread.

BUG= 243871 

Review URL: https://codereview.chromium.org/68503014
------------------------------------------------------------------------
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 3 2013

------------------------------------------------------------------------
r238271 | ajuma@chromium.org | 2013-12-03T02:20:48.098913Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/test/animation_test_common.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/test/animation_test_common.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host_unittest_animation.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/layers/layer.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/layers/layer.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/scroll_offset_animation_curve_unittest.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/scroll_offset_animation_curve.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/scroll_offset_animation_curve.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host_impl.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/layers/layer_impl.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller_unittest.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host_impl.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_impl.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.cc?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/layers/layer_impl.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_value_observer.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/cc.gyp?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_impl.h?r1=238271&r2=238270&pathrev=238271
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.h?r1=238271&r2=238270&pathrev=238271
   A http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_value_provider.h?r1=238271&r2=238270&pathrev=238271

cc: Support animating scroll offset

This makes cc::LayerAnimationController support animating scroll offset.
This is needed for implementing the CSSOM View smooth scroll API.

BUG= 243871 

Review URL: https://codereview.chromium.org/95763002
------------------------------------------------------------------------
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 9 2013

------------------------------------------------------------------------
r239554 | ajuma@chromium.org | 2013-12-09T21:30:25.130220Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host_unittest_animation.cc?r1=239554&r2=239553&pathrev=239554
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation_delegate.h?r1=239554&r2=239553&pathrev=239554
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/test/layer_tree_test.h?r1=239554&r2=239553&pathrev=239554
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller_unittest.cc?r1=239554&r2=239553&pathrev=239554
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/layer_animation_controller.cc?r1=239554&r2=239553&pathrev=239554
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_to_cc_animation_delegate_adapter.cc?r1=239554&r2=239553&pathrev=239554
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_to_cc_animation_delegate_adapter.h?r1=239554&r2=239553&pathrev=239554

Add monotonic time and target property to cc::AnimationDelegate notifications

This adds monotonic time and target property as arguments to
cc::AnimationDelegate::NotifyAnimation{Started, Finished}.

The existing wall clock time argument can be removed once Blink's legacy
implementation of CSS animations and transitions is removed.

The target property argument is needed so that Blink can distinguish
between notifications for CSS animations/transitions and notifications for
the scroll animations being added for the CSSOM View smooth scroll API.

BUG= 299945 , 243871 

Review URL: https://codereview.chromium.org/99733003
------------------------------------------------------------------------
Project Member

Comment 10 by bugdroid1@chromium.org, Dec 11 2013

The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=163659

------------------------------------------------------------------------
r163659 | ajuma@chromium.org | 2013-12-11T01:42:41.391694Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/LinkHighlight.cpp?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/tests/ImageLayerChromiumTest.cpp?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/CompositedLayerMapping.cpp?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/RenderLayerCompositor.h?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/GraphicsLayerClient.h?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/GraphicsLayer.h?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/PinchViewports.h?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/LinkHighlight.h?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/CompositedLayerMapping.h?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/PageOverlay.cpp?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/tests/GraphicsLayerTest.cpp?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebAnimationDelegate.h?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/GraphicsLayer.cpp?r1=163659&r2=163658&pathrev=163659
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/PinchViewports.cpp?r1=163659&r2=163658&pathrev=163659

Add monotonic time and target property to WebAnimationDelegate notifications

This adds monotonic time and target property as arguments to 
WebAnimationDelegate::notifyAnimation{Started, Finished}. 

The existing wall clock time argument can be removed once the legacy 
implementation of CSS animations and transitions is removed. 

The target property argument is needed to distinguish between notifications
for CSS animations/transitions and notifications for the scroll animations
being added for the CSSOM View smooth scroll API.

BUG= 299945 , 243871 

Review URL: https://codereview.chromium.org/99333005
------------------------------------------------------------------------
Project Member

Comment 11 by bugdroid1@chromium.org, Dec 13 2013

------------------------------------------------------------------------
r240751 | ajuma@chromium.org | 2013-12-13T21:31:20.671550Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_to_cc_animation_delegate_adapter.cc?r1=240751&r2=240750&pathrev=240751

Remove ifdefs in web_to_cc_animation_delegate_adapter.cc

These can be removed since Blink r163659 (http://crrev.com/99333005)
has landed and rolled into chromium.

BUG= 299945 , 243871 

Review URL: https://codereview.chromium.org/103053005
------------------------------------------------------------------------
Cc: jdduke@chromium.org
cc+=jdduke
Labels: -Type-Bug Type-Feature
Project Member

Comment 14 by bugdroid1@chromium.org, Jan 9 2014

The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=164796

------------------------------------------------------------------------
r164796 | ajuma@chromium.org | 2014-01-09T19:19:00.711029Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/editing/FrameSelection.h?r1=164796&r2=164795&pathrev=164796
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/RenderObject.h?r1=164796&r2=164795&pathrev=164796
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/ScrollAlignment.cpp?r1=164796&r2=164795&pathrev=164796
   D http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/ScrollBehavior.cpp?r1=164796&r2=164795&pathrev=164796
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=164796&r2=164795&pathrev=164796
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/ScrollAlignment.h?r1=164796&r2=164795&pathrev=164796
   D http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/ScrollBehavior.h?r1=164796&r2=164795&pathrev=164796
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/TextFinder.cpp?r1=164796&r2=164795&pathrev=164796

Rename WebCore::ScrollBehavior to ScrollAlignmentBehavior

ScrollBehavior is the most logical type name for the value of the new
scroll-behavior CSS property
(http://www.w3.org/TR/2013/WD-cssom-view-20131217/#css-properties).
This CL renames the existing ScrollBehavior type (which is only
referenced in two files) to ScrollAlignmentBehavior. This also renames
ScrollBehavior.h to ScrollAlignment.h, since the main thing declared
in this file is the ScrollAlignment struct.

BUG= 243871 

Review URL: https://codereview.chromium.org/132043002
------------------------------------------------------------------------
Project Member

Comment 15 by bugdroid1@chromium.org, Jan 17 2014

------------------------------------------------------------------------
r245645 | ajuma@chromium.org | 2014-01-17T22:37:28.487502Z

Changed paths:
   A http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_scroll_offset_animation_curve_impl.h?r1=245645&r2=245644&pathrev=245645
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_compositor_support_impl.cc?r1=245645&r2=245644&pathrev=245645
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_compositor_support_impl.h?r1=245645&r2=245644&pathrev=245645
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.cc?r1=245645&r2=245644&pathrev=245645
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_animation_impl.cc?r1=245645&r2=245644&pathrev=245645
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.h?r1=245645&r2=245644&pathrev=245645
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/compositor_bindings.gyp?r1=245645&r2=245644&pathrev=245645
   A http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_scroll_offset_animation_curve_impl.cc?r1=245645&r2=245644&pathrev=245645

Define WebScrollOffsetAnimationCurveImpl

This defines WebScrollOffsetAnimationCurveImpl, which wraps a
cc::ScrollOffsetAnimationCurve. This is needed for
implementing the CSSOM Smooth Scroll API.

BUG= 243871 

Review URL: https://codereview.chromium.org/112933005
------------------------------------------------------------------------
Project Member

Comment 16 by bugdroid1@chromium.org, Jan 18 2014

------------------------------------------------------------------------
r245663 | dbeam@chromium.org | 2014-01-17T23:58:53.679275Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.h?r1=245663&r2=245662&pathrev=245663
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/compositor_bindings.gyp?r1=245663&r2=245662&pathrev=245663
   D http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_scroll_offset_animation_curve_impl.cc?r1=245663&r2=245662&pathrev=245663
   D http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_scroll_offset_animation_curve_impl.h?r1=245663&r2=245662&pathrev=245663
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_compositor_support_impl.cc?r1=245663&r2=245662&pathrev=245663
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_compositor_support_impl.h?r1=245663&r2=245662&pathrev=245663
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.cc?r1=245663&r2=245662&pathrev=245663
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_animation_impl.cc?r1=245663&r2=245662&pathrev=245663

Revert 245645 "Define WebScrollOffsetAnimationCurveImpl"

Broke compositor_unittests on Linux Aura Tests with error:

  LayerWithRealCompositorTest.DrawPixels (run #1):
  [ RUN      ] LayerWithRealCompositorTest.DrawPixels
  ../../ui/compositor/layer_unittest.cc:832: Failure
  Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
    Actual: false
  Expected: true
  [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (246 ms)

  LayerWithRealCompositorTest.DrawPixels (run #2):
  [ RUN      ] LayerWithRealCompositorTest.DrawPixels
  ../../ui/compositor/layer_unittest.cc:832: Failure
  Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
    Actual: false
  Expected: true
  [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (272 ms)

  LayerWithRealCompositorTest.DrawPixels (run #3):
  [ RUN      ] LayerWithRealCompositorTest.DrawPixels
  ../../ui/compositor/layer_unittest.cc:832: Failure
  Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
    Actual: false
  Expected: true
  [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (259 ms)

  LayerWithRealCompositorTest.DrawPixels (run #4):
  [ RUN      ] LayerWithRealCompositorTest.DrawPixels
  ../../ui/compositor/layer_unittest.cc:832: Failure
  Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
    Actual: false
  Expected: true
  [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (229 ms)

> Define WebScrollOffsetAnimationCurveImpl
> 
> This defines WebScrollOffsetAnimationCurveImpl, which wraps a
> cc::ScrollOffsetAnimationCurve. This is needed for
> implementing the CSSOM Smooth Scroll API.
> 
> BUG= 243871 
> 
> Review URL: https://codereview.chromium.org/112933005

TBR=ajuma@chromium.org

Review URL: https://codereview.chromium.org/141753007
------------------------------------------------------------------------
Project Member

Comment 17 by bugdroid1@chromium.org, Jan 18 2014

------------------------------------------------------------------------
r245674 | dbeam@chromium.org | 2014-01-18T00:28:22.753004Z

Changed paths:
   A http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_scroll_offset_animation_curve_impl.h?r1=245674&r2=245673&pathrev=245674
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_compositor_support_impl.cc?r1=245674&r2=245673&pathrev=245674
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_compositor_support_impl.h?r1=245674&r2=245673&pathrev=245674
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.cc?r1=245674&r2=245673&pathrev=245674
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_animation_impl.cc?r1=245674&r2=245673&pathrev=245674
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation.h?r1=245674&r2=245673&pathrev=245674
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/compositor_bindings.gyp?r1=245674&r2=245673&pathrev=245674
   A http://src.chromium.org/viewvc/chrome/trunk/src/webkit/renderer/compositor_bindings/web_scroll_offset_animation_curve_impl.cc?r1=245674&r2=245673&pathrev=245674

Revert 245663 "Revert 245645 "Define WebScrollOffsetAnimationCur..."

> Revert 245645 "Define WebScrollOffsetAnimationCurveImpl"
> 
> Broke compositor_unittests on Linux Aura Tests with error:

I'm a dirty liar.

> 
>   LayerWithRealCompositorTest.DrawPixels (run #1):
>   [ RUN      ] LayerWithRealCompositorTest.DrawPixels
>   ../../ui/compositor/layer_unittest.cc:832: Failure
>   Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
>     Actual: false
>   Expected: true
>   [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (246 ms)
> 
>   LayerWithRealCompositorTest.DrawPixels (run #2):
>   [ RUN      ] LayerWithRealCompositorTest.DrawPixels
>   ../../ui/compositor/layer_unittest.cc:832: Failure
>   Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
>     Actual: false
>   Expected: true
>   [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (272 ms)
> 
>   LayerWithRealCompositorTest.DrawPixels (run #3):
>   [ RUN      ] LayerWithRealCompositorTest.DrawPixels
>   ../../ui/compositor/layer_unittest.cc:832: Failure
>   Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
>     Actual: false
>   Expected: true
>   [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (259 ms)
> 
>   LayerWithRealCompositorTest.DrawPixels (run #4):
>   [ RUN      ] LayerWithRealCompositorTest.DrawPixels
>   ../../ui/compositor/layer_unittest.cc:832: Failure
>   Value of: ReadPixels(&bitmap, gfx::Rect(viewport_size))
>     Actual: false
>   Expected: true
>   [  FAILED  ] LayerWithRealCompositorTest.DrawPixels (229 ms)
> 
> > Define WebScrollOffsetAnimationCurveImpl
> > 
> > This defines WebScrollOffsetAnimationCurveImpl, which wraps a
> > cc::ScrollOffsetAnimationCurve. This is needed for
> > implementing the CSSOM Smooth Scroll API.
> > 
> > BUG= 243871 
> > 
> > Review URL: https://codereview.chromium.org/112933005
> 
> TBR=ajuma@chromium.org
> 
> Review URL: https://codereview.chromium.org/141753007

TBR=dbeam@chromium.org

Review URL: https://codereview.chromium.org/141953013
------------------------------------------------------------------------
Project Member

Comment 18 by bugdroid1@chromium.org, Jan 22 2014

The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=165568

------------------------------------------------------------------------
r165568 | ajuma@chromium.org | 2014-01-22T23:35:09.953194Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/UseCounter.cpp?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/parser/BisonCSSParser-in.cpp?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/style/StyleRareNonInheritedData.cpp?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSValueKeywords.in?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/resolver/StyleBuilderCustom.cpp?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSPropertyNames.in?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/style/StyleRareNonInheritedData.h?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/RuntimeCSSEnabled.cpp?r1=165568&r2=165567&pathrev=165568
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/parse-scroll-behavior-expected.txt?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/css-properties-as-js-properties-expected.txt?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSComputedStyleDeclaration.cpp?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSPrimitiveValueMappings.h?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.h?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=165568&r2=165567&pathrev=165568
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/build/scripts/name_utilities.py?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSProperties.in?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/style/RenderStyle.h?r1=165568&r2=165567&pathrev=165568
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSProperty.cpp?r1=165568&r2=165567&pathrev=165568
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/parse-scroll-behavior.html?r1=165568&r2=165567&pathrev=165568

Implement 'scroll-behavior' parsing

This implements parsing for the 'scroll-behavior' CSS
property, part of the CSSOM View smooth scroll API.

This property is protected by a runtime flag.

Intent-to-implement:
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/YLWs9N46XjQ/mK7rCJ26BqAJ

Spec: http://www.w3.org/TR/cssom-view/


BUG= 243871 

Review URL: https://codereview.chromium.org/140253004
------------------------------------------------------------------------
Project Member

Comment 19 by bugdroid1@chromium.org, Feb 4 2014

The following revision refers to this bug:
    http://src.chromium.org/viewvc/blink?view=rev&rev=166322

------------------------------------------------------------------------
r166322 | ajuma@chromium.org | 2014-02-03T17:15:02.557327Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.cpp?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindow.h?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.cpp?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/script-tests/non-numeric-values-numeric-parameters.js?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.h?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.h?r1=166322&r2=166321&pathrev=166322
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Element/scrollTop-scrollLeft-setters.html?r1=166322&r2=166321&pathrev=166322
   A http://src.chromium.org/viewvc/blink/trunk/Source/bindings/v8/custom/V8ElementCustom.cpp?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/window-scroll-arguments.html?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=166322&r2=166321&pathrev=166322
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Element/scrollTop-scrollLeft-setters-expected.txt?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/bindings.gypi?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/window-scroll-arguments-expected.txt?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.idl?r1=166322&r2=166321&pathrev=166322
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindow.cpp?r1=166322&r2=166321&pathrev=166322

Bindings for CSSOM View smooth scroll API

This adds custom bindings for Window.scroll, Window.scrollTo
Window.scrollBy, Element.scrollLeft, and Element.scrollTop,
needed for the CSSOM View smooth scroll API.

More specifically:
1) An optional ScrollOptions argument is added to
Window.scroll, Window.scrollTo, and Window.scrollBy.
2) The setter for Element.scrollLeft can now take a
ScrollOptionsHorizontal dictionary instead of an int.
3) The setter for Element.scrollRight can now take a
ScrollOptionsVertical dictionary instead of an int.

These behavior changes are protected by a runtime flag.

Spec: http://www.w3.org/TR/cssom-view/

Intent-to-implement:
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/YLWs9N46XjQ/mK7rCJ26BqAJ


BUG= 243871 

Review URL: https://codereview.chromium.org/146003002
------------------------------------------------------------------------
Do we know when this might be enabled?

Comment 21 by ajuma@chromium.org, Jun 23 2014

I'm hoping to get back to working on this soon. The main remaining work is:
1) Re-base https://codereview.chromium.org/134443003/ (this will be non-trivial, since Blink's rendering code has changed significantly over the past few months)
2) Deal with cancelling animations when there's a user-initiated scroll
3) Implement smooth scrolling for ScrollIntoView and for fragment scrolling

Project Member

Comment 22 by bugdroid1@chromium.org, Jul 2 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=177409

------------------------------------------------------------------
r177409 | ajuma@chromium.org | 2014-07-02T18:34:47.044605Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/WebScrollOffsetAnimationCurve.h?r1=177409&r2=177408&pathrev=177409
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebCompositorSupport.h?r1=177409&r2=177408&pathrev=177409
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebAnimation.h?r1=177409&r2=177408&pathrev=177409
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebAnimationCurve.h?r1=177409&r2=177408&pathrev=177409

Define WebScrollOffsetAnimationCurve

This defines WebScrollOffsetAnimationCurve, needed for implementing
the CSSOM Smooth Scroll API.

The Chromium side of this is http://crrev.com/112933005.

BUG= 243871 

Review URL: https://codereview.chromium.org/365903004
-----------------------------------------------------------------
Project Member

Comment 23 by bugdroid1@chromium.org, Jul 3 2014

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

commit 5d8bec73db031fb0cd49a413d412b2aad9a6be63
Author: ajuma@chromium.org <ajuma@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu Jul 03 03:03:11 2014

cc: Disallow scroll offset animations when impl-scrolling isn't supported

SingleThreadProxy doesn't support directly changing scroll offsets on
the impl layer tree (since it doesn't send scroll deltas from the impl
side back to the main-thread side). This means that scroll offset
animations should be disallowed by cc when using SingleThreadProxy.

BUG= 243871 

Review URL: https://codereview.chromium.org/368883003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281140 0039d316-1c4b-4281-b951-d872f2087c98


Project Member

Comment 24 by bugdroid1@chromium.org, Jul 3 2014

------------------------------------------------------------------
r281140 | ajuma@chromium.org | 2014-07-03T03:03:11.615460Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation_registrar.h?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/proxy.h?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/test/fake_proxy.cc?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/test/fake_proxy.h?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host_unittest_animation.cc?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host.cc?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/thread_proxy.cc?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/layers/layer.cc?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/layer_tree_host_impl.cc?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/single_thread_proxy.cc?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/thread_proxy.h?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/trees/single_thread_proxy.h?r1=281140&r2=281139&pathrev=281140
   M http://src.chromium.org/viewvc/chrome/trunk/src/cc/animation/animation_registrar.cc?r1=281140&r2=281139&pathrev=281140

cc: Disallow scroll offset animations when impl-scrolling isn't supported

SingleThreadProxy doesn't support directly changing scroll offsets on
the impl layer tree (since it doesn't send scroll deltas from the impl
side back to the main-thread side). This means that scroll offset
animations should be disallowed by cc when using SingleThreadProxy.

BUG= 243871 

Review URL: https://codereview.chromium.org/368883003
-----------------------------------------------------------------
Project Member

Comment 25 by bugdroid1@chromium.org, Jul 10 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=177797

------------------------------------------------------------------
r177797 | ajuma@chromium.org | 2014-07-10T04:22:41.127158Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/large-subframe.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scroll-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollLeft.html?r1=177797&r2=177796&pathrev=177797
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTo.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollLeft-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollLeft.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTop-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTop-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-behavior-test.js?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTop-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scroll.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-scrollTop.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTop-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollBy-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollLeft.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTop.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollLeft-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollBy-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTo-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTop.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTop.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTo-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollLeft-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTop.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollBy.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollLeft-expected.txt?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTo.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollBy.html?r1=177797&r2=177796&pathrev=177797
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollLeft.html?r1=177797&r2=177796&pathrev=177797

Test harness and tests for CSSOM View smooth scroll

This adds a ScrollBehaviorTest class and tests using this class.

BUG= 243871 

Review URL: https://codereview.chromium.org/378953002
-----------------------------------------------------------------
Project Member

Comment 26 by bugdroid1@chromium.org, Jul 10 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=177806

------------------------------------------------------------------
r177806 | ojan@chromium.org | 2014-07-10T06:43:51.742677Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/win-xp/fast/scroll-behavior?r1=177806&r2=177805&pathrev=177806
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/win-xp/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=177806&r2=177805&pathrev=177806
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=177806&r2=177805&pathrev=177806
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=177806&r2=177805&pathrev=177806
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/win/fast/scroll-behavior?r1=177806&r2=177805&pathrev=177806
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/win/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=177806&r2=177805&pathrev=177806
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/linux/fast/scroll-behavior?r1=177806&r2=177805&pathrev=177806
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/linux/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=177806&r2=177805&pathrev=177806
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/mac/fast/scroll-behavior?r1=177806&r2=177805&pathrev=177806
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/mac/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=177806&r2=177805&pathrev=177806

Auto-rebaseline for r177797

http://src.chromium.org/viewvc/blink?view=revision&revision=177797

BUG= 243871 
TBR=ajuma@chromium.org

Review URL: https://codereview.chromium.org/377383010
-----------------------------------------------------------------
Project Member

Comment 27 by bugdroid1@chromium.org, Jul 10 2014

Project Member

Comment 28 by bugdroid1@chromium.org, Jul 10 2014

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

commit 4ea89390a99623454b64a89b806586175adaaab1
Author: ajuma@chromium.org <ajuma@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu Jul 10 16:39:24 2014

Remove #ifs related to WebScrollOffsetAnimationCurve

This removes "#if WEB_SCROLL_OFFSET_ANIMATION_CURVE_IS_DEFINED"
lines added in http://crrev.com/112933005. These are no longer
needed since http://crrev.com/365903004 (which #defines
WEB_SCROLL_OFFSET_ANIMATION_CURVE_IS_DEFINED) has landed.

BUG= 243871 

Review URL: https://codereview.chromium.org/383503003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282354 0039d316-1c4b-4281-b951-d872f2087c98


Project Member

Comment 29 by bugdroid1@chromium.org, Jul 12 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=177990

------------------------------------------------------------------
r177990 | ajuma@chromium.org | 2014-07-12T01:47:26.797633Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-behavior-test.js?r1=177990&r2=177989&pathrev=177990

Fix use of wrong variable in ScrollBehaviorTest

This fixes two cases where |this.scrollElement| was used instead
of |testCase|. Fixing these uncovered a hang, which is also fixed here.

BUG= 243871 

Review URL: https://codereview.chromium.org/387553003
-----------------------------------------------------------------
Project Member

Comment 30 by bugdroid1@chromium.org, Jul 17 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=178387

------------------------------------------------------------------
r178387 | ajuma@chromium.org | 2014-07-17T18:27:18.983818Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll.html?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll-expected.txt?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll-expected.txt?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-interruption-test.js?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll-expected.txt?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll.html?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll.html?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll.html?r1=178387&r2=178386&pathrev=178387
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll-expected.txt?r1=178387&r2=178386&pathrev=178387

Scroll interruption tests for CSSOM View smooth scroll

This adds a SmoothScrollInterruptionTest class and tests using
this class.

BUG= 243871 

Review URL: https://codereview.chromium.org/398043005
-----------------------------------------------------------------
Project Member

Comment 31 by bugdroid1@chromium.org, Jul 17 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=178394

------------------------------------------------------------------
r178394 | abarth@chromium.org | 2014-07-17T19:49:46.917154Z

Changed paths:
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll.html?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll.html?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll.html?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll-expected.txt?r1=178394&r2=178393&pathrev=178394
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll.html?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll-expected.txt?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll-expected.txt?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-interruption-test.js?r1=178394&r2=178393&pathrev=178394
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll-expected.txt?r1=178394&r2=178393&pathrev=178394

Revert of Scroll interruption tests for CSSOM View smooth scroll (https://codereview.chromium.org/398043005/)

Reason for revert:
fast/scroll-behavior/listbox-interrupted-scroll.html times out on Mac:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fscroll-behavior%2Flistbox-interrupted-scroll.html

Original issue's description:
> Scroll interruption tests for CSSOM View smooth scroll
> 
> This adds a SmoothScrollInterruptionTest class and tests using
> this class.
> 
> BUG= 243871 
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178387

TBR=vollick@chromium.org,ajuma@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG= 243871 

Review URL: https://codereview.chromium.org/400763003
-----------------------------------------------------------------
Project Member

Comment 32 by bugdroid1@chromium.org, Jul 18 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=178481

------------------------------------------------------------------
r178481 | ajuma@chromium.org | 2014-07-18T19:58:08.096374Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll.html?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll-expected.txt?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll-expected.txt?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-interruption-test.js?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll-expected.txt?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll.html?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll.html?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll.html?r1=178481&r2=178480&pathrev=178481
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll-expected.txt?r1=178481&r2=178480&pathrev=178481

Scroll interruption tests for CSSOM View smooth scroll

This adds a SmoothScrollInterruptionTest class and tests using
this class.

BUG= 243871 

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178387

Review URL: https://codereview.chromium.org/398043005
-----------------------------------------------------------------
Project Member

Comment 34 by bugdroid1@chromium.org, Jul 23 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=178755

------------------------------------------------------------------
r178755 | ajuma@chromium.org | 2014-07-23T13:05:30.817475Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scroll-expected.txt?r1=178755&r2=178754&pathrev=178755
   A http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.h?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTo-expected.txt?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll-expected.txt?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollBy-expected.txt?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll-expected.txt?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.cpp?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll-expected.txt?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTo-expected.txt?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.h?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/LocalDOMWindow.cpp?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/FrameView.cpp?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/LocalDOMWindow.h?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollView.cpp?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/page/PageAnimator.cpp?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/FrameView.h?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/blink_platform.gypi?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollBy-expected.txt?r1=178755&r2=178754&pathrev=178755
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollView.h?r1=178755&r2=178754&pathrev=178755
   A http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.cpp?r1=178755&r2=178754&pathrev=178755

Implement CSSOM View smooth scroll for Window.{scroll, scrollTo, scrollBy}

This implements smooth scrolling for scroll(), scrollTo(), and scrollBy()
on main frames and subframes.

Smooth scrolling for Elements (that is, for setting scrollTop and scrollLeft
or calling scrollIntoView) will be added in later CLs.

For now, all scroll animations are performed on the main-thread. The use
of compositor-driven animations (for ScrollableAreas that have
compositor-driven scrolling) will be added in a later CL.

Intent-to-implement: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/YLWs9N46XjQ

Spec: http://www.w3.org/TR/cssom-view/

BUG= 243871 

Review URL: https://codereview.chromium.org/384973003
-----------------------------------------------------------------

Comment 35 by zcorpan@gmail.com, Sep 11 2014

ajuma, can you please give your opinion about https://www.w3.org/Bugs/Public/show_bug.cgi?id=26294 ? Thanks

Comment 36 by ajuma@chromium.org, Sep 11 2014

I'm supportive of the solution that was discussed in http://lists.w3.org/Archives/Public/www-style/2014Jul/0603.html
Blockedon: chromium:434497
Project Member

Comment 38 by bugdroid1@chromium.org, Nov 28 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=186196

------------------------------------------------------------------
r186196 | ajuma@chromium.org | 2014-11-28T22:06:40.980838Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/style/RenderStyle.h?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scroll.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTo.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/parse-scroll-behavior.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollLeft.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-scrollTop.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollBy.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollLeft.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSValueKeywords.in?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTo.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTop.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollLeft.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/parse-scroll-behavior-expected.txt?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTop.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTop.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollLeft.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/parser/CSSParserFastPaths.cpp?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/css/CSSPrimitiveValueMappings.h?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTop.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollBy.html?r1=186196&r2=186195&pathrev=186196
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/FrameView.cpp?r1=186196&r2=186195&pathrev=186196

Rename 'instant' value of scroll-behavior CSS property to 'auto'

This changes the 'instant' value of scroll-behavior to 'auto',
matching a change made in the CSSOM View spec (and also
matching Firefox's implementation).

Spec: http://dev.w3.org/csswg/cssom-view/#css-properties

BUG= 243871 

Review URL: https://codereview.chromium.org/766023002
-----------------------------------------------------------------
Blockedon: chromium:437885
Project Member

Comment 40 by bugdroid1@chromium.org, Dec 4 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=186465

------------------------------------------------------------------
r186465 | ajuma@chromium.org | 2014-12-04T01:14:27.112678Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/LocalDOMWindow.cpp?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollBy.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/LocalDOMWindow.h?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scroll.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/window-scroll-arguments.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTo.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollBy.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollBy-expected.txt?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/Window.idl?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/ScrollOptions.idl?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scroll-expected.txt?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTo.html?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/window-scroll-arguments-expected.txt?r1=186465&r2=186464&pathrev=186465
   A http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/ScrollToOptions.idl?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTo-expected.txt?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollBy-expected.txt?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll-expected.txt?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/DOMWindow.h?r1=186465&r2=186464&pathrev=186465
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTo-expected.txt?r1=186465&r2=186464&pathrev=186465

Update Window API for CSSOM smooth scrolling to match the spec

This updates the Window API for smooth scrolling to match changes to
the CSSOM View spec. Previously, the spec added an optional
ScrollBehavior argument to the scroll, scrollTo, and scrollBy methods.
Now, the spec instead defines overloads of scroll, scrollTo, and
scrollBy that take a single ScrollToOptions dictionary.

Smooth scrolling is behind a runtime flag.

Spec: http://dev.w3.org/csswg/cssom-view/#extensions-to-the-window-interface

BUG= 243871 

Review URL: https://codereview.chromium.org/774203003
-----------------------------------------------------------------
Project Member

Comment 41 by bugdroid1@chromium.org, Dec 8 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=186725

------------------------------------------------------------------
r186725 | ajuma@chromium.org | 2014-12-08T20:02:01.988651Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scroll.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/script-tests/non-numeric-values-numeric-parameters.js?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-behavior-test.js?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.h?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Element/scrollTop-scrollLeft-setters.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scrollBy-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollBy-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollLeft-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTo.html?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/linux/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scroll-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollLeft.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.idl?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scrollTo-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollLeft-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scrollBy.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.h?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollBy.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollLeft.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll-in-quirks-mode-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/core/v8/custom/V8ElementCustom.cpp?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/non-numeric-values-numeric-parameters-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.cpp?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scroll.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTop.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollBy-expected.txt?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/mac/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scrollTo.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scroll-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollLeft.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLSelectElement.h?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scroll-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll-in-quirks-mode.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTop.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTop.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLBodyElement.cpp?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/mac/fast/scroll-behavior/listbox-interrupted-scroll-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollLeft-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollBy.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scroll.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/win/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scroll.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/html/HTMLSelectElement.cpp?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scrollTo-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scrollBy-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTo-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollLeft.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTop.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll-in-standards-mode-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scrollBy.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scrollTo.html?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTo.html?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scroll-expected.txt?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-scrollTop.html?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Element/scrollTop-scrollLeft-setters-expected.txt?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTo-expected.txt?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=186725&r2=186724&pathrev=186725
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll-in-standards-mode.html?r1=186725&r2=186724&pathrev=186725
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollLeft-expected.txt?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/listbox-interrupted-scroll.html?r1=186725&r2=186724&pathrev=186725
   D http://src.chromium.org/viewvc/blink/trunk/LayoutTests/platform/win-xp/fast/scroll-behavior/listbox-scrollTop-expected.txt?r1=186725&r2=186724&pathrev=186725

Update Element API for CSSOM smooth scrolling to match the spec

This updates the Element API for smooth scrolling to match changes to
the CSSOM View spec. Previously, the spec overloaded the setters for
scrollTop and scrollLeft, allowing these to take a ScrollOptions
dictionary. Now, the spec instead adds scroll, scrollTo, and scrollBy
methods that each take either a pair of doubles or a single
ScrollToOptions dictionary (just like the corresponding methods on
Window).

Smooth scrolling is behing a runtime flag.

Spec: http://dev.w3.org/csswg/cssom-view/#extensions-to-the-element-interface

BUG= 243871 

Review URL: https://codereview.chromium.org/782793002
-----------------------------------------------------------------
Project Member

Comment 42 by bugdroid1@chromium.org, Dec 11 2014

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=186965

------------------------------------------------------------------
r186965 | ajuma@chromium.org | 2014-12-11T17:01:23.009325Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scroll-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/FrameView.h?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/RenderLayerScrollableArea.cpp?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scroll-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTo-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollAnimator.h?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.cpp?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/RenderLayerScrollableArea.h?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTo-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.h?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-interrupted-scroll-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollLeft-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollLeft-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollAnimatorNone.cpp?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/RenderBox.cpp?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.cpp?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollTop-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollAnimatorNone.h?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/dom/Element.cpp?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.h?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/RenderBox.h?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollTop-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/FrameView.cpp?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-hidden-scrollBy-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-scrollBy-expected.txt?r1=186965&r2=186964&pathrev=186965
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/page/PageAnimator.cpp?r1=186965&r2=186964&pathrev=186965

Implement CSSOM smooth scroll for Elements

This implements smooth scrolling for scroll, scrollTo,
scrollBy, scrollTop, and scrollLeft on Elements.

Smooth scrolling for scrollIntoView will be added in a
later CL.

Smooth scrolling is behind a runtime flag.

Spec: http://dev.w3.org/csswg/cssom-view/#extensions-to-the-element-interface

BUG= 243871 

Review URL: https://codereview.chromium.org/792513004
-----------------------------------------------------------------
Project Member

Comment 43 by bugdroid1@chromium.org, Jan 16 2015

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

commit e17c4ca518cf85f598d07e61bade581c52ccb492
Author: ajuma <ajuma@chromium.org>
Date: Fri Jan 16 14:55:43 2015

cc: Fix scroll offset after scroll animation is canceled

When a scroll offset animation is removed by the main thread and
a new scroll position is set, this new position should propagate
to the pending tree on commit, and then to the active tree on
activation. However, the removed animation continues running on
the compositor thread until activation, producing a scroll delta.
Currently, this scroll delta gets added to the new scroll
position (on both threads).

This CL prevents the scroll delta produced by a removed animation
from being added to the new post-animation scroll position.

BUG= 243871 

Review URL: https://codereview.chromium.org/845543007

Cr-Commit-Position: refs/heads/master@{#311895}

[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/animation/layer_animation_controller.cc
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/animation/layer_animation_controller.h
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/animation/layer_animation_controller_unittest.cc
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/animation/layer_animation_value_observer.h
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/layers/layer.cc
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/layers/layer.h
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/layers/layer_impl.cc
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/layers/layer_impl.h
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/test/animation_test_common.cc
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/test/animation_test_common.h
[modify] http://crrev.com/e17c4ca518cf85f598d07e61bade581c52ccb492/cc/trees/layer_tree_host_unittest_animation.cc

Project Member

Comment 44 by bugdroid1@chromium.org, Jan 19 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=188634

------------------------------------------------------------------
r188634 | ajuma@chromium.org | 2015-01-19T15:47:20.284866Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/graphics/GraphicsLayer.cpp?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.cpp?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/VirtualTestSuites?r1=188634&r2=188633&pathrev=188634
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/virtual/threaded/fast?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.h?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-behavior-test.js?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.h?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-interruption-test.js?r1=188634&r2=188633&pathrev=188634
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/virtual/threaded/fast/scroll-behavior/README.txt?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/rendering/compositing/RenderLayerCompositor.cpp?r1=188634&r2=188633&pathrev=188634
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/virtual/threaded/fast/scroll-behavior?r1=188634&r2=188633&pathrev=188634
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.cpp?r1=188634&r2=188633&pathrev=188634

Run CSSOM smooth scroll animations on the compositor when possible

This runs smooth scroll animations on the compositor when a composited
layer for scrolling already exists and main-thread scrolling isn't required.

This also adds a virtual test suite that runs the fast/scroll-behavior tests
with --enable-threaded-compositing and --enable-prefer-compositing-to-lcd-text.

Smooth scrolling is behind a runtime flag.

BUG= 243871 

Review URL: https://codereview.chromium.org/802383003
-----------------------------------------------------------------

Comment 45 by kbr@chromium.org, Jan 21 2015

Blockedon: chromium:450495
Project Member

Comment 46 by bugdroid1@chromium.org, Jan 21 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=188746

------------------------------------------------------------------
r188746 | ajuma@chromium.org | 2015-01-21T14:50:13.237786Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/SlowTests?r1=188746&r2=188745&pathrev=188746

Mark threaded CSSOM smooth scroll tests as slow

Several tests in virtual/threaded/fast/scroll-behavior are flakily
timing out or coming very close to the time limit. Since most tests
are affected on at least one platform, this marks the entire test
suite as slow.

BUG= 243871 

Review URL: https://codereview.chromium.org/838373003
-----------------------------------------------------------------
ajuma: Even after the commit you landed above, the Linux ASAN bot seems to have flaky timeouts on these tests: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20ASAN

The Linux Oilpan ASAN bot shows similar issues.

Marking them SLOW apparently increases the timeout to 240 sec, but under ASAN I guess that's not always enough.  Perhaps instead of SLOW, the directory should be marked as flakily timing out, or better yet skipped entirely either on ASAN or on all platforms until/unless it can be made fast?
Cc: -wiltzius@chromium.org
Project Member

Comment 49 by bugdroid1@chromium.org, Jan 22 2015

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

commit 4256b4582ef4d1f257320452d445395610ed6ac4
Author: ajuma <ajuma@chromium.org>
Date: Thu Jan 22 14:28:56 2015

cc: Make LayerAnimationController keep state for clearing scroll delta

When a scroll offset animation is removed, the corresponding LayerImpl's
scroll delta needs to be cleared at activation. This CL moves the state
tracking whether such clearing is needed from LayerImpl to
LayerAnimationController, since this behavior is intended to be specific
to this use case rather than providing a general way to clear scroll
deltas.

BUG= 243871 

Review URL: https://codereview.chromium.org/864003002

Cr-Commit-Position: refs/heads/master@{#312609}

[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/animation/layer_animation_controller.cc
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/animation/layer_animation_controller.h
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/animation/layer_animation_controller_unittest.cc
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/animation/layer_animation_value_observer.h
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/layers/layer.cc
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/layers/layer.h
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/layers/layer_impl.cc
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/layers/layer_impl.h
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/test/animation_test_common.cc
[modify] http://crrev.com/4256b4582ef4d1f257320452d445395610ed6ac4/cc/test/animation_test_common.h

Project Member

Comment 50 by bugdroid1@chromium.org, Jan 22 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=188818

------------------------------------------------------------------
r188818 | ajuma@chromium.org | 2015-01-22T15:58:29.605706Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=188818&r2=188817&pathrev=188818
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/ASANExpectations?r1=188818&r2=188817&pathrev=188818

Update expectations for virtual/threaded/fast/scroll-behavior

This skips the entire test suite on Linux ASAN because of flaky
timeouts, and also marks the following three tests as flaky on Debug:

virtual/threaded/fast/scroll-behavior/main-frame-interrupted-scroll.html
virtual/threaded/fast/scroll-behavior/subframe-interrupted-scroll.html
virtual/threaded/fast/scroll-behavior/overflow-interrupted-scroll.html

BUG= 243871 
TBR=pkasting@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/870593002
-----------------------------------------------------------------
There are various other tests that are flakily timing out (no failures that I can see) on Debug:

virtual/threaded/fast/scroll-behavior/main-frame-element-scrollBy.html
virtual/threaded/fast/scroll-behavior/main-frame-element-scrollTo.html
virtual/threaded/fast/scroll-behavior/main-frame-scroll.html
virtual/threaded/fast/scroll-behavior/main-frame-scrollBy.html
virtual/threaded/fast/scroll-behavior/main-frame-scrollLeft.html
virtual/threaded/fast/scroll-behavior/main-frame-scrollTo.html
virtual/threaded/fast/scroll-behavior/subframe-element-scroll.html

I'll add these to the expectations, but please note that SLOW TIMEOUT means the test is stalling the bot for 4 minutes.  Even one such failure greatly slows down bot cycle times, which is bad for the overall tree health.  Please look into making these tests consistently fast, or else disabled, ASAP.

Comment 52 by ajuma@chromium.org, Jan 22 2015

I have a CL up for review that should fix the timeouts: https://codereview.chromium.org/872433002/
Project Member

Comment 53 by bugdroid1@chromium.org, Jan 22 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=188839

------------------------------------------------------------------
r188839 | pkasting@chromium.org | 2015-01-22T22:47:33.800845Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=188839&r2=188838&pathrev=188839

Update test expectations for various flaky and timing-out tests.

BUG= 243871 , 444493 , 451191 
TBR=kochi
NOTRY=true

Review URL: https://codereview.chromium.org/870793003
-----------------------------------------------------------------
Project Member

Comment 54 by bugdroid1@chromium.org, Jan 23 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=188898

------------------------------------------------------------------
r188898 | ajuma@chromium.org | 2015-01-23T18:44:26.627030Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-behavior-test.js?r1=188898&r2=188897&pathrev=188898
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/resources/scroll-interruption-test.js?r1=188898&r2=188897&pathrev=188898

Fix flake in threaded CSSOM smooth scroll layout tests

This removes waits and assertions about intermediate frames. In threaded
mode, there's no guarantee about the frequency of main-thread frames as
the animation progresses on the compositor thread. It's in fact possible
to have no main-thread frames until the animation finishes; this causes
tests that wait for an intermediate frame to time out, and causes tests
that assert that the end frame isn't reached to fail.

BUG= 243871 

Review URL: https://codereview.chromium.org/872433002
-----------------------------------------------------------------
Project Member

Comment 55 by bugdroid1@chromium.org, Jan 24 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=188918

------------------------------------------------------------------
r188918 | ajuma@chromium.org | 2015-01-24T02:03:47.590725Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.h?r1=188918&r2=188917&pathrev=188918
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-loses-composited-scrolling.html?r1=188918&r2=188917&pathrev=188918
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.cpp?r1=188918&r2=188917&pathrev=188918
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/page/scrolling/ScrollingCoordinator.cpp?r1=188918&r2=188917&pathrev=188918
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ProgrammaticScrollAnimator.cpp?r1=188918&r2=188917&pathrev=188918
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/scroll/ScrollableArea.h?r1=188918&r2=188917&pathrev=188918
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/overflow-scroll-loses-composited-scrolling-expected.txt?r1=188918&r2=188917&pathrev=188918

Notify ProgrammaticScrollAnimator about scroll layer destruction

This makes ProgrammaticScrollAnimator get notified whenever a
composited scroll layer is created or destroyed, allowing
ProgrammaticScrollAnimator to take over scroll animations from
destroyed composited scroll layers.

BUG= 243871 

Review URL: https://codereview.chromium.org/871013005
-----------------------------------------------------------------
Project Member

Comment 56 by bugdroid1@chromium.org, Feb 4 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=189512

------------------------------------------------------------------
r189512 | ajuma@chromium.org | 2015-02-04T17:03:13.323013Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scrollBy.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTop.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollLeft.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scroll.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scrollBy.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-element-scrollTo.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTop.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollBy.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/frame/FrameView.cpp?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scroll.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scroll.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-element-scrollTo.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollTo.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollBy.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-interrupted-scroll.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scroll.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-scrollTo.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/main-frame-interrupted-scroll.html?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations?r1=189512&r2=189511&pathrev=189512
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/scroll-behavior/subframe-scrollLeft.html?r1=189512&r2=189511&pathrev=189512

Re-enable main-frame and subframe CSSOM smooth scroll layout tests

This re-enables tests that were disabled when the ScrollTopLeftInterop
runtime-enabled feature was disabled for tests in http://crrev.com/891523002.

Tests that previously scrolled the document element now scroll the body
element, and FrameView::setScrollPosition now checks the scroll-behavior
property on the body element rather than on the document element.

BUG= 243871 

Review URL: https://codereview.chromium.org/882153004
-----------------------------------------------------------------
Cc: tdres...@chromium.org
Any idea when we'll enable this?

Comment 58 by ajuma@chromium.org, Mar 23 2015

I'm hoping to carve out some time for this once Slimming Paint is further ahead. The main remaining tasks are:
1) Make this work with pinch viewport (that's issue 434497)
2) Implement smooth scrolling for ScrollIntoView and fragment scrolling.
This issue is probably related to  issue 575 .

Comment 62 by bmau...@fb.com, Jan 11 2016

Labels: DevRel-Faceboook
Labels: -DevRel-Faceboook DevRel-Facebook
When work on this resumes, we should be sure to follow-up on how it interacts with focus() and tab-scrolling: https://github.com/whatwg/html/issues/834#issuecomment-194017739
Components: -Blink>Animation Internals>Compositing>Animation Blink>Scroll
This doesn't touch core/animation, so updating components.
Labels: Hotlist-GoogleApps
Any updates here?

Comment 69 by ajuma@chromium.org, Aug 24 2016

Cc: ymalik@chromium.org
No real update, this is blocked on finding someone who has time to work on it.

Comment 70 by ajuma@chromium.org, Sep 12 2016

Owner: ymalik@chromium.org
Yash is interested in working on this :)
Blockedon: 648446
Owner: sunyunjia@chromium.org

Comment 73 by yio...@gmail.com, Nov 15 2016

Please support this: https://twitter.com/jieorlin/status/798347466592620545
sticky2.gif
206 KB View Download
Blockedon: 543737
NextAction: 2017-04-05
Labels: Hotlist-Input-Dev

Comment 77 by d4k...@gmail.com, Jan 13 2017

this "Feature/Bug" has quite a history... any plans that it will be implemented in the near feature?

Comment 78 by seju...@gmail.com, Feb 24 2017

Hello, is there any plans for supporting this feature for HTMLElement?
It will be good if we can use div_tag.scrollTo() with scroll-behaivor for smooth scrolling(when div_tag has overflow property).
Many people implement smooth scrolling for HTMLElement by using requestAnimationFrame + scrollTop, but sometimes this introduce overhead and cannot get acceleration from compositor.
Status: Started (was: Assigned)
We are working on it and have a patch under review. https://codereview.chromium.org/2650343008/
The predictability program is reviewing the top 50 starred Blink bugs this quarter, and this is #49 on that list.  Great to see this is actively progressing and has a NextAction!  What's our best guess at a possible target milestone for this to be ready to ship?
Does not work, for position: sticky elements
sticky.html
1.1 KB View Download

Comment 82 by san...@ugoku.nl, Oct 12 2017

Chrome 61 returns true for CSS.supports('scroll-behavior', 'smooth') , yet it's not working for me. Is that expected?

For a demo, see https://nllivecom-rasdol.savviihq.com/ in Firefox and Chrome (on Windows, FWIW) and click "Activeer je collega's"

Comment 83 by dtu@chromium.org, Oct 12 2017

Cc: -dtu@chromium.org
sunyunjia@ what is the status of this bug?
Status: Verified (was: Started)
cssom smooth scrolling has been implemented and enabled by default in M61, so closing this bug.
See attached demo. Clicking on "Scroll to bottom" does not scroll smoothly in Chrome 61.0.3163.100 (64-bit, Ubuntu), but it does in Firefox.

Both Smooth scrolling and Experimental Web Platform are enabled in chrome://flags
smoothscroll.html
3.5 KB View Download
Comment 86: In this page, it is the viewport that's overflowed. According to the spec https://www.w3.org/TR/cssom-view-1/#propdef-scroll-behavior , the scroll-behavior should be defined in root element, which is <html> in this case. Specifying the scroll-behavior in <html> should work in this demo.
Comment 87: no sorry, that doesn't work either. Tried it both as an attribute on the <html> tag as setting it in a <style> tag.
Comment 88: Sorry I didn't notice your version number. The bug was fixed in M62. See  crbug.com/758723  . M62 stable on linux is already released. Please update your Chrome to check. Thanks!
You're absolutely right. I was probably using Chrome 61 this morning. I tested it again now (in Chrome 62) and it works like charm! Thanks so much!
Project Member

Comment 91 by bugdroid1@chromium.org, Jul 6

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

commit fa8b12920e8c2042e47816d004b113c155e81aee
Author: Alexis Hetu <sugoi@google.com>
Date: Fri Jul 06 14:14:32 2018

Attempt to unmark some tests as slow/timeout

Now that SwiftShader is on Linux/Windows/MacOS and that a recent
performance improvement has been landed in SwiftShader, verify
which tests still require the Slow/Timeout markers and which don't.

TBR=kbr@chromium.org

Bug:chromium:24182  chromium:433711  chromium:763197  chromium:311482   chromium:243871   chromium:664857   chromium:9798   chromium:237270   chromium:241576   chromium:241869   chromium:246749   chromium:535478   chromium:363029   chromium:364225   chromium:552556   chromium:570656   chromium:584807  chromium:614910  chromium:791659   chromium:726075   chromium:808153  chromium:816045  chromium:693568  chromium:626703 chromium:703533 chromium:786641  chromium:799137   chromium:831686   chromium:831230  chromium:818324  chromium:810437   chromium:847205  chromium:848799  chromium:828962  chromium:849284  chromium:855055 

Change-Id: I5d36d20bd87b234fefe4da3ea7e4af039c0188cb
Reviewed-on: https://chromium-review.googlesource.com/1102341
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572962}
[modify] https://crrev.com/fa8b12920e8c2042e47816d004b113c155e81aee/third_party/WebKit/LayoutTests/SlowTests
[modify] https://crrev.com/fa8b12920e8c2042e47816d004b113c155e81aee/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 92 by bugdroid1@chromium.org, Nov 9

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

commit c1727d16d1f96c5828d71d7d0c897d2bff6779c6
Author: Dave Tapuska <dtapuska@chromium.org>
Date: Fri Nov 09 00:42:46 2018

Retire  CSSOMSmoothScroll flag

This actually fixes a bug that appeared in the bindings for window.
Previously window.scrollTo.length == 2 in Chrome but was 0 in
FireFox. This is detected by the cssom-view wpt test.

CSSOM View smooth scroll API shipped in M61
https://codereview.chromium.org/2938373003
https://www.chromestatus.com/features/5812155903377408

BUG= 243871 

Change-Id: I7e2d5b7be38fd7dfc26e633ccd171e435eba51e5
Reviewed-on: https://chromium-review.googlesource.com/c/1323694
Commit-Queue: David Bokan <bokan@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606672}
[modify] https://crrev.com/c1727d16d1f96c5828d71d7d0c897d2bff6779c6/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/interfaces-expected.txt
[modify] https://crrev.com/c1727d16d1f96c5828d71d7d0c897d2bff6779c6/third_party/blink/renderer/core/css/css_properties.json5
[modify] https://crrev.com/c1727d16d1f96c5828d71d7d0c897d2bff6779c6/third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
[modify] https://crrev.com/c1727d16d1f96c5828d71d7d0c897d2bff6779c6/third_party/blink/renderer/core/dom/element.cc
[modify] https://crrev.com/c1727d16d1f96c5828d71d7d0c897d2bff6779c6/third_party/blink/renderer/core/dom/element.idl
[modify] https://crrev.com/c1727d16d1f96c5828d71d7d0c897d2bff6779c6/third_party/blink/renderer/core/frame/window.idl
[modify] https://crrev.com/c1727d16d1f96c5828d71d7d0c897d2bff6779c6/third_party/blink/renderer/platform/runtime_enabled_features.json5

Sign in to add a comment