|
|
DescriptionHide/show topbar when scrolling page up or down.
Topbar was not hiding while scrolling down at some pages
starting with a table. It did show up however if previously
hidden when scrolling up. With this change, topbar animation is
triggered for both up & down scrolling.
See for example http://sv.wikipedia.org/wiki/M%C3%B6lnlycke and try
scrolling down, topbar is not hidden.
BUG=438548
Committed: https://crrev.com/01d84d33126f4162c9bd0c7c7f9a2e5970ea2e73
Cr-Commit-Position: refs/heads/master@{#308340}
Patch Set 1 #
Total comments: 2
Patch Set 2 : Added test case and fixed when to return from function 'ShouldTopControlsConsumeScroll' #Patch Set 3 : Moved test case to correct(er) place #Patch Set 4 : arrrr.. corrected the wrong name for the test set. #Patch Set 5 : test code changed during review. Trying again. #Patch Set 6 : another place #Patch Set 7 : Fixed test case #Messages
Total messages: 47 (19 generated)
elisabets@opera.com changed reviewers: + aelias@chromium.org, enne@chromium.org, jdduke@chromium.org, joi@chromium.org, sky@chromium.org
Made a smaller change in top bar behaviour, top bar should consume scroll event for scrolling both up & down.
On 2014/12/02 14:28:32, elisabets wrote: > Made a smaller change in top bar behaviour, top bar should consume scroll event > for scrolling both up & down. I see now that I might should have changed the comment above the code. A question I have as well, is there any cases where scroll = 0? If not, what is then the purpose of this function?
Note that it reproduces only when pan scrolling the page in chrome, when fling-scrolling, the topbar hides.
sky@chromium.org changed reviewers: - sky@chromium.org
I'm not a good reviewer for this. -sky
aelias@chromium.org changed reviewers: - enne@chromium.org, joi@chromium.org
Please file a new bug describing the symptom and link BUG= to it, and write a cc_unittest for this. https://codereview.chromium.org/769273002/diff/1/cc/trees/layer_tree_host_imp... File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/769273002/diff/1/cc/trees/layer_tree_host_imp... cc/trees/layer_tree_host_impl.cc:2573: if (scroll_delta.y() != 0) This fix isn't correct as it will hide the top controls even if the page is nonscrollable (i.e. this change defeats the purpose of the if statement on line 2580). It looks like the underlying problem you're fixing is that top controls hiding doesn't work when scrolls bubble up from a scrollable sublayer. That wikipedia table is a scrollable sublayer (that happens to not have any room to scroll). Maybe a more correct fix would be to remove the CurrentlyScrollingLayer() != if statement right below, as it seems that the problem is that we're checking that too early and it's redundant with a later-binding check.
https://codereview.chromium.org/769273002/diff/1/cc/trees/layer_tree_host_imp... File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/769273002/diff/1/cc/trees/layer_tree_host_imp... cc/trees/layer_tree_host_impl.cc:2573: if (scroll_delta.y() != 0) Ah, so the CurrentlyScrollingLayer is the <scrollable> table (which is not the same as either viewport). It makes a lot more sense to remove the following if-statement :) On 2014/12/02 19:55:02, aelias wrote: > This fix isn't correct as it will hide the top controls even if the page is > nonscrollable (i.e. this change defeats the purpose of the if statement on line > 2580). > > It looks like the underlying problem you're fixing is that top controls hiding > doesn't work when scrolls bubble up from a scrollable sublayer. That wikipedia > table is a scrollable sublayer (that happens to not have any room to scroll). > Maybe a more correct fix would be to remove the CurrentlyScrollingLayer() != if > statement right below, as it seems that the problem is that we're checking that > too early and it's redundant with a later-binding check.
lgtm, thanks!
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/20001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_gn_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
On 2014/12/08 07:57:20, I haz the power (commit-bot) wrote: > Try jobs failed on following builders: > linux_chromium_gn_dbg on tryserver.chromium.linux > (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) Moved test case to correct(er) place.
I'm sorry about my sloppiness... Do I need another 'lgtm' or can I integrate it right away?
On 2014/12/11 08:10:23, elisabets wrote: > I'm sorry about my sloppiness... > Do I need another 'lgtm' or can I integrate it right away? Nope, you're all set to commit.
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/40001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_gn_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_gn_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_chromium_gn_compile_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromiu...)
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_gn_dbg on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_gn_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/80001
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/100001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/120001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by elisabets@opera.com
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/769273002/120001
Message was sent while issue was closed.
Committed patchset #7 (id:120001)
Message was sent while issue was closed.
Patchset 7 (id:??) landed as https://crrev.com/01d84d33126f4162c9bd0c7c7f9a2e5970ea2e73 Cr-Commit-Position: refs/heads/master@{#308340} |