Project: chromium Issues People Development process History Sign in
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 Implement cssom smooth scrolling
Starred by 66 users Project Member Reported by nduca@chromium.org, May 24 2013 Back to list
Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-04-05
OS: All
Pri: 2
Type: Feature


Sign in to add a comment
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 zcor...@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
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
this "Feature/Bug" has quite a history... any plans that it will be implemented in the near feature?
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
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?
Sign in to add a comment