haikuwebkit/LayoutTests/svg/foreignObject/foreign-object-defs-crash.svg

36 lines
982 B
XML
Raw Permalink Normal View History

Crash when mixing layers, foreignObjects and SVG hidden containers https://bugs.webkit.org/show_bug.cgi?id=87297 Reviewed by Dirk Schulze. Source/WebCore: Foreign objects may introduce content which requires layers, but layer creation is suppressed within RenderSVGHiddenContainer subtrees and this yields an inconsistent render tree state. This patch prevents foreignObject renderer instantiation under RenderSVGHiddenContainers. Test: svg/foreignObject/foreign-object-defs-crash.svg * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::rendererIsNeeded): (WebCore): * svg/SVGForeignObjectElement.h: (SVGForeignObjectElement): LayoutTests: * platform/chromium-mac-snowleopard/svg/custom/use-on-disallowed-foreign-object-6-expected.txt: * platform/chromium-win/svg/custom/use-on-disallowed-foreign-object-5-expected.txt: * platform/chromium-win/svg/custom/use-on-disallowed-foreign-object-6-expected.txt: * platform/chromium-win/svg/foreignObject/fO-parent-display-none-expected.txt: * platform/chromium-win/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: * platform/chromium-win/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: * platform/chromium-win/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: * platform/chromium/svg/custom/use-on-disallowed-foreign-object-5-expected.txt: * platform/chromium/svg/custom/use-on-disallowed-foreign-object-6-expected.txt: * platform/chromium/svg/foreignObject/fO-parent-display-none-expected.txt: * platform/chromium/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: * platform/chromium/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: * platform/chromium/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: * platform/efl/svg/foreignObject/fO-parent-display-none-expected.txt: * platform/efl/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: * platform/efl/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: * platform/efl/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: * platform/gtk/svg/custom/use-on-disallowed-foreign-object-5-expected.txt: * platform/gtk/svg/custom/use-on-disallowed-foreign-object-6-expected.txt: * platform/gtk/svg/foreignObject/fO-parent-display-none-expected.txt: * platform/gtk/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: * platform/gtk/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: * platform/gtk/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.txt: * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.txt: * platform/mac/svg/foreignObject/fO-parent-display-none-expected.txt: * platform/mac/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: * platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: * platform/mac/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: * platform/qt/svg/custom/use-on-disallowed-foreign-object-5-expected.txt: * platform/qt/svg/custom/use-on-disallowed-foreign-object-6-expected.txt: * platform/qt/svg/foreignObject/fO-parent-display-none-expected.txt: * platform/qt/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: * platform/qt/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: * platform/qt/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: * svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt: * svg/foreignObject/foreign-object-defs-crash-expected.txt: Added. * svg/foreignObject/foreign-object-defs-crash.svg: Added. * svg/foreignObject/text-tref-02-b-expected.txt: Canonical link: https://commits.webkit.org/119339@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@133521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-11-05 21:51:24 +00:00
<?xml version="1.0"?>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<!-- Test for https://bugs.webkit.org/show_bug.cgi?id=87297 -->
<defs>
<g id="grp1">
<foreignObject width="400" height="200">
<xhtml:div xmlns="http://www.w3.org/1999/xhtml" style="position:absolute;"></xhtml:div>
</foreignObject>
</g>
<use xlink:href="#grp2"/>
</defs>
<g>
<use xlink:href="#grp1"/>
</g>
<g id="grp2">
<foreignObject width="400" height="200">
<xhtml:div xmlns="http://www.w3.org/1999/xhtml" style="position:absolute;"></xhtml:div>
</foreignObject>
</g>
<linearGradient>
<foreignObject>
<xhtml:div xmlns="http://www.w3.org/1999/xhtml" style="position:fixed;"></xhtml:div>
</foreignObject>
</linearGradient>
<text>PASS: did not crash.</text>
<script>
if (window.testRunner)
testRunner.dumpAsText();
</script>
</svg>