Skip to content
Permalink
Browse files
[LBSE] Add support for 'foreignObject' elements
https://bugs.webkit.org/show_bug.cgi?id=243498

Reviewed by Rob Buis.

Rename RenderSVGForeignObject -> LegacyRenderSVGForeignObject.

Re-introduce RenderSVGForeignObject for LBSE. This marks the finish
of the renderer conversion: all non-resource related renderers have both a legacy
and LBSE Renderer class now: <foreignObject> was the last missing element in LBSE.

Covered by existing svg/foreignObject tests, which all pass now in LBSE (except
three that depends on clipping / masking / filters).

* LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/background-render-phase-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/body-background-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/clip-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/disallowed-svg-nodes-as-direct-children-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/fO-display-none-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/fO-display-none-with-relative-pos-content-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/fO-parent-display-changes-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/fO-parent-display-none-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/filter-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/mask-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/multiple-foreign-objects-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/no-crash-with-svg-content-in-html-document-expected.png: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/no-crash-with-svg-content-in-html-document-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/svg-document-as-direct-child-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/svg-document-in-html-document-expected.png: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/svg-document-in-html-document-expected.txt: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/text-tref-02-b-expected.png: Added.
* LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/foreignObject/text-tref-02-b-expected.txt: Added.
* LayoutTests/platform/mac/svg/foreignObject/fO-parent-display-changes-expected.txt:
* LayoutTests/svg/foreignObject/fO-parent-display-changes.svg:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/accessibility/AccessibilitySVGElement.cpp:
(WebCore::AccessibilitySVGElement::determineAccessibilityRole):
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::didAttachChild):
(WebCore::RenderElement::layerCreationAllowedForSubtree const):
* Source/WebCore/rendering/RenderElement.h:
(WebCore::RenderElement::canContainFixedPositionObjects const):
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateAncestorDependentState):
(WebCore::RenderLayer::paintForegroundForFragments):
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::shouldPaintSVGRenderer const):
* Source/WebCore/rendering/RenderLayerModelObject.h:
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isLegacySVGForeignObject const):
(WebCore::RenderObject::isSVGForeignObjectOrLegacySVGForeignObject const):
* Source/WebCore/rendering/svg/LegacyRenderSVGForeignObject.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp.
(WebCore::LegacyRenderSVGForeignObject::LegacyRenderSVGForeignObject):
(WebCore::LegacyRenderSVGForeignObject::foreignObjectElement const):
(WebCore::LegacyRenderSVGForeignObject::paint):
(WebCore::LegacyRenderSVGForeignObject::localToParentTransform const):
(WebCore::LegacyRenderSVGForeignObject::updateLogicalWidth):
(WebCore::LegacyRenderSVGForeignObject::computeLogicalHeight const):
(WebCore::LegacyRenderSVGForeignObject::layout):
(WebCore::LegacyRenderSVGForeignObject::nodeAtFloatPoint):
* Source/WebCore/rendering/svg/LegacyRenderSVGForeignObject.h: Copied from Source/WebCore/rendering/svg/RenderSVGForeignObject.h.
* Source/WebCore/rendering/svg/LegacyRenderSVGModelObject.h:
* Source/WebCore/rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::updateFromStyle):
(WebCore::RenderSVGBlock::mapLocalToContainer const):
(WebCore::RenderSVGBlock::pushMappingToContainer const):
* Source/WebCore/rendering/svg/RenderSVGBlock.h:
* Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::paint):
(WebCore::RenderSVGForeignObject::updateLogicalWidth):
(WebCore::RenderSVGForeignObject::computeLogicalHeight const):
(WebCore::RenderSVGForeignObject::layout):
(WebCore::RenderSVGForeignObject::overflowClipRect const):
(WebCore::RenderSVGForeignObject::updateFromStyle):
(WebCore::RenderSVGForeignObject::applyTransform const):
(WebCore::RenderSVGForeignObject::localToParentTransform const): Deleted.
(WebCore::RenderSVGForeignObject::nodeAtFloatPoint): Deleted.
* Source/WebCore/rendering/svg/RenderSVGForeignObject.h:
* Source/WebCore/rendering/svg/RenderSVGModelObject.h:
* Source/WebCore/rendering/svg/RenderSVGRoot.cpp:
* Source/WebCore/rendering/svg/SVGContainerLayout.cpp:
* Source/WebCore/svg/SVGElement.cpp:
(WebCore::createSVGLayerAwareElementSet):
* Source/WebCore/svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::createElementRenderer):
(WebCore::SVGForeignObjectElement::rendererIsNeeded):

Canonical link: https://commits.webkit.org/253816@main
  • Loading branch information
nikolaszimmermann committed Aug 26, 2022
1 parent 072bb28 commit 595633178b2f668b50dbb6346265be76c80b11d5
Show file tree
Hide file tree
Showing 45 changed files with 664 additions and 128 deletions.
@@ -1,13 +1,21 @@
# This TestExpectations file reflects the current status of the 'Layer-based SVG engine' (LBSE) in WebKit
# This TestExpectations file reflects the current status of the 'Layer-Based SVG Engine' (LBSE) in WebKit
#
# 1. Run tests against legacy SVG engine
# $ run-webkit-tests --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-pixel --pixel-tests --tolerance=0 svg/W3C-SVG-1.1 svg/compositing svg/z-index
# $ run-webkit-tests --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-pixel --pixel-tests --tolerance=0 \
# svg/W3C-SVG-1.1 svg/compositing svg/foreignObject svg/z-index
#
# 2. Run tests against LBSE
# $ run-webkit-tests --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-pixel \
# --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-lbse-text \
# $ run-webkit-tests --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-lbse-text \
# --additional-platform-directory=$PWD/LayoutTests/platform/mac-monterey-wk2-pixel \
# --additional-expectations=$PWD/LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations \
# --pixel-tests --tolerance=0 --internal-feature=LayerBasedSVGEngineEnabled=true svg/W3C-SVG-1.1 svg/compositing svg/z-index
# --pixel-tests --tolerance=0 --internal-feature=LayerBasedSVGEngineEnabled=true \
# svg/W3C-SVG-1.1 svg/compositing svg/foreignObject svg/z-index
#
# Notes:
# - 'platform/mac-monterey-wk2-pixel' contains only pixel test results (-expected.png) generated on macOS Monterey using legacy SVG engine
# - 'platform/mac-monterey-wk2-lbse-text' contains mostly text results (-expected.txt) which are intrinsically different between LBSE / legacy
# SVG engine plus a few pixel test results (-expected.png) that differ from the legacy SVG engine
# (e.g. progressions in individual tests)

svg/W3C-SVG-1.1/animate-elem-02-t.svg [ Pass ]
svg/W3C-SVG-1.1/animate-elem-03-t.svg [ Pass ]
@@ -287,3 +295,6 @@ svg/W3C-SVG-1.1/text-tspan-01-b.svg [ Pass ]
svg/W3C-SVG-1.1/text-ws-01-t.svg [ Pass ]
svg/W3C-SVG-1.1/text-ws-02-t.svg [ Pass ]
svg/W3C-SVG-1.1/types-basicDOM-01-b.svg [ ImageOnlyFailure ]
svg/foreignObject/clip.html [ ImageOnlyFailure ]
svg/foreignObject/filter.html [ ImageOnlyFailure ]
svg/foreignObject/mask.html [ ImageOnlyFailure ]
@@ -0,0 +1,15 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (0,0) size 800x600
RenderText {#text} at (0,0) size 0x0
layer at (0,0) size 300x150
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,0) size 300x150
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,0) size 100x50
RenderSVGRect {rect} at (0,0) size 100x50 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
layer at (0,0) size 200x50
RenderSVGForeignObject {foreignObject} at (0,0) size 200x50
RenderBlock {DIV} at (0,0) size 200x50 [bgcolor=#008000]
@@ -0,0 +1,13 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (20,20) size 200x100
RenderSVGRect {rect} at (20,20) size 200x100 [fill={[type=SOLID] [color=#FF0000]}] [x=20.00] [y=20.00] [width=200.00] [height=100.00]
layer at (0,0) size 200x100
RenderSVGForeignObject {foreignObject} at (0,0) size 200x100
RenderBlock {html} at (0,0) size 200x100
RenderBody {body} at (0,0) size 200x100 [bgcolor=#008000]
RenderBlock {div} at (0,0) size 200x100
@@ -0,0 +1,14 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (0,0) size 800x600
RenderText {#text} at (0,0) size 0x0
layer at (0,0) size 300x150
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,0) size 300x150
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,0) size 200x100
RenderSVGForeignObject {foreignObject} at (0,0) size 200x100
RenderBlock {DIV} at (0,0) size 200x50 [bgcolor=#008000]
RenderBlock {DIV} at (0,50) size 200x50 [bgcolor=#FF0000]
@@ -0,0 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 300x100
RenderSVGForeignObject {foreignObject} at (0,0) size 300x100
@@ -0,0 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 100x90
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
@@ -0,0 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 100x90
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
@@ -0,0 +1,17 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 100x90
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
layer at (0,0) size 100x100
RenderSVGTransformableContainer {g} at (0,0) size 100x100
layer at (0,0) size 100x100
RenderSVGForeignObject {foreignObject} at (0,0) size 100x100
RenderBlock {html} at (0,0) size 100x100
layer at (0,0) size 100x100
RenderBody {body} at (0,0) size 100x100 [color=#FFFFFF]
RenderText {#text} at (0,0) size 37x18
text run at (0,0) width 37: "PASS"
@@ -0,0 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 100x90
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
@@ -0,0 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 100x90
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
@@ -0,0 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 100x90
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
@@ -0,0 +1,8 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 100x90
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
@@ -0,0 +1,14 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (0,0) size 800x600
RenderText {#text} at (0,0) size 0x0
layer at (0,0) size 300x150
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,0) size 300x150
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,0) size 200x100
RenderSVGForeignObject {foreignObject} at (0,0) size 200x100
RenderBlock {DIV} at (0,0) size 200x50 [bgcolor=#008000]
RenderBlock {DIV} at (0,50) size 200x50 [bgcolor=#FF0000]
@@ -0,0 +1,14 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (0,0) size 800x600
RenderText {#text} at (0,0) size 0x0
layer at (0,0) size 300x150
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,0) size 300x150
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,0) size 200x100
RenderSVGForeignObject {foreignObject} at (0,0) size 200x100
RenderBlock {DIV} at (0,0) size 200x50 [bgcolor=#008000]
RenderBlock {DIV} at (0,50) size 200x50 [bgcolor=#FF0000]
@@ -0,0 +1,16 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (0,0) size 800x600
RenderText {#text} at (0,0) size 0x0
layer at (0,0) size 300x150
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,0) size 300x150
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,0) size 100x100
RenderSVGForeignObject {foreignObject} at (0,0) size 100x100
RenderBlock {DIV} at (0,0) size 100x100 [bgcolor=#008000]
layer at (0,0) size 100x100
RenderSVGForeignObject {foreignObject} at (0,0) size 100x100
RenderBlock {DIV} at (0,0) size 100x100 [bgcolor=#008000]
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,15 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 300x100
RenderSVGForeignObject {foreignObject} at (0,0) size 300x100
RenderBlock {html} at (0,16) size 300x18
RenderBlock {p} at (0,0) size 300x18
RenderText {#text} at (0,0) size 138x18
text run at (0,0) width 138: "This should not crash"
RenderBlock (anonymous) at (0,34) size 300x0
RenderInline {g} at (0,0) size 0x0
RenderText {#text} at (0,0) size 0x0
@@ -0,0 +1,31 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 300x100 scrollHeight 154
RenderSVGForeignObject {foreignObject} at (0,0) size 300x100
RenderText {#text} at (0,0) size 0x0
layer at (0,0) size 300x150 backgroundClip at (0,0) size 300x100 clip at (0,0) size 300x100
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,0) size 300x150 backgroundClip at (0,0) size 300x100 clip at (0,0) size 300x100
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,6) size 34x18
RenderSVGTransformableContainer {g} at (0,6) size 34x18
layer at (0,6) size 34x18
RenderSVGText {text} at (0,0) size 34x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 34x18
chunk 1 text run 1 at (0.00,20.00) startOffset 0 endOffset 5 width 33.76: "crash"
layer at (0,0) size 300x100 scrollHeight 154
RenderSVGForeignObject {foreignObject} at (0,0) size 300x100
RenderText {#text} at (0,0) size 0x0
layer at (0,0) size 300x150 backgroundClip at (0,50) size 300x100 clip at (0,50) size 300x100
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,0) size 300x150 backgroundClip at (0,50) size 300x100 clip at (0,50) size 300x100
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,0) size 100x100 backgroundClip at (0,50) size 300x100 clip at (0,50) size 300x100
RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
layer at (0,0) size 300x100 scrollHeight 154
RenderSVGForeignObject {foreignObject} at (0,0) size 300x100
RenderText {#text} at (0,0) size 0x0
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,24 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (0,0) size 300x100 scrollHeight 204
RenderSVGForeignObject {foreignObject} at (0,0) size 300x100
RenderBlock {html} at (0,16) size 300x188
RenderBlock {p} at (0,0) size 300x18
RenderText {#text} at (0,0) size 220x18
text run at (0,0) width 220: "Test from HTML in foreignObject"
RenderBlock (anonymous) at (0,34) size 300x154
RenderText {#text} at (0,0) size 0x0
layer at (0,50) size 300x150 backgroundClip at (0,50) size 300x50 clip at (0,50) size 300x50
RenderSVGRoot {svg} at (0,0) size 300x150
layer at (0,50) size 300x150 backgroundClip at (0,50) size 300x50 clip at (0,50) size 300x50
RenderSVGViewportContainer at (0,0) size 300x150
layer at (0,50) size 20x20
RenderSVGRect {rect} at (0,0) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=20.00] [height=20.00]
layer at (0,86) size 274x18 backgroundClip at (0,50) size 300x50 clip at (0,50) size 300x50
RenderSVGText {text} at (0,36) size 274x18 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 274x18
chunk 1 text run 1 at (0.00,50.00) startOffset 0 endOffset 38 width 273.73: "Test from SVG in HTML in foreignObject"
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,28 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGViewportContainer at (0,0) size 800x600
layer at (75,15) size 341x193
RenderSVGTransformableContainer {g} at (75,15) size 341x193
layer at (75,15) size 341x12
RenderSVGText {text} at (0,0) size 341x13 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 341x13
chunk 1 text run 1 at (75.00,25.00) startOffset 0 endOffset 63 width 340.75: "Test 'tref' element pointing outside the SVG document fragment."
layer at (75,171) size 82x36
RenderSVGText {text} at (0,155) size 83x37 contains 1 chunk(s)
RenderSVGInline {tref} at (0,0) size 83x37
RenderSVGInlineText {#text} at (0,0) size 83x37
chunk 1 text run 1 at (75.00,200.00) startOffset 0 endOffset 5 width 82.01: "Hello"
RenderSVGInlineText {#text} at (0,0) size 0x0
RenderSVGInline {tref} at (0,0) size 0x0
RenderSVGInlineText {#text} at (0,0) size 0x0
layer at (10,314) size 230x33
RenderSVGTransformableContainer {g} at (10,314) size 230x33
layer at (10,314) size 229x32
RenderSVGText {text} at (0,0) size 230x33 contains 1 chunk(s)
RenderSVGInlineText {#text} at (0,0) size 230x33
chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.44: "$Revision: 1.5 $"
layer at (1,1) size 478x358
RenderSVGRect {rect} at (1,1) size 478x358 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
@@ -1,11 +1,11 @@
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderSVGRoot {svg} at (0,0) size 100x90
RenderSVGContainer {g} at (0,0) size 0x0
RenderSVGForeignObject {foreignObject} at (0,0) size 0x0
RenderBlock {html} at (0,0) size 0x100
RenderSVGRoot {svg} at (0,0) size 100x100
RenderSVGRect {rect} at (0,0) size 100x90 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=90.00]
RenderSVGContainer {g} at (0,0) size 100x100
RenderSVGForeignObject {foreignObject} at (0,0) size 100x100
RenderBlock {html} at (0,0) size 100x100
layer at (0,0) size 100x100
RenderBody {body} at (0,0) size 100x100 [color=#FFFFFF]
RenderText {#text} at (0,0) size 37x18
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -2535,6 +2535,7 @@ rendering/style/TextSizeAdjustment.cpp
rendering/style/WillChangeData.cpp
rendering/svg/LegacyRenderSVGContainer.cpp
rendering/svg/LegacyRenderSVGEllipse.cpp
rendering/svg/LegacyRenderSVGForeignObject.cpp
rendering/svg/LegacyRenderSVGHiddenContainer.cpp
rendering/svg/LegacyRenderSVGImage.cpp
rendering/svg/LegacyRenderSVGModelObject.cpp

0 comments on commit 5956331

Please sign in to comment.