Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(566)

Unified Diff: third_party/WebKit/Source/core/paint/PaintInvalidator.cpp

Issue 2625133003: Handle geometry effects of filters in GeometryMapper (Closed)
Patch Set: Rebaseline tests Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698