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

Issue 2423143002: Scrollbar fade animation broken on Android regression resolved. (Closed)

Created:
4 years, 2 months ago by sahel
Modified:
4 years ago
CC:
cc-bugs_chromium.org, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Scrollbar fade animation broken on Android regression resolved. ClearCurrentlyScrollingLayer() is always called in scrollEnd(), and in scrollBegin() if the scroll is in inertial phase, the last scrolled layer is re-used instead of a new hit testing. BUG=649122 TEST=LayerTreeHostImplTest.ScrollbarAnimationEndsAfterScrollEnd CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Patch Set 1 #

Patch Set 2 : scroll variables cached before reseting, and restored in scrollBegin with inertial phase. #

Total comments: 17

Patch Set 3 : The helper class moved to layer_tree_host_impl.h #

Patch Set 4 : unittest added. #

Total comments: 17

Patch Set 5 : scrolling_layer_id cached. #

Total comments: 9

Patch Set 6 : review comments addressed. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+155 lines, -65 lines) Patch
M cc/input/scrollbar_animation_controller.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 3 chunks +43 lines, -0 lines 2 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 8 chunks +70 lines, -52 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 13 chunks +39 lines, -12 lines 0 comments Download
M cc/trees/layer_tree_host_unittest_scroll.cc View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 62 (37 generated)
sahel
4 years, 2 months ago (2016-10-19 15:19:08 UTC) #14
tdresser
+bokan for review. Can you add a bug number and a test? https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc ...
4 years, 2 months ago (2016-10-19 15:28:04 UTC) #16
bokan
Overall changes look fine to me, just needs test. https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode187 cc/trees/layer_tree_host_impl.cc:187: ...
4 years, 2 months ago (2016-10-20 15:35:10 UTC) #17
sahel
https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.cc#newcode162 cc/trees/layer_tree_host_impl.cc:162: // coresponding scroll event. On 2016/10/19 15:28:04, tdresser wrote: ...
4 years, 1 month ago (2016-10-25 15:34:14 UTC) #28
sahel
4 years, 1 month ago (2016-10-25 15:37:08 UTC) #29
bokan
https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.h File cc/trees/layer_tree_host_impl.h (right): https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.h#newcode704 cc/trees/layer_tree_host_impl.h:704: void CacheScrollingVariablesState(); On 2016/10/25 15:34:14, sahel wrote: > On ...
4 years, 1 month ago (2016-10-25 17:29:22 UTC) #30
sahel
https://codereview.chromium.org/2423143002/diff/120001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2423143002/diff/120001/cc/trees/layer_tree_host_impl.cc#newcode267 cc/trees/layer_tree_host_impl.cc:267: cached_scrolling_variables_state_ = ScrollingVariablesState( On 2016/10/25 17:29:22, bokan wrote: > ...
4 years, 1 month ago (2016-10-25 17:53:41 UTC) #31
bokan
https://codereview.chromium.org/2423143002/diff/120001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2423143002/diff/120001/cc/trees/layer_tree_host_impl.cc#newcode267 cc/trees/layer_tree_host_impl.cc:267: cached_scrolling_variables_state_ = ScrollingVariablesState( On 2016/10/25 17:53:41, sahel wrote: > ...
4 years, 1 month ago (2016-10-25 19:19:22 UTC) #32
sahel
https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.h File cc/trees/layer_tree_host_impl.h (right): https://codereview.chromium.org/2423143002/diff/60001/cc/trees/layer_tree_host_impl.h#newcode704 cc/trees/layer_tree_host_impl.h:704: void CacheScrollingVariablesState(); On 2016/10/25 17:29:21, bokan wrote: > On ...
4 years, 1 month ago (2016-10-26 14:11:44 UTC) #41
bokan
nit I missed previously, but lgtm otherwise https://codereview.chromium.org/2423143002/diff/120001/cc/trees/layer_tree_host_impl_unittest.cc File cc/trees/layer_tree_host_impl_unittest.cc (right): https://codereview.chromium.org/2423143002/diff/120001/cc/trees/layer_tree_host_impl_unittest.cc#newcode10914 cc/trees/layer_tree_host_impl_unittest.cc:10914: EXPECT_FALSE(scrollbar_animation_controller->currently_scrolling()); On ...
4 years, 1 month ago (2016-10-26 14:17:43 UTC) #42
tdresser
LGTM! https://codereview.chromium.org/2423143002/diff/160001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2423143002/diff/160001/cc/trees/layer_tree_host_impl.cc#newcode2686 cc/trees/layer_tree_host_impl.cc:2686: if (scrolling_layer_impl) Use {} https://codereview.chromium.org/2423143002/diff/160001/cc/trees/layer_tree_host_impl.cc#newcode4114 cc/trees/layer_tree_host_impl.cc:4114: LayerImpl* LayerTreeHostImpl::RestoreScrollStateForFling() ...
4 years, 1 month ago (2016-10-26 15:38:18 UTC) #43
bokan
https://codereview.chromium.org/2423143002/diff/160001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2423143002/diff/160001/cc/trees/layer_tree_host_impl.cc#newcode4114 cc/trees/layer_tree_host_impl.cc:4114: LayerImpl* LayerTreeHostImpl::RestoreScrollStateForFling() { On 2016/10/26 15:38:18, tdresser wrote: > ...
4 years, 1 month ago (2016-10-26 16:01:53 UTC) #44
sahel
https://codereview.chromium.org/2423143002/diff/160001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2423143002/diff/160001/cc/trees/layer_tree_host_impl.cc#newcode2686 cc/trees/layer_tree_host_impl.cc:2686: if (scrolling_layer_impl) On 2016/10/26 15:38:18, tdresser wrote: > Use ...
4 years, 1 month ago (2016-10-26 18:47:45 UTC) #49
sahel
aelias@chromium.org: Please review changes in
4 years, 1 month ago (2016-10-27 14:38:51 UTC) #51
aelias_OOO_until_Jul13
https://codereview.chromium.org/2423143002/diff/180001/cc/trees/layer_tree_host_impl.h File cc/trees/layer_tree_host_impl.h (right): https://codereview.chromium.org/2423143002/diff/180001/cc/trees/layer_tree_host_impl.h#newcode138 cc/trees/layer_tree_host_impl.h:138: class ScrollStateForFling { What's the event sequence that makes ...
4 years, 1 month ago (2016-10-27 21:48:11 UTC) #52
sahel
https://codereview.chromium.org/2423143002/diff/180001/cc/trees/layer_tree_host_impl.h File cc/trees/layer_tree_host_impl.h (right): https://codereview.chromium.org/2423143002/diff/180001/cc/trees/layer_tree_host_impl.h#newcode138 cc/trees/layer_tree_host_impl.h:138: class ScrollStateForFling { On 2016/10/27 21:48:11, aelias wrote: > ...
4 years, 1 month ago (2016-10-27 22:57:06 UTC) #53
aelias_OOO_until_Jul13
On 2016/10/27 at 22:57:06, sahel wrote: > https://codereview.chromium.org/2423143002/diff/180001/cc/trees/layer_tree_host_impl.h > File cc/trees/layer_tree_host_impl.h (right): > > https://codereview.chromium.org/2423143002/diff/180001/cc/trees/layer_tree_host_impl.h#newcode138 ...
4 years, 1 month ago (2016-10-27 23:14:23 UTC) #54
sahel
On 2016/10/27 23:14:23, aelias wrote: > On 2016/10/27 at 22:57:06, sahel wrote: > > > ...
4 years, 1 month ago (2016-10-28 16:48:46 UTC) #55
aelias_OOO_until_Jul13
On 2016/10/28 at 16:48:46, sahel wrote: > touchpad, ChrOs: flings and scrollends are in debouncing ...
4 years, 1 month ago (2016-11-01 21:25:01 UTC) #56
tdresser
On 2016/11/01 21:25:01, aelias wrote: > On 2016/10/28 at 16:48:46, sahel wrote: > > touchpad, ...
4 years, 1 month ago (2016-11-02 12:09:22 UTC) #57
tdresser
On 2016/11/02 12:09:22, tdresser wrote: > On 2016/11/01 21:25:01, aelias wrote: > > On 2016/10/28 ...
4 years, 1 month ago (2016-11-02 14:20:43 UTC) #58
aelias_OOO_until_Jul13
On 2016/11/02 at 12:09:22, tdresser wrote: > If I understand correctly, this isn't Chrome OS ...
4 years, 1 month ago (2016-11-03 01:16:50 UTC) #59
aelias_OOO_until_Jul13
cc'ing tapted@ for arcane Mac scroll event questions. Do you already know the answer to ...
4 years, 1 month ago (2016-11-03 01:18:04 UTC) #60
tapted
On 2016/11/03 01:18:04, aelias wrote: > cc'ing tapted@ for arcane Mac scroll event questions. Do ...
4 years, 1 month ago (2016-11-03 01:55:39 UTC) #61
aelias_OOO_until_Jul13
4 years, 1 month ago (2016-11-04 03:46:53 UTC) #62
Another thing I realized is that Windows 10 natively supports fling and the only
reason Chrome doesn't is because we use a legacy gesture API.  We should make
sure the design we chose is also a good fit for Windows when we fix
http://crbug.com/582193 .  This means another blocker for fixing this from my
POV would be to investigate the Windows API, see if it has a ScrollEnd before
FlingStart, and if so empirically test to answer questions 1) and 2) for Windows
as well.

Apologies for requesting all this investigation, I realize my requests make this
makes this a lot more work for you, but this seems like a very tricky problem
and my attitude is that we should make sure we fully understand platform APIs
before we commit to workarounds for their quirks.

Powered by Google App Engine
This is Rietveld 408576698