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() {
void LayoutView::InvalidatePaintForViewAndCompositedLayers() {
SetSubtreeShouldDoFullPaintInvalidation();
// The only way we know how to hit these ASSERTS below this point is via the
// Chromium OS login screen.
DisableCompositingQueryAsserts disabler;
if (Compositor()->InCompositingMode())
Compositor()->FullyInvalidatePaint();
if (!RuntimeEnabledFeatures::CompositeAfterPaintEnabled()) {
DisableCompositingQueryAsserts disabler;
if (Compositor()->InCompositingMode())
Compositor()->FullyInvalidatePaint();
}
}
bool LayoutView::MapToVisualRectInAncestorSpace(
......
......@@ -652,6 +652,8 @@ static void FullyInvalidatePaintRecursive(PaintLayer* layer) {
}
void PaintLayerCompositor::FullyInvalidatePaint() {
DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled());
// We're walking all compositing layers and invalidating them, so there's
// no need to have up-to-date compositing state.
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