| Index: Source/core/layout/LayoutObject.cpp
|
| diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp
|
| index 28c61e1fc62b67b095b35bab84d089161fb73d33..699300108431bdbe4f8b794f0a5fb9faa0395217 100644
|
| --- a/Source/core/layout/LayoutObject.cpp
|
| +++ b/Source/core/layout/LayoutObject.cpp
|
| @@ -1700,6 +1700,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()))
|
|
|