Skip to content
Permalink
Browse files
[LBSE] Activate support for 'defs' (hidden containers)
https://bugs.webkit.org/show_bug.cgi?id=243497

Reviewed by Rob Buis.

Activate support for <defs> (and hidden containers, in general).

All children of a RenderSVGHiddenContainer are never painted directly,
independant of their visibility / display property values. Extend SVGGraphicsElement
to implement the 'didAttachRenderers' function, which is called after a freshly setup
renderer was inserted into the tree. Dirty the content visibility status of the associated
layer, to assure that it is going to be re-evaluated during the next layout phase.

RenderLayer computeHasVisibleContent() needs to consider the ancestor chain for SVG renderers:
the presence of a RenderSVGHiddenContainer in the ancestor chain unconditionally flags
each affected renderer as "invisible". This new logic also partly fixes webkit.org/b/243417.

Fixes 1 additional SVG 1.1 testcase.

* LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-05-t-expected.txt:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-text-06-t-expected.txt:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/accessibility/AccessibilitySVGElement.cpp:
(WebCore::AccessibilitySVGElement::computeAccessibilityIsIgnored const):
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::layerCreationAllowedForSubtree const):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::computeHasVisibleContent const):
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintsContent const):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isLegacySVGHiddenContainer const):
* Source/WebCore/rendering/svg/LegacyRenderSVGHiddenContainer.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp.
(WebCore::LegacyRenderSVGHiddenContainer::LegacyRenderSVGHiddenContainer):
(WebCore::LegacyRenderSVGHiddenContainer::layout):
(WebCore::LegacyRenderSVGHiddenContainer::paint):
(WebCore::LegacyRenderSVGHiddenContainer::absoluteQuads const):
(WebCore::LegacyRenderSVGHiddenContainer::nodeAtFloatPoint):
* Source/WebCore/rendering/svg/LegacyRenderSVGHiddenContainer.h: Copied from Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h.
* Source/WebCore/rendering/svg/LegacyRenderSVGRoot.cpp:
(WebCore::LegacyRenderSVGRoot::paintReplaced):
* Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer):
(WebCore::RenderSVGHiddenContainer::layout):
(WebCore::RenderSVGHiddenContainer::styleDidChange):
(WebCore::RenderSVGHiddenContainer::paint): Deleted.
(WebCore::RenderSVGHiddenContainer::absoluteQuads const): Deleted.
(WebCore::RenderSVGHiddenContainer::nodeAtFloatPoint): Deleted.
* Source/WebCore/rendering/svg/RenderSVGHiddenContainer.h:
* Source/WebCore/rendering/svg/RenderSVGModelObject.h:
* Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::layout):
(WebCore::RenderSVGResourceContainer::willBeDestroyed):
(WebCore::RenderSVGResourceContainer::styleDidChange):
* Source/WebCore/rendering/svg/RenderSVGResourceContainer.h:
* Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
(WebCore::RenderSVGResourceFilterPrimitive::filterPrimitiveElement const):
(WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
* Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h:
* Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp:
(WebCore::SVGBoundingBoxComputation::handleRootOrContainer const):
* Source/WebCore/rendering/svg/SVGContainerLayout.cpp:
(WebCore::SVGContainerLayout::layoutChildren):
* Source/WebCore/rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
* Source/WebCore/svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::createElementRenderer):
* Source/WebCore/svg/SVGElement.cpp:
(WebCore::createSVGLayerAwareElementSet):
* Source/WebCore/svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::rendererIsNeeded):
* Source/WebCore/svg/SVGGElement.cpp:
(WebCore::SVGGElement::createElementRenderer):
* Source/WebCore/svg/SVGGradientElement.cpp:
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::createElementRenderer):
(WebCore::SVGGraphicsElement::didAttachRenderers):
* Source/WebCore/svg/SVGGraphicsElement.h:
* Source/WebCore/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::didAttachRenderers):
* Source/WebCore/svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::createElementRenderer):

Canonical link: https://commits.webkit.org/253510@main
  • Loading branch information
nikolaszimmermann committed Aug 17, 2022
1 parent e7501dd commit a52e110542e409ecac09a66de8c06a551dc94e5f
Show file tree
Hide file tree
Showing 77 changed files with 943 additions and 127 deletions.
@@ -38,7 +38,7 @@ svg/W3C-SVG-1.1/animate-elem-27-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-28-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-29-b.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-30-t.svg [ ImageOnlyFailure ]
svg/W3C-SVG-1.1/animate-elem-31-t.svg [ ImageOnlyFailure ]
svg/W3C-SVG-1.1/animate-elem-31-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-32-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-33-t.svg [ ImageOnlyFailure ]
svg/W3C-SVG-1.1/animate-elem-34-t.svg [ Pass ]
@@ -62,7 +62,7 @@ svg/W3C-SVG-1.1/animate-elem-68-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-69-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-70-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-77-t.svg [ ImageOnlyFailure ]
svg/W3C-SVG-1.1/animate-elem-78-t.svg [ ImageOnlyFailure ]
svg/W3C-SVG-1.1/animate-elem-78-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-80-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-81-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-82-t.svg [ Pass ImageOnlyFailure ]
@@ -54,6 +54,26 @@ layer at (250,10) size 0x161
RenderSVGPath {line} at (240,2) size 0x161 [stroke={[type=SOLID] [color=#B4B4B4]}] [fill={[type=SOLID] [color=#000000]}] [x1=250.00] [y1=10.00] [x2=250.00] [y2=170.00]
layer at (247,160) size 6x11
RenderSVGPath {path} at (237,152) size 6x11 [fill={[type=SOLID] [color=#B4B4B4]}] [data="M 250 170 L 247 160 L 253 160 Z"]
layer at (10,10) size 20x41
RenderSVGHiddenContainer {defs} at (0,2) size 20x41
layer at (10,10) size 20x40
RenderSVGPath {line} at (0,0) size 20x40 [stroke={[type=SOLID] [color=#105D8C] [stroke width=3.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=30.00] [y1=50.00] [x2=10.00] [y2=10.00]
layer at (10,60) size 60x21
RenderSVGHiddenContainer {defs} at (0,52) size 60x21
layer at (10,60) size 60x20
RenderSVGRect {rect} at (0,0) size 60x20 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFFFFF]}] [x=10.00] [y=60.00] [width=60.00] [height=20.00]
layer at (10,90) size 20x21
RenderSVGHiddenContainer {defs} at (0,82) size 20x21
layer at (10,90) size 20x20
RenderSVGEllipse {circle} at (0,0) size 20x20 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#105D8C]}] [cx=20.00] [cy=100.00] [r=10.00]
layer at (200,20) size 20x41
RenderSVGHiddenContainer {defs} at (190,12) size 20x41
layer at (200,20) size 20x40
RenderSVGPath {polyline} at (0,0) size 20x40 [stroke={[type=SOLID] [color=#105D8C] [stroke width=2.00]}] [points="200 20 200 40 220 40 220 60"]
layer at (240,20) size 20x21
RenderSVGHiddenContainer {defs} at (230,12) size 20x21
layer at (240,20) size 20x20
RenderSVGPath {polygon} at (0,0) size 20x20 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#FFFFFF]}] [points="240 20 240 40 260 40 260 20"]
layer at (10,10) size 20x41
RenderSVGTransformableContainer {use} at (0,2) size 20x41
layer at (10,10) size 20x40
@@ -15,25 +15,21 @@ layer at (10,10) size 40x40
layer at (10,80) size 40x40
RenderSVGEllipse {circle} at (0,70) size 40x40 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#800080]}] [cx=30.00] [cy=100.00] [r=20.00]
layer at (60,10) size 40x40
RenderSVGTransformableContainer {g} at (50,0) size 40x40
RenderSVGHiddenContainer {g} at (50,0) size 40x40
layer at (60,10) size 40x40
RenderSVGEllipse {circle} at (0,0) size 40x40 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#008000]}] [cx=80.00] [cy=30.00] [r=20.00]
layer at (60,80) size 40x40
RenderSVGEllipse {circle} at (50,70) size 40x40 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#008000]}] [cx=80.00] [cy=100.00] [r=20.00]
layer at (110,80) size 40x40
RenderSVGEllipse {circle} at (100,70) size 40x40 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#FF0000]}] [cx=130.00] [cy=100.00] [r=20.00]
layer at (160,10) size 40x40
RenderSVGTransformableContainer {g} at (150,0) size 40x40
layer at (160,10) size 40x40
RenderSVGTransformableContainer {g} at (0,0) size 40x40
RenderSVGHiddenContainer {g} at (160,10) size 40x40
layer at (160,10) size 40x40
RenderSVGEllipse {circle} at (0,0) size 40x40 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#0000FF]}] [cx=180.00] [cy=30.00] [r=20.00]
layer at (160,80) size 40x40
RenderSVGEllipse {circle} at (150,70) size 40x40 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#0000FF]}] [cx=180.00] [cy=100.00] [r=20.00]
layer at (160,10) size 40x40
RenderSVGTransformableContainer {g} at (150,0) size 40x40
layer at (160,10) size 40x40
RenderSVGTransformableContainer {g} at (0,0) size 40x40
RenderSVGHiddenContainer {g} at (160,10) size 40x40
layer at (160,10) size 40x40
RenderSVGEllipse {circle} at (0,0) size 40x40 [stroke={[type=SOLID] [color=#000000] [stroke width=5.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [cx=180.00] [cy=30.00] [r=20.00]
layer at (160,80) size 40x40
@@ -44,6 +44,20 @@ layer at (-29,46) size 57x18 backgroundClip at (0,0) size 480x360 clip at (0,0)
chunk 1 (middle anchor) text run 1 at (-28.57,60.00) startOffset 0 endOffset 7 width 57.14: "<image>"
layer at (-37,-27) size 76x92 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {g} at (5,2) size 76x92
layer at (0,-14) size 41x19 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGHiddenContainer {defs} at (37,13) size 41x19
layer at (0,-14) size 40x18 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGText {text} at (0,0) size 41x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 41x18
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 40.44: "Use A"
layer at (0,-14) size 40x18 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGText {text} at (0,0) size 40x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 40x18
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 39.55: "Use B"
layer at (0,-14) size 40x18 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGText {text} at (0,0) size 40x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 40x18
chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 39.55: "Use C"
layer at (-37,-27) size 75x35 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 75x35
layer at (-37,-27) size 74x35 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
@@ -12,6 +12,30 @@ layer at (-53,-47) size 106x127 backgroundClip at (0,0) size 480x360 clip at (0,
RenderSVGTransformableContainer {g} at (-53,-48) size 106x127
layer at (-42,-20) size 85x85 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {g} at (10,27) size 85x85
layer at (-20,-20) size 41x40 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGHiddenContainer {defs} at (21,0) size 41x40
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (17,17) size 6x6 [fill={[type=SOLID] [color=#000000]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {g} at (17,17) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#FFB400]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-20,-20) size 40x40 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGPath {path} at (0,0) size 40x40 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [data="M 0 0 C 13.3333 0 20 -6.66667 20 -20 C 6.66667 -20 0 -13.3333 0 0 C 0 -13.3333 -6.66667 -20 -20 -20 C -20 -6.66667 -13.3333 0 0 0 C -13.3333 0 -20 6.66667 -20 20 C -6.66667 20 0 13.3333 0 0 C 0 13.3333 6.66667 20 20 20 C 20 6.66667 13.3333 0 0 0 Z"]
layer at (-20,-20) size 41x40 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (21,0) size 41x40
layer at (-20,-20) size 40x40 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
@@ -150,6 +174,26 @@ layer at (-43,46) size 86x18 backgroundClip at (0,0) size 480x360 clip at (0,0)
chunk 1 (middle anchor) text run 1 at (-43.23,60.00) startOffset 0 endOffset 13 width 86.47: "x/y on <rect>"
layer at (-53,-47) size 106x112 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {g} at (0,0) size 106x112
layer at (-3,-3) size 7x7 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGHiddenContainer {defs} at (49,44) size 7x7
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {g} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#FFB400]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (0,0) size 6x6
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGRect {rect} at (0,0) size 6x6 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-3.00] [y=-3.00] [width=6.00] [height=6.00]
layer at (-3,-3) size 7x7 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360
RenderSVGTransformableContainer {use} at (49,44) size 7x7
layer at (-3,-3) size 6x6 backgroundClip at (0,0) size 480x360 clip at (0,0) size 480x360

0 comments on commit a52e110

Please sign in to comment.