New issue
Advanced search Search tips

Issue 755576 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

ScrollBegin and ScrollEnd not paired in cc

Project Member Reported by chaopeng@chromium.org, Aug 15 2017

Issue description

[1:10:0814/170422.198652:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.199119:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.199652:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170422.200000:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170422.202445:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.202763:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.257455:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.257831:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.273577:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.273838:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.295498:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.295862:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.310854:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.311248:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.326106:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.326378:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.340399:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.340696:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.353616:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.353874:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.368138:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.368511:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.385596:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170422.385860:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170422.562579:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.562925:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.563217:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170422.563488:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170422.564703:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.565002:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.600338:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.600688:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.612924:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.613232:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.630726:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.631066:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.648248:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.648561:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.664841:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.665180:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.680648:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.680935:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.695068:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.695351:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.708943:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.709219:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.723057:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.723321:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.742085:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170422.742394:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170422.748970:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170422.749219:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170423.063526:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.063907:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.064242:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170423.064512:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170423.065665:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.065960:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.114471:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.114774:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.132652:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.132978:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.144646:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.144935:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.160177:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.160466:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.177526:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.177802:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.191485:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.191752:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.206894:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.207142:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.223679:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.223959:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.239254:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.239520:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.248920:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170423.249161:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170423.752522:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.752952:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.753403:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170423.753707:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170423.754709:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.755002:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.798379:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.798683:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.816309:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.816596:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.828456:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.828740:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.847259:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.847607:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.858686:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.858986:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.874027:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.874302:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.890249:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.890529:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.907419:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.907683:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.924354:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170423.924634:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170423.961187:ERROR:layer_tree_impl.cc(634)] (130)??(0)
[1:10:0814/170423.961456:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170424.746964:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170424.747312:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260
[1:10:0814/170424.747530:ERROR:layer_tree_impl.cc(634)] (130)??(33)
[1:10:0814/170424.747733:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f260
[1:10:0814/170424.747915:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f560
[1:10:0814/170424.748155:ERROR:layer_tree_impl.cc(634)] (33)??(0)
[1:10:0814/170424.748340:ERROR:scrollbar_animation_controller.cc(183)] scroll end 0xa53f8c8f560
[1:10:0814/170424.749076:ERROR:layer_tree_impl.cc(634)] (0)??(130)
[1:10:0814/170424.749291:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f260 ***
[1:10:0814/170424.775124:ERROR:layer_tree_impl.cc(634)] (0)??(33)
[1:10:0814/170424.775428:ERROR:scrollbar_animation_controller.cc(179)] scroll begin: 0xa53f8c8f560 ***
[1:10:0814/170424.937002:ERROR:layer_tree_impl.cc(634)] (33)??(0)

The log is showing scroll begin happens on which controller.

There are 2 issue here:
1. ScrollBegin and ScrollEnd should paired appear
2. the marked log shows the scroll begin send to 2 different layer, which caused one does not get scroll end to reset the controller state.

 

Comment 1 by bokan@chromium.org, Aug 15 2017

Cc: sahel@chromium.org
Components: Internals>Compositing
Labels: Hotlist-Input-Dev
Status: Assigned (was: Untriaged)
I'm not sure I understand the issue here. What steps are you taking to produce this log?

In general, I don't think we have a guarantee and ScrollBegin and ScrollEnd will go to the same layer. That should be that case when latching is turned on though. 
Just open http://ht.chaopeng.me/bgcolor/colorful.html, mouse move to first div, then scroll down until mouse out of first div.

If we don't guarantee ScrollBegin and ScrollEnd will go to the same layer. Then ScrollbarAnimationController currently_scrolling_ field is wrong, we should remove it.

Comment 3 by bokan@chromium.org, Aug 15 2017

I see, yes, that's expected in today's architecture but I think should be fixed by scroll latching. With scroll latching enabled all GSB, GSU, and GSEs should go to the same layer/Element. You should try this with --enable-features=TouchpadAndWheelScrollLatching
I can still see this result with TouchpadAndWheelScrollLatching

[1:10:0815/133253.688128:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.688590:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ccd4a0
[1:10:0815/133253.692897:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.737466:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.749064:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.761785:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.785896:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.798794:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.811204:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.827820:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.845048:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.860118:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.880718:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.893412:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.909869:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.926044:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.942420:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.958054:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.974356:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133253.990157:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.009842:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.027211:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.042677:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.058504:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.074255:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.090773:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.108108:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.124558:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.140738:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.157561:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.174253:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.190926:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.206910:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.217200:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ccd4a0
[1:10:0815/133254.590213:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.590598:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ccd4a0
[1:10:0815/133254.590822:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ea1260
[1:10:0815/133254.591098:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ea1260
[1:10:0815/133254.591840:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.592941:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ccd4a0
[1:10:0815/133254.621455:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.666001:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.684505:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.698237:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.710002:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.726765:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.743395:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.759671:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.775477:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.791407:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133254.800806:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ccd4a0
[1:10:0815/133255.471400:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0
[1:10:0815/133255.471795:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ccd4a0
[1:10:0815/133255.472188:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ea1260
[1:10:0815/133255.472648:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ea1260
[1:10:0815/133255.481284:ERROR:scrollbar_animation_controller.cc(178)] ScrollBegin 0x18d5b8ccd4a0 ***
[1:10:0815/133255.637910:ERROR:scrollbar_animation_controller.cc(183)] ScrollEnd 0x18d5b8ea1260 ***

Comment 5 by bokan@chromium.org, Aug 15 2017

Interesting, is this using animated wheel scrolls or non-animated (e.g. precise touchpad on a Mac)?

I suspect we might have already (accidentally) changed the CurrentlyScrollingNode by the time we call ScrollEnd on the ScrollbarAnimationController. 

Comment 6 by sahel@chromium.org, Aug 15 2017

As we discussed with chaopeng@, the GSB/GSE events are always paired and sent to the same scroller when wheel scroll latching is enabled.
But the DidScrollBegin and DidScrollEnd from scrollbar_animation_controller are called in SetCurrentlyScrollingNode while handling GSBs/GSUs/GSEs:

https://cs.chromium.org/chromium/src/cc/trees/layer_tree_impl.cc?type=cs&sq=package:chromium&l=622

Comment 7 by bokan@chromium.org, Aug 15 2017

Right, but that means that we've started scrolling a new Layer before we've received a GSE for the old one (since the GSE calls ClearCurrentlyScrollingNode), doesn't it?

Comment 8 by sahel@chromium.org, Aug 15 2017

No it doesn't necessarily mean that.
The problem is that the SetCurrentlyScrollingNode function is called in PushPropertyTreesTo as well: https://cs.chromium.org/chromium/src/cc/trees/layer_tree_impl.cc?type=cs&sq=package:chromium&l=394

The new node is the currently scrolling node and the old node is not found and that's why DidScrollBegin gets called several times and DidScrollEnd doesn't.

Comment 9 by sahel@chromium.org, Aug 15 2017

I think one way to fix this is directly calling the scroll animator controllers on GSB and GSE handling rather than in SetCurrentlyScrollingNode
Thank you sahel
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 23 2017

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

commit 531c953d094216075f9a0d81ebc2a9776825ff7f
Author: chaopeng <chaopeng@chromium.org>
Date: Wed Aug 23 20:56:09 2017

Remove ScrollBegin/End calls from LTI::SetCurrentlyScrollingNode

ScrollBegin/End call not paired casued by: 

1. We do not guarantee ScrollBegin/End will call paired and call in same layer
   today.
2. We also call SetCurrentlyScrollingNode in PushPropertyTreesTo and
   PinchGestureBegin and DistributeScrollDelta.

Then we do not reset SAC::currently_scrolling_ correctly.

In this patch, we remove ScrollBegin/End call in LTI::SetCurrentlyScrollingNode.
After that all ScrollUpdate will cancel the previous delay fadeout and post a
new one.

Bug: 755576
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I20d1e2ef2b6628ce90f9a551cd7dbb0b73968d35
Reviewed-on: https://chromium-review.googlesource.com/616451
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496804}
[modify] https://crrev.com/531c953d094216075f9a0d81ebc2a9776825ff7f/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/531c953d094216075f9a0d81ebc2a9776825ff7f/cc/trees/layer_tree_impl.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 29 2017

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

commit 840d165b6ac02f10342147c556e67c776e1dd3da
Author: chaopeng <chaopeng@chromium.org>
Date: Tue Aug 29 19:19:03 2017

Call ScrollBegin/End in LTI behind latching flag

In this patch, we call ScrollBegin in LTI::ScrollBegin/ScrollBeginImpl
and ScrollEnd in LTI::ScrollEnd behind latching flag. Since latching
will guarantee ScrollBegin/End apply to the same layer.

Bug: 755576
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I90e82dc56907aeedf7f6d62d77089944504ae1eb
Reviewed-on: https://chromium-review.googlesource.com/627117
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498192}
[modify] https://crrev.com/840d165b6ac02f10342147c556e67c776e1dd3da/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/840d165b6ac02f10342147c556e67c776e1dd3da/cc/trees/layer_tree_host_impl_unittest.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 31 2017

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

commit 66105d902330447549fd63350bf62b90d225b6d4
Author: Jianpeng Chao <chaopeng@chromium.org>
Date: Thu Aug 31 22:10:11 2017

Revert "Call ScrollBegin/End in LTI behind latching flag"

This reverts commit 840d165b6ac02f10342147c556e67c776e1dd3da.

Reason for revert: Test regression crbug.com/760679

Original change's description:
> Call ScrollBegin/End in LTI behind latching flag
> 
> In this patch, we call ScrollBegin in LTI::ScrollBegin/ScrollBeginImpl
> and ScrollEnd in LTI::ScrollEnd behind latching flag. Since latching
> will guarantee ScrollBegin/End apply to the same layer.
> 
> Bug: 755576
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I90e82dc56907aeedf7f6d62d77089944504ae1eb
> Reviewed-on: https://chromium-review.googlesource.com/627117
> Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
> Reviewed-by: weiliangc <weiliangc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#498192}

TBR=weiliangc@chromium.org,chaopeng@chromium.org,sahel@chromium.org

Change-Id: I3664e59dc819032a721cfbe531871de98ee6562f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 755576, 760679
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/643989
Commit-Queue: Jianpeng Chao <chaopeng@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499034}
[modify] https://crrev.com/66105d902330447549fd63350bf62b90d225b6d4/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/66105d902330447549fd63350bf62b90d225b6d4/cc/trees/layer_tree_host_impl_unittest.cc

Chao, were you able to reproduce the perf regression locally?
#14, I can reproduce the regression locally.

Sign in to add a comment