Fix scroll chaining for non-descendants of root scroller.
This CL fixes the scroll chaining behavior for elements that aren't descendants of the root scroller element. This can only happen in the non-document root scroller proposal. On the main thread scrolling path, we were previously assuming that all scrolls would chain through the effective root scroller. This CL fixes the terminating condition as well as removes an invalid DCHECK. On the compositor side, the chaining mechanisms would previously use the inner viewport scroll layer to designate viewport scrolling. Further on, we would explicitly check for the inner viewport layer and scroll using cc::Viewport. When scrolling a non-descendant of the root scroller, we chain up to the inner viewport scroll layer without going through the outer viewport. Scrolling cc::Viewport causes scrolling in the outer viewport though so we would scroll it inadvertaintly. I've made changes so that we use the outer viewport to designate cc::Viewport scrolling. Scrolls will terminate at the outer viewport scroll layer, but they don't have to chain through it. Unrelated, but I also removed LayerImpl::ApplyScroll as it's unused. BUG=505516 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2365793002 Cr-Commit-Position: refs/heads/master@{#420763}
Showing
This diff is collapsed.
Please register or sign in to comment