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

Unified Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp

Issue 2607003002: Set needs paint property update for changes of SVG isolation and blending. (Closed)
Patch Set: none Created 4 years 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
index 14ea841bfb4f8e638d53f6c332c998c02f8a8ec8..e24927b5ea36a642338146bf088d8cb71a66833e 100644
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
@@ -111,18 +111,23 @@ void LayoutSVGContainer::styleDidChange(StyleDifference diff,
bool hadIsolation =
oldStyle && !isSVGHiddenContainer() &&
SVGLayoutSupport::willIsolateBlendingDescendantsForStyle(*oldStyle);
- bool isolationChanged =
- hadIsolation ==
- !SVGLayoutSupport::willIsolateBlendingDescendantsForObject(this);
+
+ bool willIsolateBlendingDescendants =
+ SVGLayoutSupport::willIsolateBlendingDescendantsForObject(this);
+
+ bool isolationChanged = hadIsolation != willIsolateBlendingDescendants;
+
+ if (isolationChanged)
+ setNeedsPaintPropertyUpdate();
if (!parent() || !isolationChanged)
return;
- if (hasNonIsolatedBlendingDescendants())
+ if (hasNonIsolatedBlendingDescendants()) {
parent()->descendantIsolationRequirementsChanged(
- SVGLayoutSupport::willIsolateBlendingDescendantsForObject(this)
- ? DescendantIsolationNeedsUpdate
- : DescendantIsolationRequired);
+ willIsolateBlendingDescendants ? DescendantIsolationNeedsUpdate
+ : DescendantIsolationRequired);
+ }
}
bool LayoutSVGContainer::hasNonIsolatedBlendingDescendants() const {
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698