Skip to content

Commit

Permalink
Remove over-invalidation of LayoutView on overflow recomputation.
Browse files Browse the repository at this point in the history
r581008 added a call to SetNeedsCompositingInputsUpdate in LayoutView
whenever overflow needed to be recomputed. It actually only
needs to do that when overflow actually changes. This regresses
any site which causes LayoutView overflow recomputation during
animations.

The call to SetNeedsCompositingInputsUpdate already exists
in LayoutBlock::ComputeOverflow, and correctly only does it
when overflow changes.

An example is tools/perf/page_sets/key_silk_cases/pushState.html,
which was one of the key silk sites that regressed in issue 872172.
In that case, main frame times approximately doubled, because
of the extra work to compute compositing inputs.

crbug.com/872172

[email protected]

(cherry picked from commit d1042cc)

Change-Id: Iaf4780c0e3ed4d8df67d16d836486df6df0d2f43
Reviewed-on: https://chromium-review.googlesource.com/1200315
Reviewed-by: vmpstr <[email protected]>
Commit-Queue: Chris Harrelson <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#588205}
Reviewed-on: https://chromium-review.googlesource.com/1208436
Reviewed-by: Chris Harrelson <[email protected]>
Cr-Commit-Position: refs/branch-heads/3538@{#66}
Cr-Branched-From: 79f7c91-refs/heads/master@{#587811}
  • Loading branch information
chrishtr committed Sep 5, 2018
1 parent ee2046e commit 557dccd
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions third_party/blink/renderer/core/layout/layout_view.cc
Original file line number Diff line number Diff line change
Expand Up @@ -891,8 +891,6 @@ bool LayoutView::RecalcOverflowAfterStyleChange() {
SetShouldCheckForPaintInvalidation();
GetFrameView()->AdjustViewSize();
SetNeedsPaintPropertyUpdate();
if (Layer())
Layer()->SetNeedsCompositingInputsUpdate();
}
return result;
}
Expand Down

0 comments on commit 557dccd

Please sign in to comment.