haikuwebkit/LayoutTests/svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg

160 lines
9.7 KiB
XML
Raw Permalink Normal View History

ASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY() https://bugs.webkit.org/show_bug.cgi?id=121682 Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-09 Reviewed by Dirk Schulze. Source/WebCore: Add more overflow freedom to the SVG element: -overflow-x and overflow-y for controlling each scrollbar independently is now supported -overflow:scroll will display scrollbars regardless of the svg overflowing or not (as required by CSS) -overflow:hidden will cause overflow to be clipped away and scrollbars to be hidden Merged from Blink r172126 by <ed@opera.com> Tests: svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg svg/animations/animate-viewport-overflow-2.html svg/animations/animate-viewport-overflow.html svg/in-html/overflow-repaint.html svg/in-html/overflow-svg-root-attr.html svg/in-html/overflow-svg-root-style.html svg/in-html/overflow-svg-root.html svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg svg/overflow/overflow-scroll-on-outermost-svg-element.svg svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg * css/StyleResolver.cpp: (WebCore::StyleResolver::adjustRenderStyle): * page/FrameView.cpp: (WebCore::FrameView::applyOverflowToViewport): * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::layout): (WebCore::RenderSVGRoot::shouldApplyViewportClip): (WebCore::RenderSVGRoot::paintReplaced): (WebCore::RenderSVGRoot::computeFloatRectForRepaint): * rendering/svg/RenderSVGRoot.h: * rendering/svg/SVGRenderSupport.cpp: (WebCore::SVGRenderSupport::isOverflowHidden): LayoutTests: Merge Blink r172126 by Erik Dahlström. * platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png: * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: * platform/mac/svg/text/non-bmp-positioning-lists-expected.txt: Added. * svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.png: Added. * svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added. * svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg: Added. * svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png: Added. * svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added. * svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg: Added. * svg/animations/animate-viewport-overflow-2-expected.txt: Added. * svg/animations/animate-viewport-overflow-2.html: Added. * svg/animations/animate-viewport-overflow-expected.txt: Added. * svg/animations/animate-viewport-overflow.html: Added. * svg/in-html/overflow-repaint-expected.txt: Added. * svg/in-html/overflow-repaint.html: Added. * svg/in-html/overflow-svg-root-attr-expected.html: Added. * svg/in-html/overflow-svg-root-attr.html: Added. * svg/in-html/overflow-svg-root-expected.html: Added. * svg/in-html/overflow-svg-root-style-expected.html: Added. * svg/in-html/overflow-svg-root-style.html: Added. * svg/in-html/overflow-svg-root.html: Added. * svg/overflow/overflow-on-outermost-svg-element-horizontal-auto-expected.html: Added. * svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg: Added. * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt: * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png: * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Copied from LayoutTests/platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt. * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml: * svg/overflow/overflow-on-outermost-svg-element-vertical-auto-expected.html: Added. * svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg: Added. * svg/overflow/overflow-scroll-on-outermost-svg-element-expected.txt: Added. * svg/overflow/overflow-scroll-on-outermost-svg-element.svg: Added. * svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg: Added. * svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg: Added. * svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg: Added. * svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg: Added. Canonical link: https://commits.webkit.org/150789@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-09 19:05:33 +00:00
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="AG" author="ED" status="accepted"
version="$Revision: 1.9 $" testname="$RCSfile: painting-marker-06-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#MarkerElement">
<p>
Tests the basic support for markers. For the three tests, there
should be two identical paths with markers drawn. The path on the left is
rendered using the marker elements. The path on the right is rendered using
the equivalent SVG, showing what the marked path should look like.
</p>
<p>
This test is similar to the painting-marker-01-f.svg test, but has some viewBox attributes
that have a non-zero offset.
</p>
<p>
The top test examines the basic support for the marker element and style. The markers are purple rectangles.
</p>
<p>
The middle test examines the support for the different styles of marker properties. The
"marker-start" property defines the marker to use at the first vertex of the marked path,
in this case a purple rectangle. The "marker-end" property defines the marker to use at the
last vertex of the marked path, in this case a blue triangle. The "marker-mid" property
defines the marker to use at all vertices, other than the first and last, of the marked path,
in this case a green circle.
</p>
<p>
The bottom test examines the support for marker orientation along the
path direction. The second vertex, the top right corner of the path, has a marker that
is rotated 45 degrees, since that is the average of the horizontal and vertical segments
each side. The last vertex, the bottom right corner of the path, has a marker rotated 90
degrees since that is the direction of the last path segment.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image, except for possible
variations in the labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: painting-marker-06-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<!-- ===================================================================== -->
<!-- Define a few simple marker elements -->
<!-- ===================================================================== -->
<marker id="marker1" viewBox="20 20 10 10" markerWidth="2" markerHeight="2" refX="25" refY="25" markerUnits="strokeWidth">
<rect x="20" y="20" width="10" height="10" fill="purple" stroke="none"/>
</marker>
<marker id="marker2" viewBox="-5 -5 10 10" markerWidth="2" markerHeight="2" markerUnits="strokeWidth" orient="auto">
<path d="M 0 -5 L 5 5 L -5 5 Z" fill="blue" stroke="none"/>
</marker>
<marker id="markerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
<rect width="10" height="10" fill="purple" stroke="none"/>
</marker>
<marker id="markerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
<circle cx="5" cy="5" r="5" fill="green" stroke="none"/>
</marker>
<marker id="markerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
</marker>
</defs>
<!-- ===================================================================== -->
<!-- Basic Marker Test -->
<!-- ===================================================================== -->
<text x="170" y="30" font-size="14">Basic Markers</text>
<path fill="none" stroke="black" stroke-width="8" marker-start="url(#marker1)" marker-mid="url(#marker1)" marker-end="url(#marker1)" d="M 130 40 L 180 40 L 180 90"/>
<!-- ===================================================================== -->
<!-- Generate the equivalent SVG -->
<!-- ===================================================================== -->
<g transform="translate(120,0)">
<path fill="none" stroke="black" stroke-width="8" d="M 130 40 L 180 40 L 180 90"/>
<g transform="translate(130,40) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<rect width="10" height="10" fill="purple" stroke="none"/>
</g>
<g transform="translate(180,40) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<rect width="10" height="10" fill="purple" stroke="none"/>
</g>
<g transform="translate(180,90) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<rect width="10" height="10" fill="purple" stroke="none"/>
</g>
</g>
<!-- ===================================================================== -->
<!-- Start, Middle and End Marker Test -->
<!-- ===================================================================== -->
<text x="145" y="125" font-size="14">Start, Middle and End</text>
<path fill="none" stroke="black" stroke-width="8" marker-start="url(#markerStart)" marker-mid="url(#markerMiddle)" marker-end="url(#markerEnd)" d="M 130 135 L 180 135 L 180 185"/>
<!-- ===================================================================== -->
<!-- Generate the equivalent SVG -->
<!-- ===================================================================== -->
<g transform="translate(120,0)">
<path fill="none" stroke="black" stroke-width="8" d="M 130 135 L 180 135 L 180 185"/>
<g transform="translate(130,135) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<rect width="10" height="10" fill="purple" stroke="none"/>
</g>
<g transform="translate(180,135) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<circle cx="5" cy="5" r="5" fill="green" stroke="none"/>
</g>
<g transform="translate(180,185) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
</g>
</g>
<!-- ===================================================================== -->
<!-- Auto Orientation Marker Test -->
<!-- ===================================================================== -->
<text x="145" y="220" font-size="14">Automatic Orientation</text>
<path fill="none" stroke="black" stroke-width="8" marker-start="url(#marker2)" marker-mid="url(#marker2)" marker-end="url(#marker2)" d="M 130 230 L 180 230 L 180 280"/>
<!-- ===================================================================== -->
<!-- Generate the equivalent SVG -->
<!-- ===================================================================== -->
<g transform="translate(120,0)">
<path fill="none" stroke="black" stroke-width="8" d="M 130 230 L 180 230 L 180 280"/>
<g transform="translate(130,230) rotate(0) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
</g>
<g transform="translate(180,230) rotate(45) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
</g>
<g transform="translate(180,280) rotate(90) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.9 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>