Index: third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
diff --git a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
index 1cfafd3907518a8551167600b9bc925d9525e590..d621b30fde478c6c648982a78775be6ab7de3795 100644 |
--- a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
+++ b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp |
@@ -499,10 +499,6 @@ void ObjectPaintInvalidatorWithContext::InvalidatePaintRectangleWithContext( |
if (rect.IsEmpty()) |
return; |
- if (context_.forced_subtree_invalidation_flags & |
- PaintInvalidatorContext::kForcedSubtreeNoRasterInvalidation) |
- return; |
- |
// If the parent has fully invalidated and its visual rect covers this object |
// on the same backing, skip the invalidation. |
if (ParentFullyInvalidatedOnSameBacking() && |
@@ -527,8 +523,8 @@ ObjectPaintInvalidatorWithContext::ComputePaintInvalidationReason() { |
background_obscuration_changed = true; |
} |
- if (context_.forced_subtree_invalidation_flags & |
- PaintInvalidatorContext::kForcedSubtreeFullInvalidation) |
+ if (context_.subtree_flags & |
+ PaintInvalidatorContext::kSubtreeFullInvalidation) |
return PaintInvalidationReason::kSubtree; |
if (object_.ShouldDoFullPaintInvalidation()) |
@@ -626,6 +622,9 @@ DISABLE_CFI_PERF |
PaintInvalidationReason |
ObjectPaintInvalidatorWithContext::InvalidatePaintWithComputedReason( |
PaintInvalidationReason reason) { |
+ DCHECK(!(context_.subtree_flags & |
+ PaintInvalidatorContext::kSubtreeNoInvalidation)); |
+ |
// We need to invalidate the selection before checking for whether we are |
// doing a full invalidation. This is because we need to update the previous |
// selection rect regardless. |
@@ -638,8 +637,8 @@ ObjectPaintInvalidatorWithContext::InvalidatePaintWithComputedReason( |
// stay the same) so no rect-based invalidation is issued. See |
// crbug.com/508383 and crbug.com/515977. |
if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() && |
- (context_.forced_subtree_invalidation_flags & |
- PaintInvalidatorContext::kForcedSubtreeInvalidationChecking) && |
+ (context_.subtree_flags & |
+ PaintInvalidatorContext::kSubtreeInvalidationChecking) && |
!object_.IsSVGChild()) { |
// For SPv1, we conservatively assume the object changed paint offset |
// except for non-root SVG whose paint offset is always zero. |
@@ -648,8 +647,8 @@ ObjectPaintInvalidatorWithContext::InvalidatePaintWithComputedReason( |
} |
if (object_.IsSVG() && |
- (context_.forced_subtree_invalidation_flags & |
- PaintInvalidatorContext::kForcedSubtreeSVGResourceChange)) { |
+ (context_.subtree_flags & |
+ PaintInvalidatorContext::kSubtreeSVGResourceChange)) { |
reason = PaintInvalidationReason::kSVGResource; |
break; |
} |