Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h |
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h b/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h |
index 925c4871e2a38703dd25032bfe5123863395ae58..3160899c9e18df8fd239725fb587812dd5e51fba 100644 |
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h |
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h |
@@ -26,10 +26,19 @@ namespace blink { |
class SVGElement; |
+// A common class of SVG objects that delegate layout, paint, etc. tasks to |
+// LayoutBlockFlow. It has two coordinate spaces: |
+// - local SVG coordinate space: similar to LayoutSVGModelObject, the space |
+// that localSVGTransform() applies. |
+// - local HTML coordinate space: defined by frameRect() as if the local SVG |
+// coordinate space created a containing block. Like other LayoutBlockFlow |
+// objects, LayoutSVGBlock's frameRect() is also in physical coordinates with |
+// flipped blocks direction in the "containing block". |
class LayoutSVGBlock : public LayoutBlockFlow { |
public: |
explicit LayoutSVGBlock(SVGElement*); |
+ // These mapping functions map coordinates in HTML spaces. |
void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, |
TransformState&, |
MapCoordinatesFlags = ApplyContainerFlip) const final; |