| Index: third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
|
| index 8c03bf0b40723c038aa57e0855363408a36e1509..c603a3e3bb664c682cbbd7578ff2edf590667746 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
|
| @@ -111,12 +111,15 @@ static LayoutRect mapLocalRectToPaintInvalidationBacking(
|
| if (context.treeBuilderContext.current.transform ==
|
| containerContentsProperties->transform() &&
|
| context.treeBuilderContext.current.clip ==
|
| - containerContentsProperties->clip()) {
|
| + containerContentsProperties->clip() &&
|
| + context.treeBuilderContext.currentEffect ==
|
| + containerContentsProperties->effect()) {
|
| result = LayoutRect(rect);
|
| } else {
|
| PropertyTreeState currentTreeState(
|
| context.treeBuilderContext.current.transform,
|
| - context.treeBuilderContext.current.clip, nullptr, nullptr);
|
| + context.treeBuilderContext.current.clip,
|
| + context.treeBuilderContext.currentEffect, nullptr);
|
| result = LayoutRect(geometryMapper.sourceToDestinationVisualRect(
|
| FloatRect(rect), currentTreeState, *containerContentsProperties));
|
| }
|
| @@ -330,10 +333,8 @@ void PaintInvalidator::updateContext(const LayoutObject& object,
|
| context.forcedSubtreeInvalidationFlags |=
|
| PaintInvalidatorContext::ForcedSubtreeInvalidationChecking;
|
|
|
| - // TODO(crbug.com/637313): This is temporary before we support filters in
|
| - // GeometryMapper.
|
| // TODO(crbug.com/648274): This is a workaround for multi-column contents.
|
| - if (object.hasFilterInducingProperty() || object.isLayoutFlowThread()) {
|
| + if (object.isLayoutFlowThread()) {
|
| context.forcedSubtreeInvalidationFlags |=
|
| PaintInvalidatorContext::ForcedSubtreeSlowPathRect;
|
| }
|
|
|