Commit 32419f44 authored by Chris Harrelson's avatar Chris Harrelson Committed by Commit Bot

[RLS] Skip compositing input step if a scroll can be applied directly.

This re-introduces the fast path implemented in PLC::FrameViewDidScroll.

Test coverage: all layout tests which use main-thread scrolling of a
composited layer (e.g. using window.scrollBy or gestures on scrollbars).

Bug: 770343
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I93a43072d19871611fa8845758410b094d67a8f7
Reviewed-on: https://chromium-review.googlesource.com/923089Reviewed-by: default avatarSteve Kobes <skobes@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537143}
parent e06ab5cb
...@@ -2063,8 +2063,16 @@ void PaintLayerScrollableArea::UpdateCompositingLayersAfterScroll() { ...@@ -2063,8 +2063,16 @@ void PaintLayerScrollableArea::UpdateCompositingLayersAfterScroll() {
DCHECK(Layer()->HasCompositedLayerMapping()); DCHECK(Layer()->HasCompositedLayerMapping());
Layer()->GetCompositedLayerMapping()->SetNeedsGraphicsLayerUpdate( Layer()->GetCompositedLayerMapping()->SetNeedsGraphicsLayerUpdate(
kGraphicsLayerUpdateSubtree); kGraphicsLayerUpdateSubtree);
compositor->SetNeedsCompositingUpdate(
kCompositingUpdateAfterGeometryChange); ScrollingCoordinator* scrolling_coordinator = GetScrollingCoordinator();
bool handled_scroll =
Layer()->IsRootLayer() && scrolling_coordinator &&
scrolling_coordinator->ScrollableAreaScrollLayerDidChange(this);
if (!handled_scroll) {
compositor->SetNeedsCompositingUpdate(
kCompositingUpdateAfterGeometryChange);
}
// If we have fixed elements and we scroll the root layer in RLS we might // If we have fixed elements and we scroll the root layer in RLS we might
// change compositing since the fixed elements might now overlap a // change compositing since the fixed elements might now overlap a
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment