| Index: Source/core/layout/LayoutObject.cpp
|
| diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp
|
| index 6ddea1c970ff66b203ede634690f88b51eb529ca..7adc2e04f3690d1240d707e3e38c4139b98bf069 100644
|
| --- a/Source/core/layout/LayoutObject.cpp
|
| +++ b/Source/core/layout/LayoutObject.cpp
|
| @@ -1701,6 +1701,13 @@ StyleDifference LayoutObject::adjustStyleDifference(StyleDifference diff) const
|
| diff.setNeedsPaintInvalidationLayer();
|
| }
|
|
|
| + // If backdrop filter changed, and the layer does not paint into its own separate backing or it paints with filters, then we need to invalidate paints.
|
| + if (diff.backdropFilterChanged() && hasLayer()) {
|
| + DeprecatedPaintLayer* layer = toLayoutBoxModelObject(this)->layer();
|
| + if (!layer->hasStyleDeterminedDirectCompositingReasons() || layer->paintsWithBackdropFilters())
|
| + diff.setNeedsPaintInvalidationLayer();
|
| + }
|
| +
|
| if (diff.textOrColorChanged() && !diff.needsPaintInvalidation()) {
|
| if (style()->hasBorder() || style()->hasOutline()
|
| || (isText() && !toLayoutText(this)->isAllCollapsibleWhitespace()))
|
|
|