Commit d12aa0b6 authored by Daniel Libby's avatar Daniel Libby Committed by Commit Bot

FullyInvalidatePaint should not be called for CompositeAfterPaint

There is a DisableCompositingQueryAsserts in
LayoutView::InvalidatePaintForViewAndCompositedLayers, however for
CompositeAfterPaint, there is no CompositedLayerMapping to invalidate.
In this case, the call to SetSubtreeShouldDoFullPaintInvalidation
sets up state so that all necessary invalidation computed in the
pre-paint walk.

Bug: 1007989
Change-Id: I7dcf39fc8473baa5aa0a9e4dd3c28cd588562a20
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1899902Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Commit-Queue: Daniel Libby <dlibby@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#714049}
parent fb4a941a
...@@ -462,12 +462,11 @@ void LayoutView::SetShouldDoFullPaintInvalidationForViewAndAllDescendants() { ...@@ -462,12 +462,11 @@ void LayoutView::SetShouldDoFullPaintInvalidationForViewAndAllDescendants() {
void LayoutView::InvalidatePaintForViewAndCompositedLayers() { void LayoutView::InvalidatePaintForViewAndCompositedLayers() {
SetSubtreeShouldDoFullPaintInvalidation(); SetSubtreeShouldDoFullPaintInvalidation();
// The only way we know how to hit these ASSERTS below this point is via the if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) {
// Chromium OS login screen.
DisableCompositingQueryAsserts disabler; DisableCompositingQueryAsserts disabler;
if (Compositor()->InCompositingMode()) if (Compositor()->InCompositingMode())
Compositor()->FullyInvalidatePaint(); Compositor()->FullyInvalidatePaint();
}
} }
bool LayoutView::MapToVisualRectInAncestorSpace( bool LayoutView::MapToVisualRectInAncestorSpace(
......
...@@ -652,6 +652,8 @@ static void FullyInvalidatePaintRecursive(PaintLayer* layer) { ...@@ -652,6 +652,8 @@ static void FullyInvalidatePaintRecursive(PaintLayer* layer) {
} }
void PaintLayerCompositor::FullyInvalidatePaint() { void PaintLayerCompositor::FullyInvalidatePaint() {
DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
// We're walking all compositing layers and invalidating them, so there's // We're walking all compositing layers and invalidating them, so there's
// no need to have up-to-date compositing state. // no need to have up-to-date compositing state.
DisableCompositingQueryAsserts disabler; DisableCompositingQueryAsserts disabler;
......
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