haikuwebkit/LayoutTests/svg/custom/object-sizing-explicit-widt...

23 lines
993 B
HTML
Raw Permalink Normal View History

2011-05-27 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Rob Buis. embedded SVG object doesn't scale right https://bugs.webkit.org/show_bug.cgi?id=10526 <object> tags should treat width/height on a referenced SVG as intrinsic width/height https://bugs.webkit.org/show_bug.cgi?id=11976 Incorrect handling of percentage values for width/height on embedded elements https://bugs.webkit.org/show_bug.cgi?id=14793 WebKit fails some WICD 1.0 core test cases https://bugs.webkit.org/show_bug.cgi?id=15836 (partially fixed, all 'rightsizing' tests are fixed) CSS 2.1: Support replaced elements with relative intrinsic sizes https://bugs.webkit.org/show_bug.cgai?id=15849 (partially fixed) SVG embedded as <object> doesn't respect width/height attributes https://bugs.webkit.org/show_bug.cgi?id=34972 Explicit size of object tag ignored https://bugs.webkit.org/show_bug.cgi?id=37086 * http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml: Added. * http/tests/misc/resources/embedded.svg: Added. * http/tests/misc/resources/svg-slow.pl: Added. * platform/mac/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.png: Added. * platform/mac/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.txt: Added. * platform/mac/svg/custom/object-no-size-attributes-expected.png: Added. * platform/mac/svg/custom/object-no-size-attributes-expected.txt: Added. * platform/mac/svg/custom/object-sizing-expected.png: Added. * platform/mac/svg/custom/object-sizing-expected.txt: Added. * platform/mac/svg/custom/object-sizing-explicit-height-expected.png: Added. * platform/mac/svg/custom/object-sizing-explicit-height-expected.txt: Added. * platform/mac/svg/custom/object-sizing-explicit-width-expected.png: Added. * platform/mac/svg/custom/object-sizing-explicit-width-expected.txt: Added. * platform/mac/svg/custom/object-sizing-explicit-width-height-expected.png: Added. * platform/mac/svg/custom/object-sizing-explicit-width-height-expected.txt: Added. * platform/mac/svg/custom/object-sizing-no-width-height-change-content-box-size-expected.png: Added. * platform/mac/svg/custom/object-sizing-no-width-height-change-content-box-size-expected.txt: Added. * platform/mac/svg/custom/object-sizing-no-width-height-expected.png: Added. * platform/mac/svg/custom/object-sizing-no-width-height-expected.txt: Added. * platform/mac/svg/hixie/text/003-expected.png: * platform/mac/svg/hixie/text/003-expected.txt: * platform/mac/svg/in-html/by-reference-expected.txt: * platform/mac/svg/wicd: Added. * platform/mac/svg/wicd/rightsizing-grid-expected.png: Added. * platform/mac/svg/wicd/rightsizing-grid-expected.txt: Added. * platform/mac/svg/wicd/test-rightsizing-a-expected.png: Added. * platform/mac/svg/wicd/test-rightsizing-a-expected.txt: Added. * platform/mac/svg/wicd/test-rightsizing-b-expected.png: Added. * platform/mac/svg/wicd/test-rightsizing-b-expected.txt: Added. * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: * platform/mac/svg/zoom/page/zoom-foreignObject-expected.png: * platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt: * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.png: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-no-width-height-expected.png: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-no-width-height-expected.txt: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.png: Added. * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.txt: Added. * svg/custom/object-no-size-attributes.xhtml: Added. * svg/custom/object-sizing-explicit-height.xhtml: Added. * svg/custom/object-sizing-explicit-width-height.xhtml: Added. * svg/custom/object-sizing-explicit-width.xhtml: Added. * svg/custom/object-sizing-no-width-height-change-content-box-size.xhtml: Added. * svg/custom/object-sizing-no-width-height.xhtml: Added. * svg/custom/object-sizing.xhtml: Added. * svg/custom/resources/embedded.svg: Added. * svg/custom/resources/red-circle.svg: Added. * svg/in-html/by-reference-expected.png: * svg/wicd: Added. * svg/wicd/resources: Added. * svg/wicd/resources/a.svg: Added. * svg/wicd/resources/bcde.svg: Added. * svg/wicd/resources/empty1.svg: Added. * svg/wicd/resources/empty2.svg: Added. * svg/wicd/resources/empty3.svg: Added. * svg/wicd/resources/f.svg: Added. * svg/wicd/resources/g.svg: Added. * svg/wicd/resources/h.svg: Added. * svg/wicd/resources/i.svg: Added. * svg/wicd/resources/j.svg: Added. * svg/wicd/resources/k.svg: Added. * svg/wicd/resources/l.svg: Added. * svg/wicd/resources/main.css: Added. (body,html): (body): (.buttons): (h1): (h2): (h4): (p): (table): (th): (td,th): (td a): (a): (a:hover): (a:focus): (a:visited): (a.index): (a.index:hover): (a.index:focus): (a.index:visited): (ul): (ol): (.red): (.navi): (.navi a): (.navi a:hover): (.navi a:visited): * svg/wicd/resources/mnop.svg: Added. * svg/wicd/resources/q.svg: Added. * svg/wicd/resources/r.svg: Added. * svg/wicd/resources/s.svg: Added. * svg/wicd/resources/t.svg: Added. * svg/wicd/resources/test-rightsizing-a.css: Added. (html,body): (div.all): (object.w100): (object.h100): * svg/wicd/resources/test-rightsizing-b.css: Added. (html,body): (object): * svg/wicd/resources/test-svg-child-object-rightsizing.gif: Added. * svg/wicd/resources/test-svg-child-object-rightsizing.png: Added. * svg/wicd/resources/test-svg-child-object-rightsizing.svg: Added. * svg/wicd/resources/test-svg-child-object-rightsizing1.svg: Added. * svg/wicd/rightsizing-grid.xhtml: Added. * svg/wicd/test-rightsizing-a.xhtml: Added. * svg/wicd/test-rightsizing-b.xhtml: Added. * svg/zoom/page/resources: Added. * svg/zoom/page/resources/absolute-sized-svg.png: Added. * svg/zoom/page/resources/absolute-sized-svg.svg: Added. * svg/zoom/page/resources/huge-rect.svg: Added. * svg/zoom/page/resources/percentage-sized-svg.png: Added. * svg/zoom/page/resources/percentage-sized-svg.svg: Added. * svg/zoom/page/resources/text.svg: Added. * svg/zoom/page/resources/tux.svg: Added. * svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml: Added. * svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml: Added. * svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml: Added. * svg/zoom/page/zoom-svg-through-object-with-override-size.html: Added. * svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml: Added. * svg/zoom/page/zoom-svg-through-object-with-text.xhtml: Added. 2011-05-27 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Rob Buis. embedded SVG object doesn't scale right https://bugs.webkit.org/show_bug.cgi?id=10526 <object> tags should treat width/height on a referenced SVG as intrinsic width/height https://bugs.webkit.org/show_bug.cgi?id=11976 Incorrect handling of percentage values for width/height on embedded elements https://bugs.webkit.org/show_bug.cgi?id=14793 WebKit fails some WICD 1.0 core test cases https://bugs.webkit.org/show_bug.cgi?id=15836 (partially fixed, all 'rightsizing' tests are fixed) CSS 2.1: Support replaced elements with relative intrinsic sizes https://bugs.webkit.org/show_bug.cgai?id=15849 (partially fixed) SVG embedded as <object> doesn't respect width/height attributes https://bugs.webkit.org/show_bug.cgi?id=34972 Explicit size of object tag ignored https://bugs.webkit.org/show_bug.cgi?id=37086 Add partial support of CSS 2.1 replaced elements with intrinsic size. The feature itself is complete but has only been implemented for RenderPart, to support SVG content document size negotiation. It serves as starting point for a generalization, in future. The changes in RenderPart are a 1:1 transliteration of the spec (http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width/height, see code). SVG 1.1 says: The 'width' attribute on the outermost svg element establishes the viewport's width, unless the following conditions are met: ... and there are CSS-compatible positioning properties ([CSS2], section 9.3) specified on the referencing element (e.g., the 'object' element) or on the containing document's outermost svg element that are sufficient to establish the width of the viewport. Under these conditions, the positioning properties establish the viewport's width. If an <object> carries width/height attributes, these specify the viewport size of the embedded SVG, instead of its own width/height or viewBox properties. If an <object> has no width/height information, its intrinsic size needs to be calculated depending on the intrinsic ratio (viewBox width divided by height ratio) and the width/height properties on the outermost referenced <svg> element. This requires a negotiation between the host document and the embedded document. (There are several more factors that need to be considered, the CSS spec covers this and the RenderPart::computeReplaced* code covers this.) Fixes dozens of long-standing bug reports. The number one integration issue when using SVG through <object> is resolved: "right sizing". Tests: http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml svg/custom/object-no-size-attributes.xhtml (bug 11976, from Eric Seidel) svg/custom/object-sizing-explicit-height.xhtml (bug 10526, from Ryan Cannon) svg/custom/object-sizing-explicit-width-height.xhtml svg/custom/object-sizing-explicit-width.xhtml (bug 14793, from Oliver Hunt) svg/custom/object-sizing-no-width-height-change-content-box-size.xhtml svg/custom/object-sizing-no-width-height.xhtml svg/custom/object-sizing.xhtml (bug 37086, from Jeff Schiller) svg/wicd/rightsizing-grid.xhtml (bug 15836, WICD rightsizing test now works) svg/wicd/test-rightsizing-a.xhtml (ditto) svg/wicd/test-rightsizing-b.xhtml (ditto) svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml svg/zoom/page/zoom-svg-through-object-with-override-size.html (bug 34972, from Andreas Kling) svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml svg/zoom/page/zoom-svg-through-object-with-text.xhtml * platform/Length.h: (WebCore::Length::isSpecified): * rendering/RenderPart.cpp: (WebCore::RenderPart::embeddedSVGContentRenderer): (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth): (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight): (WebCore::RenderPart::computeReplacedLogicalWidth): (WebCore::RenderPart::computeReplacedLogicalHeight): (WebCore::RenderPart::layout): * rendering/RenderPart.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computeReplacedLogicalWidth): (WebCore::RenderReplaced::computeReplacedLogicalHeight): * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::RenderSVGRoot): (WebCore::RenderSVGRoot::computeIntrinsicRatio): (WebCore::RenderSVGRoot::computeIntrinsicWidth): (WebCore::RenderSVGRoot::computeIntrinsicHeight): (WebCore::RenderSVGRoot::negotiateSizeWithHostDocumentIfNeeded): (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): (WebCore::RenderSVGRoot::layout): * rendering/svg/RenderSVGRoot.h: * svg/SVGLength.cpp: (WebCore::SVGLength::determineViewport): * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::currentScale): (WebCore::SVGSVGElement::setCurrentScale): (WebCore::SVGSVGElement::currentViewBoxRect): (WebCore::SVGSVGElement::viewBoxToViewTransform): * svg/SVGSVGElement.h: Canonical link: https://commits.webkit.org/77067@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@87526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-05-27 18:27:50 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
object {
width: 175px;
}
</style>
</head>
<body>
<!-- You should see two rows with fow columns each containing a blue rect with a green circle in the middle. The gaps between all objects should be uniform -->
<object data="resources/embedded.svg" type="image/svg+xml"/>
<object data="resources/embedded.svg" type="image/svg+xml"/>
<object data="resources/embedded.svg" type="image/svg+xml"/>
<object data="resources/embedded.svg" type="image/svg+xml"/>
<object data="resources/embedded.svg" type="image/svg+xml"/>
<object data="resources/embedded.svg" type="image/svg+xml"/>
<object data="resources/embedded.svg" type="image/svg+xml"/>
<object data="resources/embedded.svg" type="image/svg+xml"/>
</body>
</html>