Index: Source/core/css/resolver/StyleAdjuster.cpp |
diff --git a/Source/core/css/resolver/StyleAdjuster.cpp b/Source/core/css/resolver/StyleAdjuster.cpp |
index 733e50a61fb46c2684ba9ef0e8434d79e1581285..4730a955def2e481727eaa55464a0085d2b5dcdb 100644 |
--- a/Source/core/css/resolver/StyleAdjuster.cpp |
+++ b/Source/core/css/resolver/StyleAdjuster.cpp |
@@ -197,7 +197,8 @@ void StyleAdjuster::adjustComputedStyle(ComputedStyle& style, const ComputedStyl |
// will-change:transform should result in the same rendering behavior as having a transform, |
// including the creation of a containing block for fixed position descendants. |
pdr.
2015/04/10 20:19:21
Please add the comment I suggested.
|
- if (!style.hasTransform() && (style.willChangeProperties().contains(CSSPropertyWebkitTransform) || style.willChangeProperties().contains(CSSPropertyTransform))) { |
+ bool isSVGElement = e && e->isSVGElement(); |
+ if (!isSVGElement && !style.hasTransform() && (style.willChangeProperties().contains(CSSPropertyWebkitTransform) || style.willChangeProperties().contains(CSSPropertyTransform))) { |
bool makeIdentity = true; |
style.setTransform(TransformOperations(makeIdentity)); |
} |
@@ -228,7 +229,7 @@ void StyleAdjuster::adjustComputedStyle(ComputedStyle& style, const ComputedStyl |
|| style.hasFilter())) |
style.setTransformStyle3D(TransformStyle3DFlat); |
- if (e && e->isSVGElement()) { |
+ if (isSVGElement) { |
// Only the root <svg> element in an SVG document fragment tree honors css position |
if (!(isSVGSVGElement(*e) && e->parentNode() && !e->parentNode()->isSVGElement())) |
style.setPosition(ComputedStyle::initialPosition()); |