Index: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
index 247d41b8d2ed7c8bd5f7a7da7f2b0150a73e79a3..04676b9089b8ca6282978143e28fb5c5af26778c 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
@@ -282,7 +282,11 @@ void PaintPropertyTreeBuilder::updateTransformForNonRootSVG( |
context.current.paintOffset == LayoutPoint()); |
if (object.needsPaintPropertyUpdate() || context.forceSubtreeUpdate) { |
- AffineTransform transform = object.localToSVGParentTransform(); |
+ // TODO(pdr): Refactor this so all non-root SVG objects use the same |
+ // transform function. |
+ const AffineTransform& transform = object.isSVGForeignObject() |
+ ? object.localSVGTransform() |
+ : object.localToSVGParentTransform(); |
// TODO(pdr): Check for the presence of a transform instead of the value. |
// Checking for an identity matrix will cause the property tree structure |
// to change during animations if the animation passes through the |