Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(284)

Issue 361143002: Impl thread smooth scrolling. (Closed)

Created:
6 years, 5 months ago by skobes
Modified:
6 years, 4 months ago
CC:
cc-bugs_chromium.org, chromium-reviews, darin-cc_chromium.org, jam, jamesr, jdduke+watch_chromium.org, jdduke (slow), Scott Byer
Project:
chromium
Visibility:
Public.

Description

Impl thread smooth scrolling. This is a first pass at smooth scrolling on the compositor thread. It adds LayerTreeHostImpl::ScrollAnimated, which kicks off a scroll offset animation through the layer animation controller. When the --enable-smooth-scrolling flag is present, InputHandlerProxy will call ScrollAnimated for composited wheel scrolls. Once this is in the next steps are: (1) Update the animation curve to aim at a new target when a wheel event comes in while a scroll animation is in progress. (For now we just drop the event.) (2) Unify the behavior with WebCore::ScrollAnimatorNone. We should be able to share a lot of logic since cc::ScrollOffsetAnimationCurve is already exposed to Blink through compositor bindings (for http://crbug.com/243871). BUG=575 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=282205

Patch Set 1 : #

Patch Set 2 : Better way to detect animation finished. #

Total comments: 6

Patch Set 3 : Use AnimationDelegate. #

Patch Set 4 : Add/update unit tests. #

Total comments: 10

Patch Set 5 : Address review comments. #

Total comments: 8

Patch Set 6 : Fix compile error in content_unittests. #

Patch Set 7 : Fix MSVC compile error. #

Patch Set 8 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+177 lines, -40 lines) Patch
M cc/animation/animation_delegate.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M cc/animation/layer_animation_controller.h View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M cc/animation/layer_animation_controller.cc View 1 2 2 chunks +8 lines, -2 lines 0 comments Download
M cc/animation/layer_animation_controller_unittest.cc View 1 2 3 4 8 chunks +14 lines, -35 lines 0 comments Download
M cc/input/input_handler.h View 1 chunk +3 lines, -0 lines 0 comments Download
M cc/layers/layer_impl.h View 1 2 3 chunks +11 lines, -1 line 0 comments Download
M cc/layers/layer_impl.cc View 1 2 3 4 3 chunks +12 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 2 chunks +60 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 1 chunk +31 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_impl.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_impl.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/input/input_handler_proxy.h View 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/input/input_handler_proxy.cc View 1 2 3 4 5 6 7 3 chunks +18 lines, -0 lines 0 comments Download
M content/renderer/input/input_handler_proxy_unittest.cc View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (0 generated)
skobes
6 years, 5 months ago (2014-07-07 22:00:29 UTC) #1
skobes
@jamesr, the idea we discussed of setting the cc::LayerImpl as the animation delegate did not ...
6 years, 5 months ago (2014-07-07 22:10:06 UTC) #2
skobes
On 2014/07/07 22:10:06, skobes wrote: > @jamesr, the idea we discussed of setting the cc::LayerImpl ...
6 years, 5 months ago (2014-07-08 00:48:06 UTC) #3
ajuma
A few questions and comments. Please also add some unit tests for this. https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc File ...
6 years, 5 months ago (2014-07-08 14:44:49 UTC) #4
skobes
Thanks for the review. https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc#newcode2289 cc/trees/layer_tree_host_impl.cc:2289: std::abs(actual_delta.y()) > kEpsilon); On 2014/07/08 ...
6 years, 5 months ago (2014-07-08 17:49:13 UTC) #5
ajuma
https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc#newcode2289 cc/trees/layer_tree_host_impl.cc:2289: std::abs(actual_delta.y()) > kEpsilon); On 2014/07/08 17:49:12, skobes wrote: > ...
6 years, 5 months ago (2014-07-08 18:45:32 UTC) #6
skobes
https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc#newcode2289 cc/trees/layer_tree_host_impl.cc:2289: std::abs(actual_delta.y()) > kEpsilon); On 2014/07/08 18:45:32, ajuma wrote: > ...
6 years, 5 months ago (2014-07-08 21:21:58 UTC) #7
jdduke (slow)
https://codereview.chromium.org/361143002/diff/140001/content/renderer/input/input_handler_proxy.cc File content/renderer/input/input_handler_proxy.cc (right): https://codereview.chromium.org/361143002/diff/140001/content/renderer/input/input_handler_proxy.cc#newcode162 content/renderer/input/input_handler_proxy.cc:162: smooth_scroll_enabled_ = CommandLine::ForCurrentProcess()->HasSwitch( Apologies for the drive-by, but why ...
6 years, 5 months ago (2014-07-08 21:26:20 UTC) #8
jdduke (slow)
https://codereview.chromium.org/361143002/diff/140001/content/renderer/input/input_handler_proxy.cc File content/renderer/input/input_handler_proxy.cc (right): https://codereview.chromium.org/361143002/diff/140001/content/renderer/input/input_handler_proxy.cc#newcode162 content/renderer/input/input_handler_proxy.cc:162: smooth_scroll_enabled_ = CommandLine::ForCurrentProcess()->HasSwitch( On 2014/07/08 21:26:20, jdduke wrote: > ...
6 years, 5 months ago (2014-07-08 21:28:34 UTC) #9
skobes
On 2014/07/08 21:26:20, jdduke wrote: > Apologies for the drive-by, but why do we need ...
6 years, 5 months ago (2014-07-08 21:33:34 UTC) #10
skobes
On 2014/07/08 21:28:34, jdduke wrote: > Hmm, disregard that, it looks like you're re-using an ...
6 years, 5 months ago (2014-07-08 21:35:14 UTC) #11
ajuma
On 2014/07/08 21:21:58, skobes wrote: > https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc > File cc/trees/layer_tree_host_impl.cc (right): > > https://codereview.chromium.org/361143002/diff/80001/cc/trees/layer_tree_host_impl.cc#newcode2289 > ...
6 years, 5 months ago (2014-07-08 21:51:35 UTC) #12
skobes
The CQ bit was checked by skobes@chromium.org
6 years, 5 months ago (2014-07-08 21:52:19 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skobes@chromium.org/361143002/140001
6 years, 5 months ago (2014-07-08 21:55:13 UTC) #14
ajuma
On 2014/07/08 21:52:19, skobes wrote: > The CQ bit was checked by mailto:skobes@chromium.org This still ...
6 years, 5 months ago (2014-07-08 21:59:22 UTC) #15
ajuma
The CQ bit was unchecked by ajuma@chromium.org
6 years, 5 months ago (2014-07-08 21:59:31 UTC) #16
skobes
+jochen for content/OWNERS
6 years, 5 months ago (2014-07-08 22:09:05 UTC) #17
jdduke (slow)
https://codereview.chromium.org/361143002/diff/140001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/361143002/diff/140001/cc/trees/layer_tree_host_impl.cc#newcode2274 cc/trees/layer_tree_host_impl.cc:2274: const gfx::Point& viewport_point, Was there a particular reason for ...
6 years, 5 months ago (2014-07-08 22:12:36 UTC) #18
skobes
https://codereview.chromium.org/361143002/diff/140001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/361143002/diff/140001/cc/trees/layer_tree_host_impl.cc#newcode2274 cc/trees/layer_tree_host_impl.cc:2274: const gfx::Point& viewport_point, On 2014/07/08 22:12:35, jdduke wrote: > ...
6 years, 5 months ago (2014-07-08 22:22:50 UTC) #19
jochen (gone - plz use gerrit)
content lgtm the bug number in the cl description looks odd?
6 years, 5 months ago (2014-07-09 09:18:54 UTC) #20
skobes
Thanks On 2014/07/09 09:18:54, jochen wrote: > the bug number in the cl description looks ...
6 years, 5 months ago (2014-07-09 15:42:36 UTC) #21
skobes
The CQ bit was checked by skobes@chromium.org
6 years, 5 months ago (2014-07-09 15:42:43 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skobes@chromium.org/361143002/180001
6 years, 5 months ago (2014-07-09 15:43:40 UTC) #23
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: mac_chromium_rel on tryserver.chromium ...
6 years, 5 months ago (2014-07-09 19:25:24 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-07-09 21:05:41 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/mac_chromium_rel/builds/47324)
6 years, 5 months ago (2014-07-09 21:05:42 UTC) #26
skobes
The CQ bit was checked by skobes@chromium.org
6 years, 5 months ago (2014-07-09 21:12:36 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skobes@chromium.org/361143002/190001
6 years, 5 months ago (2014-07-09 21:18:09 UTC) #28
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_dbg_triggered_tests on tryserver.chromium ...
6 years, 5 months ago (2014-07-10 00:02:08 UTC) #29
commit-bot: I haz the power
6 years, 5 months ago (2014-07-10 01:06:41 UTC) #30
Message was sent while issue was closed.
Change committed as 282205

Powered by Google App Engine
This is Rietveld 408576698