Adapt inline SVG sizing behavior to Firefox and Blink
authorkrit@webkit.org <krit@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 May 2014 06:06:28 +0000 (06:06 +0000)
committerkrit@webkit.org <krit@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 May 2014 06:06:28 +0000 (06:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=132569

Reviewed by Dean Jackson.

Source/WebCore:
This patch is ported from Blink CR 308992. Thanks to David Vest for helping
with back porting his Blink patch. From the commit message:

"The basis of this change is to map explicit width and height
attributes to CSS properties, essentially promoting them to
presentation attributes. Note that implicit "100%" width and height
are not mapped.

This enables us to remove the concept of "percentage intrinsic size"
and rely on normal CSS rules to resolve percentage values.

The change has been approved by the SVG WG and the spec is being
updated. Minutes here:

http://www.w3.org/2014/04/07-svg-minutes.html#item03"

The new model was indeed approved by the SVG WG and is basically following
the CSS 2.1 model for replaced elements.

With this patch WebKit, Firefox and Blink have the same behavior for inline SVG.
This is the first successful approach to unify the sizing behavior of SVG
across UAs.

Tests: svg/as-object/sizing/svg-in-object-placeholder-height-auto.html
       svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html
       svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html
       svg/in-html/sizing/svg-inline.html

* css/svg.css: Root SVG elements still need to be sized with height: 100% and
    width: 100%. This is necessary since width and height are presentation
    attributes now.
(svg:root):
* rendering/RenderBox.h:
(WebCore::RenderBox::computeIntrinsicRatioInformation): Remove all special
    behavior for intrinsic and percentage based sizes in SVG. This simplifies and
    unifies the code a lot. Most of the logic that is used is in RenderBox and
    RenderReplaced now. RenderSVGRoot was cleaned up a lot and is much lighter.
    And so it SVGSVGElement.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::computeIntrinsicRatioInformation):
* rendering/RenderImage.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
(WebCore::RenderReplaced::computeIntrinsicRatioInformation):
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
(WebCore::RenderReplaced::computePreferredLogicalWidths):
* rendering/RenderReplaced.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::hasRelativeDimensions):
(WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth): Deleted.
(WebCore::RenderSVGRoot::hasRelativeLogicalHeight): Deleted.
* rendering/svg/RenderSVGRoot.h:
* svg/SVGElement.h:
(WebCore::SVGElement::invalidateSVGPresentationAttributeStyle):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::isPresentationAttribute):
(WebCore::SVGSVGElement::collectStyleForPresentationAttribute):
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::currentViewportSize):
(WebCore::SVGSVGElement::hasIntrinsicWidth):
(WebCore::SVGSVGElement::hasIntrinsicHeight):
(WebCore::SVGSVGElement::intrinsicWidth):
(WebCore::SVGSVGElement::intrinsicHeight):
(WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Deleted.
(WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Deleted.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::containerSize):
* xml/XMLErrors.cpp: If an error occurs in a stand alone SVG file, we create
    an XHTML document with the error message and append the SVG file.
    This SVG file now follows the CSS sizing behavior as inline SVG.
    Therefore, we need to set width and height to 100% explicitly.
(WebCore::XMLErrors::insertErrorMessageBlock):

LayoutTests:
The new sizing behavior for inline SVG causes different DRT outputs for about 40 test cases.
This is expected but for most tests an improvement since the SVGs fit into the documents
and scrollbars disappear or the general size gets smaller.
Some tests needed to be updated. The size was either not set at all or not properly.

svg-in-object.js and svg-inline.js contain dozens of new tests to check the correct sizing
behavior.

The tests were written by David Vest from Opera as part of CR 308992.

Many of the -expected updates are caused by SVG size changes in turn
affecting where line breaks are inserted.

* TestExpectations:
* accessibility/svg-image-expected.txt:
* css3/flexbox/flexitem.html:
* fast/css/infinite-floating-value-expected.txt:
* fast/css/remove-fixed-resizer-crash-expected.txt:
* fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt:
* fast/repaint/moving-shadow-on-container.html:
* fast/repaint/moving-shadow-on-path.html:
* fast/repaint/svg-layout-root-style-attr-update.html:
* fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html:
* fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html:
* http/tests/xmlviewer/dumpAsText/svg-expected.txt:
* platform/mac/svg/batik/filters/feTile-expected.txt:
* platform/mac/svg/batik/masking/maskRegions-expected.txt:
* platform/mac/svg/batik/paints/patternRegions-positioned-objects-expected.txt:
* platform/mac/svg/batik/text/longTextOnPath-expected.txt:
* platform/mac/svg/batik/text/textDecoration-expected.txt:
* platform/mac/svg/batik/text/textEffect-expected.txt:
* platform/mac/svg/batik/text/textLength-expected.txt:
* platform/mac/svg/batik/text/textOnPath-expected.txt:
* platform/mac/svg/batik/text/textPosition-expected.txt:
* platform/mac/svg/batik/text/verticalText-expected.txt:
* platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
* platform/mac/svg/custom/bug45331-expected.txt:
* platform/mac/svg/custom/junk-data-expected.txt:
* platform/mac/svg/custom/missing-xlink-expected.txt:
* platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Removed.
* platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
* platform/mac/svg/custom/path-bad-data-expected.txt:
* platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
* platform/mac/svg/custom/use-font-face-crash-expected.txt:
* platform/mac/svg/foreignObject/svg-document-in-html-document-expected.txt:
* platform/mac/svg/hixie/error/012-expected.txt:
* platform/mac/svg/hixie/intrinsic/001-expected.png: Removed.
* platform/mac/svg/hixie/intrinsic/001-expected.txt: Removed.
* platform/mac/svg/hixie/intrinsic/002-expected.png: Removed.
* platform/mac/svg/hixie/intrinsic/002-expected.txt: Removed.
* platform/mac/svg/in-html/circle-expected.txt:
* platform/mac/svg/text/non-bmp-positioning-lists-expected.txt:
* platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
* platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
* platform/mac/svg/wicd/rightsizing-grid-expected.txt:
* platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
* platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt:
* platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
* platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt:
* platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
* platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt:
* platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt:
* svg/animations/animate-css-xml-attributeType-expected.txt:
* svg/as-image/image-respects-deviceScaleFactor.html:
* svg/as-image/image-respects-pageScaleFactor.html:
* svg/as-image/svg-as-image-with-relative-size-expected.html:
* svg/as-image/svg-as-relative-image.html:
* svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt: Added.
* svg/as-object/sizing/svg-in-object-placeholder-height-auto.html: Added.
* svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt: Added.
* svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html: Added.
* svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt: Added.
* svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html: Added.
* svg/as-object/sizing/svg-in-object.js: Added.
(.):
(.addAttr):
(.generateSVGURI):
(buildDemo):
(.doCombinationTestRecursive):
(doCombinationTest):
(debugHint):
(.debugHint):
(testSVGInObjectWithPlaceholderHeightAttr.):
(testSVGInObjectWithPlaceholderHeightAttr):
* svg/css/composite-shadow-example.html:
* svg/css/composite-shadow-with-opacity.html:
* svg/css/max-width-2.html:
* svg/css/stars-with-shadow.html:
* svg/custom/absolute-sized-content-with-resources.xhtml:
* svg/custom/altglyph.svg:
* svg/custom/document-all-includes-svg-expected.txt:
* svg/custom/external-paintserver-reference-expected.txt:
* svg/custom/external-paintserver-reference.svg:
* svg/custom/get-text-element-transform-crash-expected.txt:
* svg/custom/linking-base-external-reference-expected.txt:
* svg/custom/linking-base-external-reference.xhtml:
* svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.txt: Removed.
* svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml: Removed.
* svg/custom/object-sizing-height-50p-on-target-svg-expected.txt: Removed.
* svg/custom/object-sizing-height-50p-on-target-svg.xhtml: Removed.
* svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Removed.
* svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.txt: Removed.
* svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml: Removed.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Removed.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
* svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml: Removed.
* svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
* svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Removed.
* svg/custom/object-sizing-width-50p-on-target-svg-expected.txt: Removed.
* svg/custom/object-sizing-width-50p-on-target-svg.xhtml: Removed.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Removed.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
* svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml: Removed.
* svg/custom/pending-resource-after-removal.xhtml:
* svg/custom/percentage-of-html-parent.xhtml:
* svg/custom/relative-sized-content-with-resources.xhtml:
* svg/custom/relative-sized-content.xhtml:
* svg/custom/relative-sized-deep-shadow-tree-content.xhtml:
* svg/custom/relative-sized-image.xhtml:
* svg/custom/relative-sized-inner-svg.xhtml:
* svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml:
* svg/custom/relative-sized-shadow-tree-content.xhtml:
* svg/custom/relative-sized-use-on-symbol.xhtml:
* svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml:
* svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt:
* svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
* svg/custom/use-invalid-html-expected.txt:
* svg/custom/window-named-item-lookup-expected.txt:
* svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt:
* svg/dom/parent-view-layout-crash-expected.txt:
* svg/dom/stylesheet-candidate-node-crash-main-expected.txt:
* svg/dom/svg-root-lengths.html:
* svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt:
* svg/hixie/intrinsic/001-expected.png: Removed.
* svg/hixie/intrinsic/001-expected.txt: Removed.
* svg/hixie/intrinsic/001.html: Removed.
* svg/hixie/intrinsic/002-expected.png: Removed.
* svg/hixie/intrinsic/002-expected.txt: Removed.
* svg/hixie/intrinsic/002.html: Removed.
* svg/hixie/intrinsic/resources/001.svg: Removed.
* svg/hixie/intrinsic/resources/002.svg: Removed.
* svg/in-html/sizing/svg-inline-expected.txt: Added.
* svg/in-html/sizing/svg-inline.html: Added.
* svg/in-html/sizing/svg-inline.js: Added.
(.):
(setupSVGElement):
(buildDemo):
(.doCombinationTestRecursive):
(doCombinationTest):
(debugHint):
(.debugHint):
* svg/path-arc-invalid-expected.txt:
* svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
* svg/text/append-text-node-to-tspan.html:
* svg/text/kerning.svg:
* svg/text/modify-text-node-in-tspan.html:
* svg/text/multichar-glyph.svg:
* svg/text/remove-text-node-from-tspan.html:
* svg/text/remove-tspan-from-text.html:
* svg/text/svg-rtl-text-crash-expected.txt:
* svg/text/text-block-child-crash-expected.txt:
* svg/transforms/animated-path-inside-transformed-html.xhtml:
* svg/transforms/svg-css-transforms-clip-path.xhtml:
* svg/transforms/transform-origin-css-property.xhtml:
* svg/zoom/page/zoom-foreignObject.svg:
* svg/zoom/page/zoom-svg-as-relative-image.html:
* svg/zoom/text/zoom-foreignObject.svg:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

174 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/accessibility/svg-image-expected.txt
LayoutTests/css3/flexbox/flexitem.html
LayoutTests/fast/css/infinite-floating-value-expected.txt
LayoutTests/fast/css/remove-fixed-resizer-crash-expected.txt
LayoutTests/fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt
LayoutTests/fast/repaint/moving-shadow-on-container.html
LayoutTests/fast/repaint/moving-shadow-on-path.html
LayoutTests/fast/repaint/svg-layout-root-style-attr-update.html
LayoutTests/fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html
LayoutTests/fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html
LayoutTests/http/tests/xmlviewer/dumpAsText/svg-expected.txt
LayoutTests/platform/mac/svg/batik/filters/feTile-expected.txt
LayoutTests/platform/mac/svg/batik/masking/maskRegions-expected.txt
LayoutTests/platform/mac/svg/batik/paints/patternRegions-positioned-objects-expected.txt
LayoutTests/platform/mac/svg/batik/text/longTextOnPath-expected.txt
LayoutTests/platform/mac/svg/batik/text/textDecoration-expected.txt
LayoutTests/platform/mac/svg/batik/text/textEffect-expected.txt
LayoutTests/platform/mac/svg/batik/text/textLength-expected.txt
LayoutTests/platform/mac/svg/batik/text/textOnPath-expected.txt
LayoutTests/platform/mac/svg/batik/text/textPosition-expected.txt
LayoutTests/platform/mac/svg/batik/text/verticalText-expected.txt
LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.txt
LayoutTests/platform/mac/svg/custom/bug45331-expected.txt
LayoutTests/platform/mac/svg/custom/junk-data-expected.txt
LayoutTests/platform/mac/svg/custom/missing-xlink-expected.txt
LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt [deleted file]
LayoutTests/platform/mac/svg/custom/path-bad-data-expected.txt
LayoutTests/platform/mac/svg/custom/svg-fonts-in-html-expected.txt
LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.txt
LayoutTests/platform/mac/svg/foreignObject/svg-document-in-html-document-expected.txt
LayoutTests/platform/mac/svg/hixie/error/012-expected.txt
LayoutTests/platform/mac/svg/hixie/intrinsic/001-expected.png [deleted file]
LayoutTests/platform/mac/svg/hixie/intrinsic/001-expected.txt [deleted file]
LayoutTests/platform/mac/svg/hixie/intrinsic/002-expected.png [deleted file]
LayoutTests/platform/mac/svg/hixie/intrinsic/002-expected.txt [deleted file]
LayoutTests/platform/mac/svg/in-html/circle-expected.txt
LayoutTests/platform/mac/svg/text/non-bmp-positioning-lists-expected.txt [deleted file]
LayoutTests/platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt
LayoutTests/platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt
LayoutTests/platform/mac/svg/wicd/rightsizing-grid-expected.txt
LayoutTests/platform/mac/svg/wicd/test-rightsizing-b-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-background-images-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt
LayoutTests/platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt
LayoutTests/svg/animations/animate-css-xml-attributeType-expected.txt
LayoutTests/svg/as-image/image-respects-deviceScaleFactor.html
LayoutTests/svg/as-image/image-respects-pageScaleFactor.html
LayoutTests/svg/as-image/svg-as-image-with-relative-size-expected.html
LayoutTests/svg/as-image/svg-as-relative-image.html
LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt [new file with mode: 0644]
LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-auto.html [new file with mode: 0644]
LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt [new file with mode: 0644]
LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html [new file with mode: 0644]
LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt [new file with mode: 0644]
LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html [new file with mode: 0644]
LayoutTests/svg/as-object/sizing/svg-in-object.js [new file with mode: 0644]
LayoutTests/svg/css/composite-shadow-example.html
LayoutTests/svg/css/composite-shadow-with-opacity.html
LayoutTests/svg/css/max-width-2.html
LayoutTests/svg/css/stars-with-shadow.html
LayoutTests/svg/custom/absolute-sized-content-with-resources.xhtml
LayoutTests/svg/custom/altglyph.svg
LayoutTests/svg/custom/document-all-includes-svg-expected.txt
LayoutTests/svg/custom/external-paintserver-reference-expected.txt
LayoutTests/svg/custom/external-paintserver-reference.svg
LayoutTests/svg/custom/get-text-element-transform-crash-expected.txt
LayoutTests/svg/custom/linking-base-external-reference-expected.txt
LayoutTests/svg/custom/linking-base-external-reference.xhtml
LayoutTests/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-height-50p-on-target-svg-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-height-50p-on-target-svg.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-on-target-svg-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-50p-on-target-svg.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml [deleted file]
LayoutTests/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt [deleted file]
LayoutTests/svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml [deleted file]
LayoutTests/svg/custom/pending-resource-after-removal.xhtml
LayoutTests/svg/custom/percentage-of-html-parent.xhtml
LayoutTests/svg/custom/relative-sized-content-with-resources.xhtml
LayoutTests/svg/custom/relative-sized-content.xhtml
LayoutTests/svg/custom/relative-sized-deep-shadow-tree-content.xhtml
LayoutTests/svg/custom/relative-sized-image.xhtml
LayoutTests/svg/custom/relative-sized-inner-svg.xhtml
LayoutTests/svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml
LayoutTests/svg/custom/relative-sized-shadow-tree-content.xhtml
LayoutTests/svg/custom/relative-sized-use-on-symbol.xhtml
LayoutTests/svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml
LayoutTests/svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt
LayoutTests/svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt
LayoutTests/svg/custom/use-invalid-html-expected.txt
LayoutTests/svg/custom/window-named-item-lookup-expected.txt
LayoutTests/svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt
LayoutTests/svg/dom/parent-view-layout-crash-expected.txt
LayoutTests/svg/dom/stylesheet-candidate-node-crash-main-expected.txt
LayoutTests/svg/dom/svg-root-lengths.html
LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt
LayoutTests/svg/hixie/intrinsic/001-expected.png [deleted file]
LayoutTests/svg/hixie/intrinsic/001-expected.txt [deleted file]
LayoutTests/svg/hixie/intrinsic/001.html [deleted file]
LayoutTests/svg/hixie/intrinsic/002-expected.png [deleted file]
LayoutTests/svg/hixie/intrinsic/002-expected.txt [deleted file]
LayoutTests/svg/hixie/intrinsic/002.html [deleted file]
LayoutTests/svg/hixie/intrinsic/resources/001.svg [deleted file]
LayoutTests/svg/hixie/intrinsic/resources/002.svg [deleted file]
LayoutTests/svg/in-html/sizing/svg-inline-expected.txt [new file with mode: 0644]
LayoutTests/svg/in-html/sizing/svg-inline.html [new file with mode: 0644]
LayoutTests/svg/in-html/sizing/svg-inline.js [new file with mode: 0644]
LayoutTests/svg/path-arc-invalid-expected.txt
LayoutTests/svg/repaint/repaint-webkit-svg-shadow-container-expected.txt
LayoutTests/svg/text/append-text-node-to-tspan.html
LayoutTests/svg/text/kerning.svg
LayoutTests/svg/text/modify-text-node-in-tspan.html
LayoutTests/svg/text/multichar-glyph.svg
LayoutTests/svg/text/remove-text-node-from-tspan.html
LayoutTests/svg/text/remove-tspan-from-text.html
LayoutTests/svg/text/svg-rtl-text-crash-expected.txt
LayoutTests/svg/text/text-block-child-crash-expected.txt
LayoutTests/svg/transforms/animated-path-inside-transformed-html.xhtml
LayoutTests/svg/transforms/svg-css-transforms-clip-path.xhtml
LayoutTests/svg/transforms/transform-origin-css-property.xhtml
LayoutTests/svg/zoom/page/zoom-foreignObject.svg
LayoutTests/svg/zoom/page/zoom-svg-as-relative-image.html
LayoutTests/svg/zoom/text/zoom-foreignObject.svg
Source/WebCore/ChangeLog
Source/WebCore/css/svg.css
Source/WebCore/rendering/RenderBox.h
Source/WebCore/rendering/RenderBoxModelObject.cpp
Source/WebCore/rendering/RenderImage.cpp
Source/WebCore/rendering/RenderImage.h
Source/WebCore/rendering/RenderReplaced.cpp
Source/WebCore/rendering/RenderReplaced.h
Source/WebCore/rendering/svg/RenderSVGRoot.cpp
Source/WebCore/rendering/svg/RenderSVGRoot.h
Source/WebCore/svg/SVGElement.h
Source/WebCore/svg/SVGSVGElement.cpp
Source/WebCore/svg/SVGSVGElement.h
Source/WebCore/svg/graphics/SVGImage.cpp
Source/WebCore/xml/XMLErrors.cpp

index 99ac9b6..bdaf8f9 100644 (file)
@@ -1,3 +1,199 @@
+2014-05-05  Dirk Schulze  <krit@webkit.org>
+
+        Adapt inline SVG sizing behavior to Firefox and Blink
+        https://bugs.webkit.org/show_bug.cgi?id=132569
+
+        Reviewed by Dean Jackson.
+
+        The new sizing behavior for inline SVG causes different DRT outputs for about 40 test cases.
+        This is expected but for most tests an improvement since the SVGs fit into the documents
+        and scrollbars disappear or the general size gets smaller.
+        Some tests needed to be updated. The size was either not set at all or not properly.
+
+        svg-in-object.js and svg-inline.js contain dozens of new tests to check the correct sizing
+        behavior.
+
+        The tests were written by David Vest from Opera as part of CR 308992.
+
+        Many of the -expected updates are caused by SVG size changes in turn
+        affecting where line breaks are inserted.
+
+        * TestExpectations:
+        * accessibility/svg-image-expected.txt:
+        * css3/flexbox/flexitem.html:
+        * fast/css/infinite-floating-value-expected.txt:
+        * fast/css/remove-fixed-resizer-crash-expected.txt:
+        * fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt:
+        * fast/repaint/moving-shadow-on-container.html:
+        * fast/repaint/moving-shadow-on-path.html:
+        * fast/repaint/svg-layout-root-style-attr-update.html:
+        * fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html:
+        * fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html:
+        * http/tests/xmlviewer/dumpAsText/svg-expected.txt:
+        * platform/mac/svg/batik/filters/feTile-expected.txt:
+        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
+        * platform/mac/svg/batik/paints/patternRegions-positioned-objects-expected.txt:
+        * platform/mac/svg/batik/text/longTextOnPath-expected.txt:
+        * platform/mac/svg/batik/text/textDecoration-expected.txt:
+        * platform/mac/svg/batik/text/textEffect-expected.txt:
+        * platform/mac/svg/batik/text/textLength-expected.txt:
+        * platform/mac/svg/batik/text/textOnPath-expected.txt:
+        * platform/mac/svg/batik/text/textPosition-expected.txt:
+        * platform/mac/svg/batik/text/verticalText-expected.txt:
+        * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
+        * platform/mac/svg/custom/bug45331-expected.txt:
+        * platform/mac/svg/custom/junk-data-expected.txt:
+        * platform/mac/svg/custom/missing-xlink-expected.txt:
+        * platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Removed.
+        * platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
+        * platform/mac/svg/custom/path-bad-data-expected.txt:
+        * platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
+        * platform/mac/svg/custom/use-font-face-crash-expected.txt:
+        * platform/mac/svg/foreignObject/svg-document-in-html-document-expected.txt:
+        * platform/mac/svg/hixie/error/012-expected.txt:
+        * platform/mac/svg/hixie/intrinsic/001-expected.png: Removed.
+        * platform/mac/svg/hixie/intrinsic/001-expected.txt: Removed.
+        * platform/mac/svg/hixie/intrinsic/002-expected.png: Removed.
+        * platform/mac/svg/hixie/intrinsic/002-expected.txt: Removed.
+        * platform/mac/svg/in-html/circle-expected.txt:
+        * platform/mac/svg/text/non-bmp-positioning-lists-expected.txt:
+        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
+        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
+        * platform/mac/svg/wicd/rightsizing-grid-expected.txt:
+        * platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt:
+        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt:
+        * svg/animations/animate-css-xml-attributeType-expected.txt:
+        * svg/as-image/image-respects-deviceScaleFactor.html:
+        * svg/as-image/image-respects-pageScaleFactor.html:
+        * svg/as-image/svg-as-image-with-relative-size-expected.html:
+        * svg/as-image/svg-as-relative-image.html:
+        * svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt: Added.
+        * svg/as-object/sizing/svg-in-object-placeholder-height-auto.html: Added.
+        * svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt: Added.
+        * svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html: Added.
+        * svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt: Added.
+        * svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html: Added.
+        * svg/as-object/sizing/svg-in-object.js: Added.
+        (.):
+        (.addAttr):
+        (.generateSVGURI):
+        (buildDemo):
+        (.doCombinationTestRecursive):
+        (doCombinationTest):
+        (debugHint):
+        (.debugHint):
+        (testSVGInObjectWithPlaceholderHeightAttr.):
+        (testSVGInObjectWithPlaceholderHeightAttr):
+        * svg/css/composite-shadow-example.html:
+        * svg/css/composite-shadow-with-opacity.html:
+        * svg/css/max-width-2.html:
+        * svg/css/stars-with-shadow.html:
+        * svg/custom/absolute-sized-content-with-resources.xhtml:
+        * svg/custom/altglyph.svg:
+        * svg/custom/document-all-includes-svg-expected.txt:
+        * svg/custom/external-paintserver-reference-expected.txt:
+        * svg/custom/external-paintserver-reference.svg:
+        * svg/custom/get-text-element-transform-crash-expected.txt:
+        * svg/custom/linking-base-external-reference-expected.txt:
+        * svg/custom/linking-base-external-reference.xhtml:
+        * svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.txt: Removed.
+        * svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml: Removed.
+        * svg/custom/object-sizing-height-50p-on-target-svg-expected.txt: Removed.
+        * svg/custom/object-sizing-height-50p-on-target-svg.xhtml: Removed.
+        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
+        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Removed.
+        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.txt: Removed.
+        * svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml: Removed.
+        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
+        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Removed.
+        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
+        * svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml: Removed.
+        * svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
+        * svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Removed.
+        * svg/custom/object-sizing-width-50p-on-target-svg-expected.txt: Removed.
+        * svg/custom/object-sizing-width-50p-on-target-svg.xhtml: Removed.
+        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
+        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Removed.
+        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
+        * svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml: Removed.
+        * svg/custom/pending-resource-after-removal.xhtml:
+        * svg/custom/percentage-of-html-parent.xhtml:
+        * svg/custom/relative-sized-content-with-resources.xhtml:
+        * svg/custom/relative-sized-content.xhtml:
+        * svg/custom/relative-sized-deep-shadow-tree-content.xhtml:
+        * svg/custom/relative-sized-image.xhtml:
+        * svg/custom/relative-sized-inner-svg.xhtml:
+        * svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml:
+        * svg/custom/relative-sized-shadow-tree-content.xhtml:
+        * svg/custom/relative-sized-use-on-symbol.xhtml:
+        * svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml:
+        * svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt:
+        * svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
+        * svg/custom/use-invalid-html-expected.txt:
+        * svg/custom/window-named-item-lookup-expected.txt:
+        * svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt:
+        * svg/dom/parent-view-layout-crash-expected.txt:
+        * svg/dom/stylesheet-candidate-node-crash-main-expected.txt:
+        * svg/dom/svg-root-lengths.html:
+        * svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt:
+        * svg/hixie/intrinsic/001-expected.png: Removed.
+        * svg/hixie/intrinsic/001-expected.txt: Removed.
+        * svg/hixie/intrinsic/001.html: Removed.
+        * svg/hixie/intrinsic/002-expected.png: Removed.
+        * svg/hixie/intrinsic/002-expected.txt: Removed.
+        * svg/hixie/intrinsic/002.html: Removed.
+        * svg/hixie/intrinsic/resources/001.svg: Removed.
+        * svg/hixie/intrinsic/resources/002.svg: Removed.
+        * svg/in-html/sizing/svg-inline-expected.txt: Added.
+        * svg/in-html/sizing/svg-inline.html: Added.
+        * svg/in-html/sizing/svg-inline.js: Added.
+        (.):
+        (setupSVGElement):
+        (buildDemo):
+        (.doCombinationTestRecursive):
+        (doCombinationTest):
+        (debugHint):
+        (.debugHint):
+        * svg/path-arc-invalid-expected.txt:
+        * svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
+        * svg/text/append-text-node-to-tspan.html:
+        * svg/text/kerning.svg:
+        * svg/text/modify-text-node-in-tspan.html:
+        * svg/text/multichar-glyph.svg:
+        * svg/text/remove-text-node-from-tspan.html:
+        * svg/text/remove-tspan-from-text.html:
+        * svg/text/svg-rtl-text-crash-expected.txt:
+        * svg/text/text-block-child-crash-expected.txt:
+        * svg/transforms/animated-path-inside-transformed-html.xhtml:
+        * svg/transforms/svg-css-transforms-clip-path.xhtml:
+        * svg/transforms/transform-origin-css-property.xhtml:
+        * svg/zoom/page/zoom-foreignObject.svg:
+        * svg/zoom/page/zoom-svg-as-relative-image.html:
+        * svg/zoom/text/zoom-foreignObject.svg:
+
 2014-05-05  Ion Rosca  <rosca@adobe.com>
 
         [CSS Blending] Add tests using blending and isolation for body and html elements.
index f321e34..530330c 100644 (file)
@@ -110,3 +110,7 @@ webkit.org/b/88045 fast/dom/gc-attribute-node.html [ Failure Pass ]
 # Reference expectation doesn't end up in compositing code path, leading to antialiasing differences.
 webkit.org/b/132421 fast/multicol/fixed-stack.html [ ImageOnlyFailure ]
 
+
+# These tests are incorrect in the CSS test suite and should be fixed there first.
+css2.1/20110323/replaced-intrinsic-001.htm [ Failure ]
+css2.1/20110323/replaced-intrinsic-002.htm [ Failure ]
index d0bffd7..2e1fca5 100644 (file)
@@ -1,4 +1,4 @@
-
 This tests that SVG images are accessible elements and they have the same attributes as real images.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
index 2c7a1c0..106edd4 100644 (file)
 </div>
 
 <div class="flexbox">
-  <svg data-expected-display="block" data-expected-width="100" style="-webkit-flex: 1 0 auto; width: 100px; height: 100px">
+  <svg data-expected-display="block" data-expected-width="100" style="-webkit-flex: 1 0 auto; width: 100px; height: 100px;">
     <circle cx="50" cy="50" r="50" fill="blue">
     </circle>
   </svg>
-  <svg data-expected-display="block" data-expected-width="500" style="-webkit-flex: 1 1 auto; height: 100px">
+  <svg data-expected-display="block" data-expected-width="500" style="-webkit-flex: 1 1 auto; height: 100px; width: 100%">
     <circle cx="50" cy="50" r="50" fill="green">
     </circle>
   </svg>
index 157e0e7..fadfa53 100644 (file)
@@ -1 +1 @@
-This test makes sure that if "inherit" is specified on the word-spacing element when there is no parent element, there is no crash
+ This test makes sure that if "inherit" is specified on the word-spacing element when there is no parent element, there is no crash
index 0a0b175..11404c3 100644 (file)
@@ -48,6 +48,8 @@ var armed = null;
 window.addEventListener('load', function () {
 
     var svgContainer = newSvgElement('svg', document.body);
+    svgContainer.setAttribute('width','100%');
+    svgContainer.setAttribute('height','100%');    
     var shapes = [
         { pos: [ 100, 100 ], size: 60, hasStroke: false },
         { pos: [ 250, 100 ], size: 60, hasStroke: true },
index 77c563e..e6061c6 100644 (file)
@@ -48,6 +48,8 @@ var armed = null;
 window.addEventListener('load', function () {
 
     var svgContainer = newSvgElement('svg', document.body);
+    svgContainer.setAttribute('width','100%');
+    svgContainer.setAttribute('height','100%'); 
     var shapes = [
         { pos: [ 100, 100 ], size: 60, hasStroke: false },
         { pos: [ 250, 100 ], size: 60, hasStroke: true },
index 90fb781..16d6b27 100644 (file)
@@ -11,6 +11,8 @@
 function test() {
     // create some SVG
     var svgroot = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+    svgroot.setAttribute("width", "100%");
+    svgroot.setAttribute("height", "100%");
     document.getElementById("root").appendChild(svgroot);
     // add a red rectangle that will be covered up by the green rectangle
     var redRect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
index 45b48ae..5e25994 100644 (file)
@@ -17,7 +17,7 @@
 </style>
 </head>
 <body>
-<p>You should see three blue squares: above the green square, to the green square's right, and below the green square.</p>
+<p>You should see three green squares: above the blue square, to the blue square's right, and below the blue square.</p>
 <div id="container">
   X<br>
   <div id="shape-outside"></div>
index 2f98b02..5dac01e 100644 (file)
     width: 200px;
     height: 400px;
     float: left;
-    -webkit-shape-outside: url("data:image/svg+xml;UTF-8,<svg xmlns='http://www.w3.org/2000/svg' width='50%' height='25%'><rect width='100%' height='100%' fill='blue' /></svg>");
-    background-image: url("data:image/svg+xml;UTF-8,<svg xmlns='http://www.w3.org/2000/svg' width='50%' height='25%'><rect width='100%' height='100%' fill='blue' /></svg>");
+    -webkit-shape-outside: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><rect width='50%' height='25%' fill='blue' /></svg>");
+    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><rect width='50%' height='25%' fill='blue' /></svg>");
     background-repeat: no-repeat;
 }
 </style>
 </head>
 <body>
-<p>You should see three blue squares: above the green square, to the green square's right, and below the green square.</p>
+<p>You should see three green squares: above the blue square, to the blue square's right, and below the blue square.</p>
 <div id="container">
   <div id="shape-outside"></div>
   X<br>X<br>X
index e80a2c3..7e78584 100644 (file)
@@ -1,3 +1,3 @@
-This tests that xml viewer is not used when there is a tag in SVG namespace.
+This tests that xml viewer is not used when there is a tag in SVG namespace. 
 SUCCESS
 
index 9171a7c..458d143 100644 (file)
@@ -3,7 +3,7 @@ layer at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
     RenderSVGContainer {g} at (0,25) size 384x354
-      RenderSVGText {text} at (187,25) size 75x18 contains 1 chunk(s)
+      RenderSVGText {text} at (187,25) size 76x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 75x18
           chunk 1 (middle anchor) text run 1 at (187.50,40.00) startOffset 0 endOffset 11 width 75.00: "feTile Test"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
@@ -27,30 +27,30 @@ layer at (0,0) size 450x500
         RenderSVGRect {rect} at (20,100) size 100x50 [fill={[type=LINEAR-GRADIENT] [id="tileFill"]}] [x=0.00] [y=0.00] [width=50.00] [height=25.00]
           [filter="tile_1"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
         RenderSVGRect {rect} at (19,99) size 102x52 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
-        RenderSVGText {text} at (30,-30) size 39x18 contains 1 chunk(s)
+        RenderSVGText {text} at (30,-30) size 40x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 39x18
             chunk 1 (middle anchor) text run 1 at (30.50,-15.00) startOffset 0 endOffset 6 width 39.00: "tile_1"
-        RenderSVGText {text} at (-17,-18) size 133x18 contains 1 chunk(s)
+        RenderSVGText {text} at (-17,-18) size 134x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 133x18
             chunk 1 (middle anchor) text run 1 at (-16.50,-3.00) startOffset 0 endOffset 21 width 133.00: "4 tiles, quarter size"
       RenderSVGContainer {g} at (0,170) size 145x81 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,200.00)}]
         RenderSVGRect {rect} at (20,200) size 100x50 [fill={[type=LINEAR-GRADIENT] [id="tileFill"]}] [x=25.00] [y=12.50] [width=50.00] [height=25.00]
           [filter="tile_2"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
         RenderSVGRect {rect} at (19,199) size 102x52 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
-        RenderSVGText {text} at (-8,-30) size 115x18 contains 1 chunk(s)
+        RenderSVGText {text} at (-8,-30) size 116x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 115x18
             chunk 1 (middle anchor) text run 1 at (-7.50,-15.00) startOffset 0 endOffset 17 width 115.00: "tile_2 (centered)"
-        RenderSVGText {text} at (-25,-18) size 149x18 contains 1 chunk(s)
+        RenderSVGText {text} at (-25,-18) size 150x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 149x18
             chunk 1 (middle anchor) text run 1 at (-24.50,-3.00) startOffset 0 endOffset 26 width 149.00: "9 tiles, 1 full, 8 partial"
       RenderSVGContainer {g} at (0,270) size 145x81 [transform={m=((1.00,0.00)(0.00,1.00)) t=(32.50,307.25)}]
         RenderSVGRect {rect} at (20,301) size 100x50 [fill={[type=LINEAR-GRADIENT] [id="tileFill"]}] [x=0.00] [y=0.00] [width=50.00] [height=25.00]
           [filter="tile_3"] RenderSVGResourceFilter {filter} at (-12.50,-6.25) size 100x50
         RenderSVGRect {rect} at (19,299) size 102x52 [stroke={[type=SOLID] [color=#000000]}] [x=-12.50] [y=-7.25] [width=100.00] [height=50.00]
-        RenderSVGText {text} at (-34,-37) size 142x18 contains 1 chunk(s)
+        RenderSVGText {text} at (-34,-37) size 143x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 142x18
             chunk 1 (middle anchor) text run 1 at (-33.50,-22.25) startOffset 0 endOffset 24 width 142.00: "tile_3 (top left offset)"
-        RenderSVGText {text} at (-37,-25) size 149x18 contains 1 chunk(s)
+        RenderSVGText {text} at (-37,-25) size 149x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 149x18
             chunk 1 (middle anchor) text run 1 at (-37.00,-10.25) startOffset 0 endOffset 26 width 149.00: "9 tiles, 1 full, 8 partial"
       RenderSVGContainer {g} at (244,99) size 131x52 [transform={m=((1.00,0.00)(0.58,1.00)) t=(245.00,100.00)}]
@@ -58,10 +58,10 @@ layer at (0,0) size 450x500
           [filter="tile_1"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
         RenderSVGRect {rect} at (244,99) size 131x52 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
       RenderSVGContainer {g} at (260,70) size 70x31 [transform={m=((1.00,0.00)(0.00,1.00)) t=(245.00,100.00)}]
-        RenderSVGText {text} at (30,-30) size 39x18 contains 1 chunk(s)
+        RenderSVGText {text} at (30,-30) size 40x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 39x18
             chunk 1 (middle anchor) text run 1 at (30.50,-15.00) startOffset 0 endOffset 6 width 39.00: "tile_1"
-        RenderSVGText {text} at (15,-18) size 70x18 contains 1 chunk(s)
+        RenderSVGText {text} at (15,-18) size 70x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 70x18
             chunk 1 (middle anchor) text run 1 at (15.00,-3.00) startOffset 0 endOffset 8 width 70.00: "skewed X"
       RenderSVGContainer {g} at (255,201) size 80x58 [transform={m=((0.66,0.24)(-0.24,0.66)) t=(268.10,201.58)}]
@@ -69,21 +69,21 @@ layer at (0,0) size 450x500
           [filter="tile_2"] RenderSVGResourceFilter {filter} at (0,0) size 100x50
         RenderSVGRect {rect} at (255,201) size 80x58 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=50.00]
       RenderSVGContainer {g} at (206,170) size 178x31 [transform={m=((1.00,0.00)(0.00,1.00)) t=(245.00,200.00)}]
-        RenderSVGText {text} at (30,-30) size 39x18 contains 1 chunk(s)
+        RenderSVGText {text} at (30,-30) size 40x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 39x18
             chunk 1 (middle anchor) text run 1 at (30.50,-15.00) startOffset 0 endOffset 6 width 39.00: "tile_2"
-        RenderSVGText {text} at (-39,-18) size 177x18 contains 1 chunk(s)
+        RenderSVGText {text} at (-39,-18) size 178x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 177x18
             chunk 1 (middle anchor) text run 1 at (-38.50,-3.00) startOffset 0 endOffset 26 width 177.00: "(centered, rotate & scale)"
       RenderSVGContainer {g} at (244,300) size 102x79 [transform={m=((1.00,0.27)(0.00,1.00)) t=(257.50,310.60)}]
         RenderSVGRect {rect} at (245,301) size 100x77 [fill={[type=LINEAR-GRADIENT] [id="tileFill"]}] [x=0.00] [y=0.00] [width=50.00] [height=25.00]
           [filter="tile_3"] RenderSVGResourceFilter {filter} at (-12.50,-6.25) size 100x50
         RenderSVGRect {rect} at (244,300) size 102x79 [stroke={[type=SOLID] [color=#000000]}] [x=-12.50] [y=-6.25] [width=100.00] [height=50.00]
-      RenderSVGContainer {g} at (223,270) size 144x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(257.50,307.25)}]
-        RenderSVGText {text} at (-34,-37) size 142x18 contains 1 chunk(s)
+      RenderSVGContainer {g} at (224,270) size 142x31 [transform={m=((1.00,0.00)(0.00,1.00)) t=(257.50,307.25)}]
+        RenderSVGText {text} at (-34,-37) size 143x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 142x18
             chunk 1 (middle anchor) text run 1 at (-33.50,-22.25) startOffset 0 endOffset 24 width 142.00: "tile_3 (top left offset)"
-        RenderSVGText {text} at (2,-25) size 70x18 contains 1 chunk(s)
+        RenderSVGText {text} at (2,-25) size 71x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 70x18
             chunk 1 (middle anchor) text run 1 at (2.50,-10.25) startOffset 0 endOffset 8 width 70.00: "skewed Y"
     RenderSVGContainer {a} at (20,461) size 161x18
index 038deb9..9f99e35 100644 (file)
@@ -3,7 +3,7 @@ layer at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
     RenderSVGContainer {g} at (90,35) size 265x369
-      RenderSVGText {text} at (174,35) size 102x18 contains 1 chunk(s)
+      RenderSVGText {text} at (174,35) size 102x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 102x18
           chunk 1 (middle anchor) text run 1 at (174.00,50.00) startOffset 0 endOffset 12 width 102.00: "Mask Regions"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
@@ -34,35 +34,35 @@ layer at (0,0) size 450x500
       RenderSVGContainer {g} at (175,82) size 100x98 [transform={m=((1.00,0.00)(0.00,1.00)) t=(175.00,100.00)}]
         RenderSVGContainer {use} at (175,100) size 100x80
           RenderSVGRect {rect} at (175,100) size 100x80 [fill={[type=LINEAR-GRADIENT] [id="maskedGradient"]}] [x=0.00] [y=0.00] [width=100.00] [height=80.00]
-        RenderSVGText {text} at (22,-18) size 56x18 contains 1 chunk(s)
+        RenderSVGText {text} at (22,-18) size 56x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 56x18
             chunk 1 (middle anchor) text run 1 at (22.00,-3.00) startOffset 0 endOffset 6 width 56.00: "Masked"
       RenderSVGContainer {g} at (90,202) size 90x98 [transform={m=((1.00,0.00)(0.00,1.00)) t=(85.00,220.00)}]
         RenderSVGContainer {use} at (90,220) size 90x80
           [masker="mask_1"] RenderSVGResourceMasker {mask} at (5,0) size 90x80
           RenderSVGRect {rect} at (85,220) size 100x80 [fill={[type=LINEAR-GRADIENT] [id="maskedGradient"]}] [x=0.00] [y=0.00] [width=100.00] [height=80.00]
-        RenderSVGText {text} at (24,-18) size 51x18 contains 1 chunk(s)
+        RenderSVGText {text} at (24,-18) size 52x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 51x18
             chunk 1 (middle anchor) text run 1 at (24.50,-3.00) startOffset 0 endOffset 6 width 51.00: "Mask 1"
       RenderSVGContainer {g} at (109,322) size 52x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(85.00,340.00)}]
         RenderSVGContainer {use} at (110,360) size 50x40
           [masker="mask_2"] RenderSVGResourceMasker {mask} at (25,20) size 50x40
           RenderSVGRect {rect} at (85,340) size 100x80 [fill={[type=LINEAR-GRADIENT] [id="maskedGradient"]}] [x=0.00] [y=0.00] [width=100.00] [height=80.00]
-        RenderSVGText {text} at (24,-18) size 51x18 contains 1 chunk(s)
+        RenderSVGText {text} at (24,-18) size 52x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 51x18
             chunk 1 (middle anchor) text run 1 at (24.50,-3.00) startOffset 0 endOffset 6 width 51.00: "Mask 2"
       RenderSVGContainer {g} at (284,202) size 52x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,220.00)}]
         RenderSVGContainer {use} at (285,240) size 50x40
           [masker="mask_3"] RenderSVGResourceMasker {mask} at (25,20) size 50x40
           RenderSVGRect {rect} at (260,220) size 100x80 [fill={[type=LINEAR-GRADIENT] [id="maskedGradient"]}] [x=0.00] [y=0.00] [width=100.00] [height=80.00]
-        RenderSVGText {text} at (24,-18) size 51x18 contains 1 chunk(s)
+        RenderSVGText {text} at (24,-18) size 52x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 51x18
             chunk 1 (middle anchor) text run 1 at (24.50,-3.00) startOffset 0 endOffset 6 width 51.00: "Mask 3"
       RenderSVGContainer {g} at (265,322) size 90x82 [transform={m=((1.00,0.00)(0.00,1.00)) t=(260.00,340.00)}]
         RenderSVGContainer {use} at (265,340) size 90x64
           [masker="mask_4"] RenderSVGResourceMasker {mask} at (5.00,0) size 90.00x64.00
           RenderSVGRect {rect} at (260,340) size 100x80 [fill={[type=LINEAR-GRADIENT] [id="maskedGradient"]}] [x=0.00] [y=0.00] [width=100.00] [height=80.00]
-        RenderSVGText {text} at (24,-18) size 51x18 contains 1 chunk(s)
+        RenderSVGText {text} at (24,-18) size 52x19 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 51x18
             chunk 1 (middle anchor) text run 1 at (24.50,-3.00) startOffset 0 endOffset 6 width 51.00: "Mask 4"
     RenderSVGContainer {use} at (0,0) size 448x498
index e431d20..689b4d5 100644 (file)
@@ -2,10 +2,10 @@ layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
-    RenderSVGText {text} at (105,35) size 240x18 contains 1 chunk(s)
+    RenderSVGText {text} at (105,35) size 240x19 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 240x18
         chunk 1 (middle anchor) text run 1 at (105.00,50.00) startOffset 0 endOffset 34 width 240.00: "patternUnits / patternContentUnits"
-    RenderSVGText {text} at (168,60) size 114x18 contains 1 chunk(s)
+    RenderSVGText {text} at (168,60) size 114x19 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 114x18
         chunk 1 (middle anchor) text run 1 at (168.00,75.00) startOffset 0 endOffset 15 width 114.00: "pattern viewBox"
     RenderSVGContainer {g} at (14,108) size 410x293
@@ -41,130 +41,130 @@ layer at (0,0) size 450x500
         RenderSVGContainer {g} at (14,108) size 135x44
           RenderSVGRect {rect} at (14,119) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern1"]}] [x=20.00] [y=20.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (15,108) size 134x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,20.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern1"
             RenderSVGContainer {g} at (65,119) size 84x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 82x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 82x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 82x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 20 width 82.00: "patternUnits=default"
-              RenderSVGText {text} at (0,0) size 84x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 84x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 84x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 20 width 84.00: "contentUnits=default"
-              RenderSVGText {text} at (0,10) size 47x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,10) size 47x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 47x12
                   chunk 1 text run 1 at (0.00,20.00) startOffset 0 endOffset 10 width 47.00: "no viewbox"
         RenderSVGContainer {g} at (14,158) size 187x43
           RenderSVGRect {rect} at (14,169) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern2"]}] [x=20.00] [y=70.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (15,158) size 186x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,70.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern2"
             RenderSVGContainer {g} at (65,169) size 136x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 136x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 136x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 136x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 30 width 136.00: "patternUnits=objectBoundingBox"
-              RenderSVGText {text} at (0,0) size 84x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 84x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 84x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 20 width 84.00: "contentUnits=default"
         RenderSVGContainer {g} at (14,208) size 172x44
           RenderSVGRect {rect} at (14,219) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern3"]}] [x=20.00] [y=120.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (15,208) size 171x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,120.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern3"
             RenderSVGContainer {g} at (65,219) size 121x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 121x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 121x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 121x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 27 width 121.00: "patternUnits=userSpaceOnUse"
-              RenderSVGText {text} at (0,0) size 84x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 84x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 84x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 20 width 84.00: "contentUnits=default"
-              RenderSVGText {text} at (0,10) size 68x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,10) size 68x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 68x12
                   chunk 1 text run 1 at (0.00,20.00) startOffset 0 endOffset 16 width 68.00: "overflow=visible"
         RenderSVGContainer {g} at (14,258) size 189x44
           RenderSVGRect {rect} at (14,269) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern4"]}] [x=20.00] [y=170.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (15,258) size 188x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,170.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern4"
             RenderSVGContainer {g} at (65,269) size 138x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 82x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 82x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 82x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 20 width 82.00: "patternUnits=default"
-              RenderSVGText {text} at (0,0) size 138x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 138x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 138x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 30 width 138.00: "contentUnits=objectBoundingBox"
-              RenderSVGText {text} at (0,10) size 68x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,10) size 68x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 68x12
                   chunk 1 text run 1 at (0.00,20.00) startOffset 0 endOffset 16 width 68.00: "overflow=visible"
         RenderSVGContainer {g} at (14,308) size 189x43
           RenderSVGRect {rect} at (14,319) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern5"]}] [x=20.00] [y=220.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (15,308) size 188x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,220.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern5"
             RenderSVGContainer {g} at (65,319) size 138x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 136x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 136x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 136x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 30 width 136.00: "patternUnits=objectBoundingBox"
-              RenderSVGText {text} at (0,0) size 138x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 138x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 138x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 30 width 138.00: "contentUnits=objectBoundingBox"
         RenderSVGContainer {g} at (14,358) size 189x43
           RenderSVGRect {rect} at (14,369) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern6"]}] [x=20.00] [y=270.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (15,358) size 188x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,270.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern6"
             RenderSVGContainer {g} at (65,369) size 138x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 121x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 121x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 121x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 27 width 121.00: "patternUnits=userSpaceOnUse"
-              RenderSVGText {text} at (0,0) size 138x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 138x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 138x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 30 width 138.00: "contentUnits=objectBoundingBox"
         RenderSVGContainer {g} at (219,108) size 196x44
           RenderSVGRect {rect} at (219,119) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern7"]}] [x=225.00] [y=20.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (220,108) size 195x44 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,20.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern7"
             RenderSVGContainer {g} at (270,119) size 145x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 121x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 121x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 121x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 27 width 121.00: "patternUnits=userSpaceOnUse"
-              RenderSVGText {text} at (0,0) size 138x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 138x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 138x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 30 width 138.00: "contentUnits=objectBoundingBox"
-              RenderSVGText {text} at (0,10) size 145x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,10) size 145x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 145x12
                   chunk 1 text run 1 at (0.00,20.00) startOffset 0 endOffset 32 width 145.00: "viewBox preserveAspectRatio=none"
         RenderSVGContainer {g} at (219,158) size 205x43
           RenderSVGRect {rect} at (219,169) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern8"]}] [x=225.00] [y=70.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (220,158) size 204x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,70.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern8"
             RenderSVGContainer {g} at (270,169) size 154x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 92x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 92x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 92x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 22 width 92.00: "same as pattern#7 with"
-              RenderSVGText {text} at (0,0) size 154x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 154x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 154x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 33 width 154.00: "preserveAspectRatio=xMinYmin meet"
         RenderSVGContainer {g} at (219,208) size 204x43
           RenderSVGRect {rect} at (219,219) size 42x32 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pattern9"]}] [x=225.00] [y=120.00] [width=40.00] [height=30.00]
           RenderSVGContainer {g} at (220,208) size 203x34 [transform={m=((1.00,0.00)(0.00,1.00)) t=(225.00,120.00)}]
-            RenderSVGText {text} at (0,-12) size 37x12 contains 1 chunk(s)
+            RenderSVGText {text} at (0,-12) size 37x13 contains 1 chunk(s)
               RenderSVGInlineText {#text} at (0,0) size 37x12
                 chunk 1 text run 1 at (0.00,-2.00) startOffset 0 endOffset 9 width 37.00: "#pattern9"
             RenderSVGContainer {g} at (270,219) size 153x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,9.00)}]
-              RenderSVGText {text} at (0,-10) size 153x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,-10) size 153x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 153x12
                   chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 34 width 153.00: "preserveAspectRatio=xMinYmin slice"
-              RenderSVGText {text} at (0,0) size 68x12 contains 1 chunk(s)
+              RenderSVGText {text} at (0,0) size 68x13 contains 1 chunk(s)
                 RenderSVGInlineText {#text} at (0,0) size 68x12
                   chunk 1 text run 1 at (0.00,10.00) startOffset 0 endOffset 16 width 68.00: "overflow=visible"
     RenderSVGContainer {use} at (0,0) size 448x498
index 53db0ba..433c6e7 100644 (file)
@@ -3,7 +3,7 @@ layer at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
     RenderSVGContainer {g} at (20,25) size 407x450
-      RenderSVGText {text} at (98,25) size 254x18 contains 1 chunk(s)
+      RenderSVGText {text} at (98,25) size 254x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 254x18
           chunk 1 (middle anchor) text run 1 at (98.00,40.00) startOffset 0 endOffset 38 width 254.00: "Long text on a path test for selection"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
index 25e9b6e..0c42a93 100644 (file)
@@ -11,7 +11,7 @@ layer at (0,0) size 450x500
           RenderSVGRect {rect} at (0,5) size 5x5 [fill={[type=SOLID] [color=#000000]}] [x=0.00] [y=5.00] [width=5.00] [height=5.00]
           RenderSVGRect {rect} at (5,0) size 5x5 [fill={[type=SOLID] [color=#000000]}] [x=5.00] [y=0.00] [width=5.00] [height=5.00]
     RenderSVGContainer {g} at (49,25) size 329x440
-      RenderSVGText {text} at (155,25) size 139x18 contains 1 chunk(s)
+      RenderSVGText {text} at (155,25) size 140x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 139x18
           chunk 1 (middle anchor) text run 1 at (155.50,40.00) startOffset 0 endOffset 20 width 139.00: "Text decoration test"
       RenderSVGContainer {g} at (49,82) size 329x383
index 570613f..79dd56c 100644 (file)
@@ -2,11 +2,11 @@ layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
-    RenderSVGContainer {g} at (28,15) size 395x388
-      RenderSVGText {text} at (136,15) size 177x18 contains 1 chunk(s)
+    RenderSVGContainer {g} at (28,15) size 394x388
+      RenderSVGText {text} at (136,15) size 178x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 177x18
           chunk 1 (middle anchor) text run 1 at (136.50,30.00) startOffset 0 endOffset 27 width 177.00: "Gradient and filter on text"
-      RenderSVGText {text} at (106,35) size 238x18 contains 1 chunk(s)
+      RenderSVGText {text} at (106,35) size 238x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 238x18
           chunk 1 (middle anchor) text run 1 at (106.00,50.00) startOffset 0 endOffset 32 width 238.00: "(Using System font and SVG font)"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
@@ -34,19 +34,19 @@ layer at (0,0) size 450x500
         RenderSVGInlineText {#text} at (0,0) size 154x60
           chunk 1 (middle anchor) text run 1 at (253.42,260.00) startOffset 0 endOffset 5 width 153.15: "BATIK"
       RenderSVGText {text} at (44,312) size 152x60 contains 1 chunk(s)
-        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (28.80,306) size 182.40x72
+        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (28.80,306.09) size 182.40x71.06
         RenderSVGInlineText {#text} at (0,0) size 152x60
           [filter="dropShadow"] RenderSVGResourceFilter {filter} at (28.80,306.10) size 182.40x71.05
           chunk 1 (middle anchor) text run 1 at (44.00,360.00) startOffset 0 endOffset 5 width 152.00: "BATIK"
       RenderSVGText {text} at (253,312) size 154x60 contains 1 chunk(s)
-        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (237.60,306) size 184.80x72
+        [filter="dropShadow"] RenderSVGResourceFilter {filter} at (238.11,306.09) size 183.79x71.06
         RenderSVGInlineText {#text} at (0,0) size 154x60
           [filter="dropShadow"] RenderSVGResourceFilter {filter} at (238.11,306.10) size 183.78x71.05
           chunk 1 (middle anchor) text run 1 at (253.42,360.00) startOffset 0 endOffset 5 width 153.15: "BATIK"
-      RenderSVGText {text} at (87,389) size 65x14 contains 1 chunk(s)
+      RenderSVGText {text} at (87,389) size 66x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 65x14
           chunk 1 (middle anchor) text run 1 at (87.50,400.00) startOffset 0 endOffset 13 width 65.00: "(System font)"
-      RenderSVGText {text} at (302,389) size 55x14 contains 1 chunk(s)
+      RenderSVGText {text} at (302,389) size 56x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 55x14
           chunk 1 (middle anchor) text run 1 at (302.50,400.00) startOffset 0 endOffset 10 width 55.00: "(SVG font)"
     RenderSVGContainer {use} at (0,0) size 448x498
index 8dab4c4..737c8bb 100644 (file)
@@ -2,7 +2,7 @@ layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
-    RenderSVGText {text} at (144,5) size 162x18 contains 1 chunk(s)
+    RenderSVGText {text} at (144,5) size 162x19 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 162x18
         chunk 1 (middle anchor) text run 1 at (144.00,20.00) startOffset 0 endOffset 22 width 162.00: "textLength with Anchor"
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
@@ -30,7 +30,7 @@ layer at (0,0) size 450x500
               RenderSVGContainer {g} at (200,33) size 50x24
                 RenderSVGRect {rect} at (200,35) size 50x20 [fill={[type=SOLID] [color=#DDE8FF]}] [x=200.00] [y=5.00] [width=50.00] [height=20.00]
                 RenderSVGPath {line} at (224,33) size 2x24 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=225.00] [y1=3.00] [x2=225.00] [y2=27.00]
-        RenderSVGText {text} at (202,8) size 45x14 contains 1 chunk(s)
+        RenderSVGText {text} at (202,8) size 46x14 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 45x14
             chunk 1 (middle anchor) text run 1 at (202.50,19.00) startOffset 0 endOffset 9 width 45.00: "xml-batik"
         RenderSVGText {text} at (191,29) size 68x14 contains 1 chunk(s)
@@ -86,7 +86,7 @@ layer at (0,0) size 450x500
               RenderSVGContainer {g} at (200,213) size 50x24
                 RenderSVGRect {rect} at (200,215) size 50x20 [fill={[type=SOLID] [color=#DDE8FF]}] [x=200.00] [y=5.00] [width=50.00] [height=20.00]
                 RenderSVGPath {line} at (224,213) size 2x24 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=225.00] [y1=3.00] [x2=225.00] [y2=27.00]
-        RenderSVGText {text} at (202,8) size 45x14 contains 1 chunk(s)
+        RenderSVGText {text} at (202,8) size 46x14 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 45x14
             chunk 1 (middle anchor) text run 1 at (202.50,19.00) startOffset 0 endOffset 1 width 8.00: "B"
             chunk 1 (middle anchor) text run 2 at (215.50,19.00) startOffset 1 endOffset 2 width 5.00: "a"
@@ -147,7 +147,7 @@ layer at (0,0) size 450x500
         RenderSVGRect {rect} at (49,389) size 352x97 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D3D3D3]}] [x=50.00] [y=0.00] [width=350.00] [height=95.00]
         RenderSVGRect {rect} at (112,395) size 26x80 [fill={[type=SOLID] [color=#DDE8FF]}] [x=112.50] [y=5.00] [width=25.00] [height=80.00]
         RenderSVGPath {line} at (124,393) size 2x84 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=125.00] [y1=3.00] [x2=125.00] [y2=87.00]
-        RenderSVGText {text} at (112,-11) size 25x115 contains 1 chunk(s)
+        RenderSVGText {text} at (112,-11) size 26x115 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 25x115
             chunk 1 (middle anchor) text run 1 at (-33.50,79.00) startOffset 0 endOffset 9 width 317.00: "B a t i k"
         RenderSVGText {text} at (160,29) size 173x43 contains 1 chunk(s)
index 962be4a..2a4a5ca 100644 (file)
@@ -3,16 +3,16 @@ layer at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
     RenderSVGContainer {g} at (9,25) size 430x418
-      RenderSVGText {text} at (160,25) size 130x18 contains 1 chunk(s)
+      RenderSVGText {text} at (160,25) size 130x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 130x18
           chunk 1 (middle anchor) text run 1 at (160.00,40.00) startOffset 0 endOffset 19 width 130.00: "Text on a path test"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
         RenderSVGPath {path} at (14,0) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
         RenderSVGPath {path} at (29,0) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M 100 100 C 100 0 400 0 400 100"]
       RenderSVGContainer {g} at (11,54) size 123x89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,70.00)}]
-        RenderSVGContainer {use} at (29,70) size 92x50
-          RenderSVGPath {path} at (29,70) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (11,-16) size 122x67 contains 1 chunk(s)
+        RenderSVGContainer {use} at (29,69) size 92x51
+          RenderSVGPath {path} at (29,69) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (11,-16) size 123x67 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 122x67
             RenderSVGInlineText {#text} at (0,16) size 43x50
               chunk 1 text run 1 at (30.45,44.02) startOffset 0 endOffset 1 width 12.00: "T"
@@ -34,15 +34,15 @@ layer at (0,0) size 450x500
                 chunk 1 text run 6 at (110.16,25.51) startOffset 5 endOffset 6 width 6.00: "t"
                 chunk 1 text run 7 at (115.10,31.78) startOffset 6 endOffset 7 width 10.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 68x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 68x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 68x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 68.00: "startOffset=\"0%\""
-        RenderSVGText {text} at (35,60) size 75x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 75x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
       RenderSVGContainer {g} at (162,65) size 109x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,70.00)}]
-        RenderSVGContainer {use} at (179,70) size 92x50
-          RenderSVGPath {path} at (179,70) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGContainer {use} at (179,69) size 92x51
+          RenderSVGPath {path} at (179,69) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
         RenderSVGText {text} at (12,-5) size 57x53 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 57x53
             RenderSVGInlineText {#text} at (-12,4) size 0x0
@@ -58,16 +58,16 @@ layer at (0,0) size 450x500
                 chunk 1 (middle anchor) text run 6 at (55.34,15.88) startOffset 5 endOffset 6 width 6.00: "t"
                 chunk 1 (middle anchor) text run 7 at (63.03,13.71) startOffset 6 endOffset 7 width 10.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 68x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 68x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 68x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 68.00: "startOffset=\"0%\""
-        RenderSVGText {text} at (35,60) size 86x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 86x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 86x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
       RenderSVGContainer {g} at (301,64) size 120x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,70.00)}]
-        RenderSVGContainer {use} at (329,70) size 92x50
-          RenderSVGPath {path} at (329,70) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (1,-6) size 74x55 contains 1 chunk(s)
+        RenderSVGContainer {use} at (329,69) size 92x51
+          RenderSVGPath {path} at (329,69) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (1,-6) size 75x55 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 74x55
             RenderSVGInlineText {#text} at (-1,5) size 0x0
             RenderSVGTSpan {tspan} at (0,0) size 25x14
@@ -83,16 +83,16 @@ layer at (0,0) size 450x500
                 chunk 1 (end anchor) text run 6 at (62.10,13.90) startOffset 5 endOffset 6 width 6.00: "t"
                 chunk 1 (end anchor) text run 7 at (70.01,12.71) startOffset 6 endOffset 7 width 10.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 73x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 73x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 73x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 17 width 73.00: "startOffset=\"50%\""
-        RenderSVGText {text} at (35,60) size 72x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 72x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
       RenderSVGContainer {g} at (29,164) size 119x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,170.00)}]
-        RenderSVGContainer {use} at (29,170) size 92x50
-          RenderSVGPath {path} at (29,170) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (74,-6) size 73x58 contains 1 chunk(s)
+        RenderSVGContainer {use} at (29,169) size 92x51
+          RenderSVGPath {path} at (29,169) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (74,-6) size 74x58 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 73x58
             RenderSVGInlineText {#text} at (0,0) size 52x38
               chunk 1 text run 1 at (80.99,12.80) startOffset 0 endOffset 1 width 12.00: "T"
@@ -108,15 +108,15 @@ layer at (0,0) size 450x500
               RenderSVGInlineText {#text} at (40,51) size 24x6
                 chunk 1 text run 1 at (119.99,48.94) startOffset 0 endOffset 1 width 5.00: " "
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 73x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 73x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 73x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 17 width 73.00: "startOffset=\"50%\""
-        RenderSVGText {text} at (35,60) size 75x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 75x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
       RenderSVGContainer {g} at (163,154) size 124x89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,170.00)}]
-        RenderSVGContainer {use} at (179,170) size 92x50
-          RenderSVGPath {path} at (179,170) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGContainer {use} at (179,169) size 92x51
+          RenderSVGPath {path} at (179,169) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
         RenderSVGText {text} at (13,-16) size 124x61 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 124x61
             RenderSVGInlineText {#text} at (0,13) size 48x47
@@ -139,15 +139,15 @@ layer at (0,0) size 450x500
                 chunk 1 (middle anchor) text run 6 at (114.60,30.98) startOffset 5 endOffset 6 width 6.00: "t"
                 chunk 1 (middle anchor) text run 7 at (118.10,38.15) startOffset 6 endOffset 7 width 10.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 73x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 73x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 73x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 17 width 73.00: "startOffset=\"50%\""
-        RenderSVGText {text} at (35,60) size 86x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 86x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 86x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
       RenderSVGContainer {g} at (317,154) size 122x89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,170.00)}]
-        RenderSVGContainer {use} at (329,170) size 92x50
-          RenderSVGPath {path} at (329,170) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGContainer {use} at (329,169) size 92x51
+          RenderSVGPath {path} at (329,169) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
         RenderSVGText {text} at (17,-16) size 122x67 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 122x67
             RenderSVGInlineText {#text} at (0,11) size 50x44
@@ -170,16 +170,16 @@ layer at (0,0) size 450x500
                 chunk 1 (end anchor) text run 6 at (117.78,37.26) startOffset 5 endOffset 6 width 6.00: "t"
                 chunk 1 (end anchor) text run 7 at (119.69,45.01) startOffset 6 endOffset 7 width 10.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 78x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 78x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 78x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 18 width 78.00: "startOffset=\"100%\""
-        RenderSVGText {text} at (35,60) size 72x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 72x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
       RenderSVGContainer {g} at (29,256) size 109x87 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
-        RenderSVGContainer {use} at (29,270) size 92x50
-          RenderSVGPath {path} at (29,270) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (38,-14) size 100x61 contains 1 chunk(s)
+        RenderSVGContainer {use} at (29,269) size 92x51
+          RenderSVGPath {path} at (29,269) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (38,-14) size 100x62 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 100x61
             RenderSVGInlineText {#text} at (0,7) size 51x31
               chunk 1 text run 1 at (51.19,17.62) startOffset 0 endOffset 1 width 12.00: "T"
@@ -198,16 +198,16 @@ layer at (0,0) size 450x500
                 chunk 1 text run 3 at (115.85,33.08) startOffset 2 endOffset 3 width 5.00: " "
                 chunk 1 text run 4 at (118.81,40.49) startOffset 3 endOffset 4 width 11.00: "P"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 65x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 65x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 65x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 65.00: "startOffset=\"35\""
-        RenderSVGText {text} at (35,60) size 75x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 75x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
       RenderSVGContainer {g} at (161,264) size 110x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,270.00)}]
-        RenderSVGContainer {use} at (179,270) size 92x50
-          RenderSVGPath {path} at (179,270) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (11,-6) size 98x59 contains 1 chunk(s)
+        RenderSVGContainer {use} at (179,269) size 92x51
+          RenderSVGPath {path} at (179,269) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (11,-6) size 99x59 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 98x59
             RenderSVGInlineText {#text} at (0,30) size 28x29
               chunk 1 (middle anchor) text run 1 at (30.08,47.50) startOffset 2 endOffset 3 width 10.00: "x"
@@ -227,16 +227,16 @@ layer at (0,0) size 450x500
                 chunk 1 (middle anchor) text run 6 at (89.79,14.36) startOffset 5 endOffset 6 width 6.00: "t"
                 chunk 1 (middle anchor) text run 7 at (97.35,16.96) startOffset 6 endOffset 7 width 10.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 65x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 65x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 65x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 65.00: "startOffset=\"35\""
-        RenderSVGText {text} at (35,60) size 86x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 86x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 86x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
-      RenderSVGContainer {g} at (311,270) size 110x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,270.00)}]
-        RenderSVGContainer {use} at (329,270) size 92x50
-          RenderSVGPath {path} at (329,270) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (11,6) size 38x45 contains 1 chunk(s)
+      RenderSVGContainer {g} at (311,269) size 110x74 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,270.00)}]
+        RenderSVGContainer {use} at (329,269) size 92x51
+          RenderSVGPath {path} at (329,269) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (11,6) size 39x46 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 38x45
             RenderSVGInlineText {#text} at (-11,-6) size 0x0
             RenderSVGTSpan {tspan} at (0,0) size 1x1
@@ -248,16 +248,16 @@ layer at (0,0) size 450x500
                 chunk 1 (end anchor) text run 3 at (36.51,29.38) startOffset 5 endOffset 6 width 6.00: "t"
                 chunk 1 (end anchor) text run 4 at (41.96,23.55) startOffset 6 endOffset 7 width 10.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 65x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 65x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 65x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 65.00: "startOffset=\"35\""
-        RenderSVGText {text} at (35,60) size 72x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 72x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
       RenderSVGContainer {g} at (9,359) size 136x84 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
         RenderSVGContainer {use} at (24,370) size 121x45
           RenderSVGPath {path} at (24,370) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (-1,-11) size 123x57 contains 1 chunk(s)
+        RenderSVGText {text} at (-1,-11) size 123x58 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 123x57
             RenderSVGTSpan {tspan} at (0,0) size 41x38
               RenderSVGInlineText {#text} at (0,0) size 41x38
@@ -286,16 +286,16 @@ layer at (0,0) size 450x500
               chunk 1 text run 6 at (113.27,23.10) startOffset 5 endOffset 6 width 4.00: "t"
               chunk 1 text run 7 at (117.51,20.46) startOffset 6 endOffset 7 width 6.00: "s"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (20,50) size 88x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,50) size 88x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 88x12
             chunk 1 text run 1 at (20.00,60.00) startOffset 0 endOffset 22 width 88.00: "baseline-shift=\"super\""
-        RenderSVGText {text} at (20,60) size 98x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,60) size 98x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 98x12
             chunk 1 text run 1 at (20.00,70.00) startOffset 0 endOffset 24 width 98.00: "and baseline-shift=\"sub\""
       RenderSVGContainer {g} at (158,362) size 132x71 [transform={m=((1.00,0.00)(0.00,1.00)) t=(155.00,370.00)}]
         RenderSVGContainer {use} at (169,370) size 121x45
           RenderSVGPath {path} at (169,370) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (3,-8) size 125x51 contains 1 chunk(s)
+        RenderSVGText {text} at (3,-8) size 126x52 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 125x51
             RenderSVGTSpan {tspan} at (0,0) size 60x39
               RenderSVGInlineText {#text} at (0,0) size 60x39
@@ -324,14 +324,14 @@ layer at (0,0) size 450x500
                 chunk 1 text run 7 at (115.78,21.47) startOffset 6 endOffset 7 width 8.00: "v"
                 chunk 1 text run 8 at (122.46,18.06) startOffset 7 endOffset 8 width 7.00: "e"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (20,50) size 97x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,50) size 97x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 97x12
             chunk 1 text run 1 at (20.00,60.00) startOffset 0 endOffset 23 width 97.00: "baseline-shift=\"+/-20%\""
       RenderSVGContainer {g} at (304,366) size 121x67 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,390.00)}]
         RenderSVGContainer {g} at (304,366) size 121x49 [transform={m=((0.50,0.00)(0.00,0.50)) t=(0.00,0.00)}]
-          RenderSVGContainer {use} at (314,390) size 47x25
-            RenderSVGPath {path} at (314,390) size 47x25 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-          RenderSVGText {text} at (9,-47) size 239x88 contains 1 chunk(s)
+          RenderSVGContainer {use} at (314,389) size 47x26
+            RenderSVGPath {path} at (314,389) size 47x26 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+          RenderSVGText {text} at (9,-47) size 240x88 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (20,0) size 150x34
               chunk 1 text run 1 at (30.00,-20.00) startOffset 0 endOffset 12 width 150.00: "before path "
             RenderSVGTextPath {textPath} at (0,0) size 120x56
@@ -345,7 +345,7 @@ layer at (0,0) size 450x500
                 chunk 1 text run 7 at (106.49,22.29) startOffset 6 endOffset 7 width 16.00: "h"
             RenderSVGInlineText {#text} at (112,42) size 126x34
               chunk 1 text run 1 at (122.49,22.29) startOffset 0 endOffset 11 width 126.00: " after path"
-        RenderSVGText {text} at (15,30) size 98x12 contains 1 chunk(s)
+        RenderSVGText {text} at (15,30) size 98x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 98x12
             chunk 1 text run 1 at (15.00,40.00) startOffset 0 endOffset 26 width 98.00: "text before/after textPath"
     RenderSVGContainer {use} at (0,0) size 448x498
index 08acb09..95d90a8 100644 (file)
@@ -2,54 +2,54 @@ layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 449x498
-    RenderSVGText {text} at (178,15) size 93x18 contains 1 chunk(s)
+    RenderSVGText {text} at (178,15) size 94x19 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 93x18
         chunk 1 (middle anchor) text run 1 at (178.50,30.00) startOffset 0 endOffset 13 width 93.00: "Text Position"
     RenderSVGContainer {g} at (50,58) size 399x345
-      RenderSVGText {text} at (50,58) size 53x27 contains 1 chunk(s)
+      RenderSVGText {text} at (50,58) size 53x28 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 53x27
           chunk 1 text run 1 at (50.00,80.00) startOffset 0 endOffset 5 width 53.00: "Batik"
-      RenderSVGText {text} at (50,90) size 103x12 contains 1 chunk(s)
+      RenderSVGText {text} at (50,90) size 103x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 103x12
           chunk 1 text run 1 at (50.00,100.00) startOffset 0 endOffset 21 width 103.00: "<text x=\"100\" y=\"80\">"
-      RenderSVGText {text} at (240,58) size 133x27 contains 1 chunk(s)
+      RenderSVGText {text} at (240,58) size 133x28 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 133x27
           chunk 1 text run 1 at (240.00,80.00) startOffset 0 endOffset 1 width 16.00: "B"
           chunk 1 text run 2 at (276.00,80.00) startOffset 1 endOffset 2 width 13.00: "a"
           chunk 1 text run 3 at (309.00,80.00) startOffset 2 endOffset 3 width 7.00: "t"
           chunk 1 text run 4 at (336.00,80.00) startOffset 3 endOffset 4 width 5.00: "i"
           chunk 1 text run 5 at (361.00,80.00) startOffset 4 endOffset 5 width 12.00: "k"
-      RenderSVGText {text} at (240,90) size 194x12 contains 1 chunk(s)
+      RenderSVGText {text} at (240,90) size 194x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 194x12
           chunk 1 text run 1 at (240.00,100.00) startOffset 0 endOffset 41 width 194.00: "<text x=\"240\" y=\"80\" letter-spacing=\"20\">"
-      RenderSVGText {text} at (50,118) size 92x27 contains 1 chunk(s)
+      RenderSVGText {text} at (50,118) size 92x28 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 92x27
           chunk 1 text run 1 at (50.00,140.00) startOffset 0 endOffset 1 width 16.00: "B"
           chunk 1 text run 1 at (70.00,140.00) startOffset 0 endOffset 1 width 13.00: "a"
           chunk 1 text run 1 at (90.00,140.00) startOffset 0 endOffset 1 width 7.00: "t"
           chunk 1 text run 1 at (110.00,140.00) startOffset 0 endOffset 1 width 5.00: "i"
           chunk 1 text run 1 at (130.00,140.00) startOffset 0 endOffset 1 width 12.00: "k"
-      RenderSVGText {text} at (50,150) size 175x12 contains 1 chunk(s)
+      RenderSVGText {text} at (50,150) size 175x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 175x12
           chunk 1 text run 1 at (50.00,160.00) startOffset 0 endOffset 35 width 175.00: "<text x=\"50 70 90 110 130\" y=\"140\">"
-      RenderSVGText {text} at (240,118) size 133x27 contains 1 chunk(s)
+      RenderSVGText {text} at (240,118) size 133x28 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 133x27
           chunk 1 text run 1 at (240.00,140.00) startOffset 0 endOffset 1 width 16.00: "B"
           chunk 1 text run 2 at (276.00,140.00) startOffset 1 endOffset 2 width 13.00: "a"
           chunk 1 text run 3 at (309.00,140.00) startOffset 2 endOffset 3 width 7.00: "t"
           chunk 1 text run 4 at (336.00,140.00) startOffset 3 endOffset 4 width 5.00: "i"
           chunk 1 text run 5 at (361.00,140.00) startOffset 4 endOffset 5 width 12.00: "k"
-      RenderSVGText {text} at (240,150) size 175x12 contains 1 chunk(s)
+      RenderSVGText {text} at (240,150) size 175x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 175x12
           chunk 1 text run 1 at (240.00,160.00) startOffset 0 endOffset 35 width 175.00: "<text dx=\"240 20 20 20 20\" y=\"140\">"
-      RenderSVGText {text} at (50,178) size 53x27 contains 1 chunk(s)
+      RenderSVGText {text} at (50,178) size 53x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 53x27
           RenderSVGInlineText {#text} at (0,0) size 53x27
             chunk 1 text run 1 at (50.00,200.00) startOffset 0 endOffset 5 width 53.00: "Batik"
-      RenderSVGText {text} at (50,210) size 112x12 contains 1 chunk(s)
+      RenderSVGText {text} at (50,210) size 112x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 112x12
           chunk 1 text run 1 at (50.00,220.00) startOffset 0 endOffset 22 width 112.00: "<tspan x=\"50\" y=\"200\">"
-      RenderSVGText {text} at (240,178) size 133x27 contains 1 chunk(s)
+      RenderSVGText {text} at (240,178) size 133x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 133x27
           RenderSVGInlineText {#text} at (0,0) size 133x27
             chunk 1 text run 1 at (240.00,200.00) startOffset 0 endOffset 1 width 16.00: "B"
@@ -57,11 +57,11 @@ layer at (0,0) size 450x500
             chunk 1 text run 3 at (309.00,200.00) startOffset 2 endOffset 3 width 7.00: "t"
             chunk 1 text run 4 at (336.00,200.00) startOffset 3 endOffset 4 width 5.00: "i"
             chunk 1 text run 5 at (361.00,200.00) startOffset 4 endOffset 5 width 12.00: "k"
-      RenderSVGText {text} at (240,210) size 209x12 contains 1 chunk(s)
+      RenderSVGText {text} at (240,210) size 209x13 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 209x12
           RenderSVGInlineText {#text} at (0,0) size 209x12
             chunk 1 text run 1 at (240.00,220.00) startOffset 0 endOffset 43 width 209.00: "<tspan x=\"240\" y=\"200\" letter-spacing=\"20\">"
-      RenderSVGText {text} at (50,238) size 92x27 contains 1 chunk(s)
+      RenderSVGText {text} at (50,238) size 92x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 92x27
           RenderSVGInlineText {#text} at (0,0) size 92x27
             chunk 1 text run 1 at (50.00,260.00) startOffset 0 endOffset 1 width 16.00: "B"
@@ -69,10 +69,10 @@ layer at (0,0) size 450x500
             chunk 1 text run 1 at (90.00,260.00) startOffset 0 endOffset 1 width 7.00: "t"
             chunk 1 text run 1 at (110.00,260.00) startOffset 0 endOffset 1 width 5.00: "i"
             chunk 1 text run 1 at (130.00,260.00) startOffset 0 endOffset 1 width 12.00: "k"
-      RenderSVGText {text} at (50,270) size 184x12 contains 1 chunk(s)
+      RenderSVGText {text} at (50,270) size 184x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 184x12
           chunk 1 text run 1 at (50.00,280.00) startOffset 0 endOffset 36 width 184.00: "<tspan x=\"50 70 90 110 130\" y=\"260\">"
-      RenderSVGText {text} at (240,238) size 133x27 contains 1 chunk(s)
+      RenderSVGText {text} at (240,238) size 133x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 133x27
           RenderSVGInlineText {#text} at (0,0) size 133x27
             chunk 1 text run 1 at (240.00,260.00) startOffset 0 endOffset 1 width 16.00: "B"
@@ -80,10 +80,10 @@ layer at (0,0) size 450x500
             chunk 1 text run 3 at (309.00,260.00) startOffset 2 endOffset 3 width 7.00: "t"
             chunk 1 text run 4 at (336.00,260.00) startOffset 3 endOffset 4 width 5.00: "i"
             chunk 1 text run 5 at (361.00,260.00) startOffset 4 endOffset 5 width 12.00: "k"
-      RenderSVGText {text} at (240,270) size 184x12 contains 1 chunk(s)
+      RenderSVGText {text} at (240,270) size 184x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 184x12
           chunk 1 text run 1 at (240.00,280.00) startOffset 0 endOffset 36 width 184.00: "<tspan dx=\"240 20 20 20 20\" y=\"260\">"
-      RenderSVGText {text} at (50,298) size 92x27 contains 1 chunk(s)
+      RenderSVGText {text} at (50,298) size 92x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 92x27
           RenderSVGInlineText {#text} at (0,0) size 92x27
             chunk 1 text run 1 at (50.00,320.00) startOffset 0 endOffset 1 width 16.00: "B"
@@ -91,13 +91,13 @@ layer at (0,0) size 450x500
             chunk 1 text run 1 at (90.00,320.00) startOffset 0 endOffset 1 width 7.00: "t"
             chunk 1 text run 1 at (110.00,320.00) startOffset 0 endOffset 1 width 5.00: "i"
             chunk 1 text run 1 at (130.00,320.00) startOffset 0 endOffset 1 width 12.00: "k"
-      RenderSVGText {text} at (50,330) size 170x23 contains 1 chunk(s)
+      RenderSVGText {text} at (50,330) size 170x24 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 129x12
           chunk 1 text run 1 at (50.00,340.00) startOffset 0 endOffset 26 width 129.00: "<tspan x=\"50 60 70 80 90\" "
         RenderSVGTSpan {tspan} at (0,0) size 137x12
           RenderSVGInlineText {#text} at (33,11) size 137x12
             chunk 1 text run 1 at (83.00,351.00) startOffset 0 endOffset 27 width 137.00: "dx=\"0 10 20 30 40\" y=\"320\">"
-      RenderSVGText {text} at (240,298) size 133x27 contains 1 chunk(s)
+      RenderSVGText {text} at (240,298) size 133x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 133x27
           RenderSVGInlineText {#text} at (0,0) size 133x27
             chunk 1 text run 1 at (240.00,320.00) startOffset 0 endOffset 1 width 16.00: "B"
@@ -105,13 +105,13 @@ layer at (0,0) size 450x500
             chunk 1 text run 3 at (309.00,320.00) startOffset 2 endOffset 3 width 7.00: "t"
             chunk 1 text run 4 at (336.00,320.00) startOffset 3 endOffset 4 width 5.00: "i"
             chunk 1 text run 5 at (361.00,320.00) startOffset 4 endOffset 5 width 12.00: "k"
-      RenderSVGText {text} at (240,330) size 191x23 contains 1 chunk(s)
+      RenderSVGText {text} at (240,330) size 191x24 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 169x12
           chunk 1 text run 1 at (240.00,340.00) startOffset 0 endOffset 34 width 169.00: "<tspan x=\"240\" dx=\"0 10 10 10 10\" "
         RenderSVGTSpan {tspan} at (0,0) size 158x12
           RenderSVGInlineText {#text} at (33,11) size 158x12
             chunk 1 text run 1 at (273.00,351.00) startOffset 0 endOffset 34 width 158.00: "y=\"320\" style=\"letter-spacing:10\">"
-      RenderSVGText {text} at (50,358) size 93x27 contains 1 chunk(s)
+      RenderSVGText {text} at (50,358) size 93x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 93x27
           RenderSVGInlineText {#text} at (0,0) size 93x27
             chunk 1 text run 1 at (50.00,380.00) startOffset 0 endOffset 1 width 16.00: "B"
@@ -120,10 +120,10 @@ layer at (0,0) size 450x500
             chunk 1 text run 4 at (116.00,380.00) startOffset 3 endOffset 4 width 5.00: "i"
             chunk 1 text run 5 at (131.00,380.00) startOffset 4 endOffset 5 width 12.00: "k"
         RenderSVGTSpan {tspan} at (0,0) size 0x1
-      RenderSVGText {text} at (50,390) size 94x12 contains 1 chunk(s)
+      RenderSVGText {text} at (50,390) size 94x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 94x12
           chunk 1 text run 1 at (50.00,400.00) startOffset 0 endOffset 20 width 94.00: "Empty Trailing tspan"
-      RenderSVGText {text} at (240,358) size 133x27 contains 1 chunk(s)
+      RenderSVGText {text} at (240,358) size 133x28 contains 1 chunk(s)
         RenderSVGTSpan {tspan} at (0,0) size 0x0
         RenderSVGTSpan {tspan} at (0,0) size 133x27
           RenderSVGInlineText {#text} at (0,0) size 133x27
@@ -132,7 +132,7 @@ layer at (0,0) size 450x500
             chunk 1 text run 3 at (309.00,380.00) startOffset 2 endOffset 3 width 7.00: "t"
             chunk 1 text run 4 at (336.00,380.00) startOffset 3 endOffset 4 width 5.00: "i"
             chunk 1 text run 5 at (361.00,380.00) startOffset 4 endOffset 5 width 12.00: "k"
-      RenderSVGText {text} at (240,390) size 114x12 contains 1 chunk(s)
+      RenderSVGText {text} at (240,390) size 114x13 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 114x12
           chunk 1 text run 1 at (240.00,400.00) startOffset 0 endOffset 22 width 114.00: "Empty Preceeding tspan"
     RenderSVGContainer {use} at (0,0) size 448x498
index 75b3c44..cb6c439 100644 (file)
@@ -5,7 +5,7 @@ layer at (0,0) size 450x500
     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
       RenderSVGPath {path} at (14,0) size 317x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 0 1000 100 C 1100 200 1200 300 1300 200 C 1400 100 1500 0 1600 100 C 1700 200 1800 300 1900 200 C 2000 100 2100 0 2200 100"]
     RenderSVGContainer {g} at (20,25) size 410x470
-      RenderSVGText {text} at (163,25) size 124x18 contains 1 chunk(s)
+      RenderSVGText {text} at (163,25) size 124x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 124x18
           chunk 1 (middle anchor) text run 1 at (163.00,40.00) startOffset 0 endOffset 18 width 124.00: "Vertical Text Test"
       RenderSVGPath {line} at (20,74) size 410x2 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x1=20.00] [y1=75.00] [x2=430.00] [y2=75.00]
@@ -26,7 +26,7 @@ layer at (0,0) size 450x500
         RenderSVGPath {line} at (299,75) size 2x375 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=300.00] [y1=75.00] [x2=300.00] [y2=450.00]
         RenderSVGPath {line} at (349,75) size 2x375 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=350.00] [y1=75.00] [x2=350.00] [y2=450.00]
         RenderSVGPath {line} at (399,75) size 2x375 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=400.00] [y1=75.00] [x2=400.00] [y2=450.00]
-      RenderSVGText {text} at (41,75) size 17x169 contains 1 chunk(s)
+      RenderSVGText {text} at (41,75) size 18x169 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 17x169
           chunk 1 (vertical) text run 1 at (45.25,75.00) startOffset 0 endOffset 1 height 17.00: "W"
           chunk 1 (vertical) text run 2 at (45.25,89.00) startOffset 1 endOffset 2 height 17.00: "r"
@@ -51,7 +51,7 @@ layer at (0,0) size 450x500
           chunk 1 (vertical) text run 21 at (45.25,198.00) startOffset 20 endOffset 21 height 17.00: "m"
           chunk 1 (vertical) text run 22 at (45.25,210.00) startOffset 21 endOffset 22 height 17.00: "\x{753B}"
           chunk 1 (vertical) text run 23 at (45.25,227.00) startOffset 22 endOffset 23 height 17.00: "\x{50CF}"
-      RenderSVGText {text} at (91,75) size 17x178 contains 1 chunk(s)
+      RenderSVGText {text} at (91,75) size 18x178 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 17x178
           chunk 1 (vertical) text run 1 at (95.25,75.00) startOffset 0 endOffset 1 height 17.00: "G"
           chunk 1 (vertical) text run 2 at (95.25,86.00) startOffset 1 endOffset 2 height 17.00: "l"
@@ -77,7 +77,7 @@ layer at (0,0) size 450x500
           chunk 1 (vertical) text run 22 at (95.25,211.00) startOffset 21 endOffset 22 height 17.00: "o"
           chunk 1 (vertical) text run 23 at (95.25,219.00) startOffset 22 endOffset 23 height 17.00: "\x{753B}"
           chunk 1 (vertical) text run 24 at (95.25,236.00) startOffset 23 endOffset 24 height 17.00: "\x{50CF}"
-      RenderSVGText {text} at (142,75) size 15x357 contains 1 chunk(s)
+      RenderSVGText {text} at (142,75) size 16x357 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 15x357
           chunk 1 (vertical) text run 1 at (145.25,75.00) startOffset 0 endOffset 1 height 17.00: "G"
           chunk 1 (vertical) text run 2 at (145.25,92.00) startOffset 1 endOffset 2 height 17.00: "l"
@@ -100,7 +100,7 @@ layer at (0,0) size 450x500
           chunk 1 (vertical) text run 19 at (145.25,381.00) startOffset 18 endOffset 19 height 17.00: "0"
           chunk 1 (vertical) text run 20 at (145.25,398.00) startOffset 19 endOffset 20 height 17.00: "\x{753B}"
           chunk 1 (vertical) text run 21 at (145.25,415.00) startOffset 20 endOffset 21 height 17.00: "\x{50CF}"
-      RenderSVGText {text} at (191,75) size 17x163 contains 1 chunk(s)
+      RenderSVGText {text} at (191,75) size 18x163 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 17x163
           chunk 1 (vertical) text run 1 at (195.25,75.00) startOffset 0 endOffset 1 height 17.00: "G"
           chunk 1 (vertical) text run 2 at (195.25,86.00) startOffset 1 endOffset 2 height 17.00: "l"
@@ -124,7 +124,7 @@ layer at (0,0) size 450x500
           chunk 1 (vertical) text run 20 at (195.25,200.00) startOffset 19 endOffset 20 height 17.00: "0"
           chunk 1 (vertical) text run 21 at (195.25,208.00) startOffset 20 endOffset 21 height 17.00: "\x{753B}"
           chunk 1 (vertical) text run 22 at (195.25,223.00) startOffset 21 endOffset 22 height 17.00: "\x{50CF}"
-      RenderSVGText {text} at (242,71) size 15x391 contains 1 chunk(s)
+      RenderSVGText {text} at (242,71) size 16x392 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 15x391
           chunk 1 (vertical) text run 1 at (245.25,75.00) startOffset 0 endOffset 1 height 17.00: "G"
           chunk 1 (vertical) text run 2 at (245.25,92.00) startOffset 1 endOffset 2 height 17.00: "l"
@@ -149,7 +149,7 @@ layer at (0,0) size 450x500
           chunk 1 (vertical) text run 21 at (245.25,415.00) startOffset 20 endOffset 21 height 17.00: "0"
           chunk 1 (vertical) text run 22 at (245.25,432.00) startOffset 21 endOffset 22 height 17.00: "\x{753B}"
           chunk 1 (vertical) text run 23 at (245.25,449.00) startOffset 22 endOffset 23 height 17.00: "\x{50CF}"
-      RenderSVGText {text} at (291,75) size 17x171 contains 1 chunk(s)
+      RenderSVGText {text} at (291,75) size 18x171 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 17x171
           chunk 1 (vertical) text run 1 at (295.25,75.00) startOffset 0 endOffset 1 height 17.00: "G"
           chunk 1 (vertical) text run 2 at (295.25,86.00) startOffset 1 endOffset 2 height 17.00: "l"
@@ -174,7 +174,7 @@ layer at (0,0) size 450x500
           chunk 1 (vertical) text run 21 at (295.25,208.00) startOffset 20 endOffset 21 height 17.00: "0"
           chunk 1 (vertical) text run 22 at (295.25,216.00) startOffset 21 endOffset 22 height 17.00: "\x{753B}"
           chunk 1 (vertical) text run 23 at (295.25,231.00) startOffset 22 endOffset 23 height 17.00: "\x{50CF}"
-      RenderSVGText {text} at (341,75) size 17x173 contains 1 chunk(s)
+      RenderSVGText {text} at (341,75) size 18x173 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 17x71
           chunk 1 (vertical) text run 1 at (345.25,75.00) startOffset 0 endOffset 1 height 17.00: "E"
           chunk 1 (vertical) text run 2 at (345.25,84.00) startOffset 1 endOffset 2 height 17.00: "m"
@@ -203,7 +203,7 @@ layer at (0,0) size 450x500
           chunk 1 (vertical) text run 6 at (345.25,229.00) startOffset 5 endOffset 6 height 17.00: "e"
           chunk 1 (vertical) text run 7 at (345.25,236.00) startOffset 6 endOffset 7 height 17.00: "n"
           chunk 1 (vertical) text run 8 at (345.25,244.00) startOffset 7 endOffset 8 height 17.00: "t"
-      RenderSVGText {text} at (391,75) size 17x294 contains 1 chunk(s)
+      RenderSVGText {text} at (391,75) size 18x294 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 17x71
           chunk 1 (vertical) text run 1 at (395.25,75.00) startOffset 0 endOffset 1 height 17.00: "E"
           chunk 1 (vertical) text run 2 at (395.25,84.00) startOffset 1 endOffset 2 height 17.00: "m"
@@ -238,7 +238,7 @@ layer at (0,0) size 450x500
       RenderSVGContainer {g} at (51,450) size 320x45 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,450.00)}]
         RenderSVGContainer {use} at (54,450) size 317x45
           RenderSVGPath {path} at (54,450) size 317x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 0 1000 100 C 1100 200 1200 300 1300 200 C 1400 100 1500 0 1600 100 C 1700 200 1800 300 1900 200 C 2000 100 2100 0 2200 100"]
-        RenderSVGText {text} at (11,5) size 296x35 contains 1 chunk(s)
+        RenderSVGText {text} at (11,5) size 297x36 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 296x35
             RenderSVGInlineText {#text} at (0,0) size 296x35
               chunk 1 (vertical) text run 1 at (19.97,25.07) startOffset 0 endOffset 1 height 14.00: "V"
index 5c25c26..b2d991a 100644 (file)
@@ -3,7 +3,7 @@ layer at (0,0) size 800x600
 layer at (0,0) size 450x500
   RenderSVGRoot {svg} at (0,0) size 448x498
     RenderSVGContainer {g} at (9,25) size 438x458
-      RenderSVGText {text} at (134,25) size 182x18 contains 1 chunk(s)
+      RenderSVGText {text} at (134,25) size 182x19 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 182x18
           chunk 1 (middle anchor) text run 1 at (134.00,40.00) startOffset 0 endOffset 28 width 182.00: "Vertical text on a path test"
       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
@@ -12,7 +12,7 @@ layer at (0,0) size 450x500
       RenderSVGContainer {g} at (9,60) size 126x93 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,70.00)}]
         RenderSVGContainer {use} at (14,70) size 121x45
           RenderSVGPath {path} at (14,70) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (9,-10) size 83x54 contains 1 chunk(s)
+        RenderSVGText {text} at (9,-10) size 83x55 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 83x54
             RenderSVGInlineText {#text} at (0,12) size 35x34
               chunk 1 (vertical) text run 1 at (18.19,26.82) startOffset 0 endOffset 1 height 17.00: "T"
@@ -34,13 +34,13 @@ layer at (0,0) size 450x500
                 chunk 1 (vertical) text run 6 at (79.44,32.02) startOffset 5 endOffset 6 height 17.00: "t"
                 chunk 1 (vertical) text run 7 at (84.77,34.76) startOffset 6 endOffset 7 height 17.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 68x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 68x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 68x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 68.00: "startOffset=\"0%\""
-        RenderSVGText {text} at (35,60) size 75x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 75x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
-        RenderSVGText {text} at (35,70) size 100x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 100x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 100x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
       RenderSVGContainer {g} at (163,70) size 124x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,70.00)}]
@@ -61,19 +61,19 @@ layer at (0,0) size 450x500
                 chunk 1 (middle anchor, vertical) text run 6 at (92.08,36.21) startOffset 5 endOffset 6 height 17.00: "t"
                 chunk 1 (middle anchor, vertical) text run 7 at (106.64,28.41) startOffset 6 endOffset 7 height 17.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 68x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 68x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 68x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 68.00: "startOffset=\"0%\""
-        RenderSVGText {text} at (35,60) size 86x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 86x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 86x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
-        RenderSVGText {text} at (35,70) size 102x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 102x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 102x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 24 width 102.00: "glyph-orientation=\"0deg\""
       RenderSVGContainer {g} at (311,70) size 136x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,70.00)}]
         RenderSVGContainer {use} at (314,70) size 121x45
           RenderSVGPath {path} at (314,70) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (11,3) size 61x30 contains 1 chunk(s)
+        RenderSVGText {text} at (11,3) size 62x31 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 61x30
             RenderSVGInlineText {#text} at (-11,-3) size 0x0
             RenderSVGTSpan {tspan} at (0,0) size 1x1
@@ -85,19 +85,19 @@ layer at (0,0) size 450x500
                 chunk 1 (end anchor, vertical) text run 3 at (53.23,10.16) startOffset 5 endOffset 6 height 17.00: "t"
                 chunk 1 (end anchor, vertical) text run 4 at (66.14,21.06) startOffset 6 endOffset 7 height 17.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 73x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 73x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 73x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 17 width 73.00: "startOffset=\"50%\""
-        RenderSVGText {text} at (35,60) size 72x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 72x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
-        RenderSVGText {text} at (35,70) size 112x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 112x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 112x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 26 width 112.00: "glyph-orientation=\"180deg\""
       RenderSVGContainer {g} at (14,170) size 133x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,170.00)}]
         RenderSVGContainer {use} at (14,170) size 121x45
           RenderSVGPath {path} at (14,170) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (67,6) size 70x39 contains 1 chunk(s)
+        RenderSVGText {text} at (67,6) size 70x40 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 70x39
             RenderSVGInlineText {#text} at (0,13) size 39x25
               chunk 1 (vertical) text run 1 at (75.93,29.60) startOffset 0 endOffset 1 height 17.00: "T"
@@ -116,19 +116,19 @@ layer at (0,0) size 450x500
                 chunk 1 (vertical) text run 3 at (125.01,17.08) startOffset 2 endOffset 3 height 17.00: " "
                 chunk 1 (vertical) text run 4 at (130.80,15.51) startOffset 3 endOffset 4 height 17.00: "P"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 73x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 73x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 73x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 17 width 73.00: "startOffset=\"50%\""
-        RenderSVGText {text} at (35,60) size 75x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 75x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
-        RenderSVGText {text} at (35,70) size 112x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 112x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 112x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 26 width 112.00: "glyph-orientation=\"270deg\""
       RenderSVGContainer {g} at (164,163) size 123x90 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,170.00)}]
         RenderSVGContainer {use} at (164,170) size 121x45
           RenderSVGPath {path} at (164,170) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (15,-7) size 118x48 contains 1 chunk(s)
+        RenderSVGText {text} at (15,-7) size 118x49 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 118x48
             RenderSVGInlineText {#text} at (0,11) size 30x24
               chunk 1 (middle anchor, vertical) text run 1 at (23.40,21.80) startOffset 3 endOffset 4 height 17.00: "t"
@@ -144,13 +144,13 @@ layer at (0,0) size 450x500
                 chunk 1 (middle anchor, vertical) text run 3 at (109.07,26.28) startOffset 2 endOffset 3 height 17.00: " "
                 chunk 1 (middle anchor, vertical) text run 4 at (123.61,17.60) startOffset 3 endOffset 4 height 17.00: "P"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 73x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 73x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 73x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 17 width 73.00: "startOffset=\"50%\""
-        RenderSVGText {text} at (35,60) size 86x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 86x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 86x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
-        RenderSVGText {text} at (35,70) size 102x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 102x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 102x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 24 width 102.00: "glyph-orientation=\"0deg\""
       RenderSVGContainer {g} at (314,170) size 128x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,170.00)}]
@@ -178,19 +178,19 @@ layer at (0,0) size 450x500
                 chunk 1 (end anchor, vertical) text run 6 at (117.06,20.72) startOffset 5 endOffset 6 height 17.00: "t"
                 chunk 1 (end anchor, vertical) text run 7 at (122.44,18.07) startOffset 6 endOffset 7 height 17.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 78x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 78x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 78x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 18 width 78.00: "startOffset=\"100%\""
-        RenderSVGText {text} at (35,60) size 72x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 72x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
-        RenderSVGText {text} at (35,70) size 107x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 107x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 107x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 25 width 107.00: "glyph-orientation=\"90deg\""
       RenderSVGContainer {g} at (14,270) size 133x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
         RenderSVGContainer {use} at (14,270) size 121x45
           RenderSVGPath {path} at (14,270) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (38,1) size 86x38 contains 1 chunk(s)
+        RenderSVGText {text} at (38,1) size 86x39 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 86x38
             RenderSVGInlineText {#text} at (0,0) size 75x38
               chunk 1 (vertical) text run 1 at (51.13,9.40) startOffset 0 endOffset 1 height 17.00: "T"
@@ -204,19 +204,19 @@ layer at (0,0) size 450x500
             RenderSVGTSpan {tspan} at (0,0) size 1x1
               RenderSVGInlineText {#text} at (-38,-1) size 0x0
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 65x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 65x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 65x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 65.00: "startOffset=\"35\""
-        RenderSVGText {text} at (35,60) size 75x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 75x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 75x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 19 width 75.00: "text-anchor=\"start\""
-        RenderSVGText {text} at (35,70) size 112x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 112x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 112x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 26 width 112.00: "glyph-orientation=\"180deg\""
       RenderSVGContainer {g} at (160,262) size 125x81 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,270.00)}]
         RenderSVGContainer {use} at (164,270) size 121x45
           RenderSVGPath {path} at (164,270) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (10,-8) size 72x44 contains 1 chunk(s)
+        RenderSVGText {text} at (10,-8) size 72x45 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 72x44
             RenderSVGInlineText {#text} at (0,18) size 24x24
               chunk 1 (middle anchor, vertical) text run 1 at (18.90,26.12) startOffset 2 endOffset 3 height 17.00: "x"
@@ -236,16 +236,16 @@ layer at (0,0) size 450x500
                 chunk 1 (middle anchor, vertical) text run 6 at (68.14,22.97) startOffset 5 endOffset 6 height 17.00: "t"
                 chunk 1 (middle anchor, vertical) text run 7 at (72.62,26.96) startOffset 6 endOffset 7 height 17.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 65x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 65x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 65x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 65.00: "startOffset=\"35\""
-        RenderSVGText {text} at (35,60) size 86x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 86x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 86x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 20 width 86.00: "text-anchor=\"middle\""
       RenderSVGContainer {g} at (308,270) size 134x83 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,270.00)}]
         RenderSVGContainer {use} at (314,270) size 121x45
           RenderSVGPath {path} at (314,270) size 121x45 [transform={m=((0.15,0.00)(0.00,0.15)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"]
-        RenderSVGText {text} at (8,5) size 32x31 contains 1 chunk(s)
+        RenderSVGText {text} at (8,5) size 32x32 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 32x31
             RenderSVGInlineText {#text} at (-8,-5) size 0x0
             RenderSVGTSpan {tspan} at (0,0) size 1x1
@@ -257,19 +257,19 @@ layer at (0,0) size 450x500
                 chunk 1 (end anchor, vertical) text run 3 at (26.56,18.95) startOffset 5 endOffset 6 height 17.00: "t"
                 chunk 1 (end anchor, vertical) text run 4 at (31.23,15.18) startOffset 6 endOffset 7 height 17.00: "h"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (35,50) size 65x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,50) size 65x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 65x12
             chunk 1 text run 1 at (35.00,60.00) startOffset 0 endOffset 16 width 65.00: "startOffset=\"35\""
-        RenderSVGText {text} at (35,60) size 72x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,60) size 72x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 72x12
             chunk 1 text run 1 at (35.00,70.00) startOffset 0 endOffset 17 width 72.00: "text-anchor=\"end\""
-        RenderSVGText {text} at (35,70) size 107x12 contains 1 chunk(s)
+        RenderSVGText {text} at (35,70) size 107x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 107x12
             chunk 1 text run 1 at (35.00,80.00) startOffset 0 endOffset 25 width 107.00: "glyph-orientation=\"90deg\""
-      RenderSVGContainer {g} at (22,370) size 117x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
-        RenderSVGContainer {use} at (39,370) size 92x50
-          RenderSVGPath {path} at (39,370) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (12,3) size 116x47 contains 1 chunk(s)
+      RenderSVGContainer {g} at (22,369) size 117x89 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,370.00)}]
+        RenderSVGContainer {use} at (39,369) size 92x51
+          RenderSVGPath {path} at (39,369) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (12,3) size 117x47 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 116x47
             RenderSVGTSpan {tspan} at (0,0) size 33x44
               RenderSVGInlineText {#text} at (0,3) size 33x43
@@ -298,19 +298,19 @@ layer at (0,0) size 450x500
               chunk 1 (vertical) text run 6 at (118.08,38.10) startOffset 5 endOffset 6 height 17.00: "t"
               chunk 1 (vertical) text run 7 at (119.36,42.93) startOffset 6 endOffset 7 height 17.00: "s"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (20,55) size 88x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,55) size 88x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 88x12
             chunk 1 text run 1 at (20.00,65.00) startOffset 0 endOffset 22 width 88.00: "baseline-shift=\"super\""
-        RenderSVGText {text} at (20,65) size 98x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,65) size 98x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 98x12
             chunk 1 text run 1 at (20.00,75.00) startOffset 0 endOffset 24 width 98.00: "and baseline-shift=\"sub\""
-        RenderSVGText {text} at (20,75) size 100x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,75) size 100x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 100x12
             chunk 1 text run 1 at (20.00,85.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
-      RenderSVGContainer {g} at (318,370) size 108x78 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,370.00)}]
-        RenderSVGContainer {use} at (329,370) size 92x50
-          RenderSVGPath {path} at (329,370) size 92x50 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-        RenderSVGText {text} at (18,3) size 108x49 contains 1 chunk(s)
+      RenderSVGContainer {g} at (318,369) size 108x79 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,370.00)}]
+        RenderSVGContainer {use} at (329,369) size 92x51
+          RenderSVGPath {path} at (329,369) size 92x51 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+        RenderSVGText {text} at (18,3) size 108x50 contains 1 chunk(s)
           RenderSVGTextPath {textPath} at (0,0) size 108x49
             RenderSVGTSpan {tspan} at (0,0) size 43x47
               RenderSVGInlineText {#text} at (0,0) size 43x47
@@ -339,17 +339,17 @@ layer at (0,0) size 450x500
                 chunk 1 (vertical) text run 7 at (118.93,40.98) startOffset 6 endOffset 7 height 17.00: "v"
                 chunk 1 (vertical) text run 8 at (119.97,48.39) startOffset 7 endOffset 8 height 17.00: "e"
           RenderSVGInlineText {#text} at (0,0) size 0x0
-        RenderSVGText {text} at (20,55) size 97x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,55) size 97x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 97x12
             chunk 1 text run 1 at (20.00,65.00) startOffset 0 endOffset 23 width 97.00: "baseline-shift=\"+/-20%\""
-        RenderSVGText {text} at (20,65) size 100x12 contains 1 chunk(s)
+        RenderSVGText {text} at (20,65) size 100x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 100x12
             chunk 1 text run 1 at (20.00,75.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
       RenderSVGContainer {g} at (178,355) size 102x128 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,370.00)}]
-        RenderSVGContainer {g} at (178,355) size 93x93 [transform={m=((0.75,0.00)(0.00,0.75)) t=(0.00,0.00)}]
-          RenderSVGContainer {use} at (202,370) size 69x38
-            RenderSVGPath {path} at (202,370) size 69x38 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
-          RenderSVGText {text} at (-2,-20) size 93x123 contains 1 chunk(s)
+        RenderSVGContainer {g} at (178,355) size 93x92 [transform={m=((0.75,0.00)(0.00,0.75)) t=(0.00,0.00)}]
+          RenderSVGContainer {use} at (202,369) size 69x39
+            RenderSVGPath {path} at (202,369) size 69x39 [transform={m=((0.30,0.00)(0.00,0.50)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#0000FF] [stroke width=2.00]}] [data="M 100 100 C 100 0 400 0 400 100"]
+          RenderSVGText {text} at (-2,-20) size 94x123 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,0) size 23x100
               chunk 1 (vertical) text run 1 at (3.50,-20.00) startOffset 0 endOffset 1 height 22.67: "b"
               chunk 1 (vertical) text run 2 at (3.50,-9.33) startOffset 1 endOffset 2 height 22.67: "e"
@@ -383,10 +383,10 @@ layer at (0,0) size 450x500
               chunk 1 (vertical) text run 8 at (73.38,76.70) startOffset 7 endOffset 8 height 22.67: "a"
               chunk 1 (vertical) text run 9 at (73.38,86.03) startOffset 8 endOffset 9 height 22.67: "t"
               chunk 1 (vertical) text run 10 at (73.38,91.36) startOffset 9 endOffset 10 height 22.67: "h"
-        RenderSVGText {text} at (0,90) size 98x12 contains 1 chunk(s)
+        RenderSVGText {text} at (0,90) size 98x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 98x12
             chunk 1 text run 1 at (0.00,100.00) startOffset 0 endOffset 26 width 98.00: "text before/after textPath"
-        RenderSVGText {text} at (0,100) size 100x12 contains 1 chunk(s)
+        RenderSVGText {text} at (0,100) size 100x13 contains 1 chunk(s)
           RenderSVGInlineText {#text} at (0,0) size 100x12
             chunk 1 text run 1 at (0.00,110.00) startOffset 0 endOffset 24 width 100.00: "glyph-orientation=\"auto\""
     RenderSVGContainer {use} at (0,0) size 448x498
index 0db7e8a..fd1ab8e 100644 (file)
@@ -1,16 +1,16 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x169
-  RenderBlock {html} at (0,0) size 800x169
-    RenderBody {body} at (8,16) size 784x137
-      RenderBlock {parsererror} at (16,0) size 752x137 [bgcolor=#FFDDDD] [border: (2px solid #CC7777)]
-        RenderBlock {h3} at (18,20) size 716x23
+layer at (0,0) size 785x616
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x600
+  RenderBlock {html} at (0,0) size 785x600
+    RenderBody {body} at (8,16) size 769x600
+      RenderBlock {parsererror} at (16,0) size 737x137 [bgcolor=#FFDDDD] [border: (2px solid #CC7777)]
+        RenderBlock {h3} at (18,20) size 701x23
           RenderText {#text} at (0,0) size 324x22
             text run at (0,0) width 324: "This page contains the following errors:"
-        RenderBlock {div} at (18,61) size 716x15
+        RenderBlock {div} at (18,61) size 701x15
           RenderText {#text} at (0,0) size 483x14
             text run at (0,0) width 483: "error on line 3 at column 1: Extra content at the end of the document"
             text run at (483,0) width 0: " "
-        RenderBlock {h3} at (18,94) size 716x23
+        RenderBlock {h3} at (18,94) size 701x23
           RenderText {#text} at (0,0) size 429x22
             text run at (0,0) width 429: "Below is a rendering of the page up to the first error."
index 831c1ed..a57ce3e 100644 (file)
@@ -1,8 +1,8 @@
-layer at (0,0) size 785x781
+layer at (0,0) size 785x773
   RenderView at (0,0) size 785x600
-layer at (0,0) size 785x781
-  RenderBlock {html} at (0,0) size 785x781
-    RenderBody {body} at (8,16) size 769x757
+layer at (0,0) size 785x600
+  RenderBlock {html} at (0,0) size 785x600
+    RenderBody {body} at (8,16) size 769x600
       RenderBlock {parsererror} at (16,0) size 737x137 [bgcolor=#FFDDDD] [border: (2px solid #CC7777)]
         RenderBlock {h3} at (18,20) size 701x23
           RenderText {#text} at (0,0) size 324x22
index 835ef39..0d34a9d 100644 (file)
@@ -1,8 +1,8 @@
-layer at (0,0) size 785x781
+layer at (0,0) size 785x773
   RenderView at (0,0) size 785x600
-layer at (0,0) size 785x781
-  RenderBlock {html} at (0,0) size 785x781
-    RenderBody {body} at (8,16) size 769x757
+layer at (0,0) size 785x600
+  RenderBlock {html} at (0,0) size 785x600
+    RenderBody {body} at (8,16) size 769x600
       RenderBlock {parsererror} at (16,0) size 737x137 [bgcolor=#FFDDDD] [border: (2px solid #CC7777)]
         RenderBlock {h3} at (18,20) size 701x23
           RenderText {#text} at (0,0) size 324x22
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png
deleted file mode 100644 (file)
index b5ceb81..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png
deleted file mode 100644 (file)
index b5ceb81..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png
deleted file mode 100644 (file)
index 2b8ab97..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png
deleted file mode 100644 (file)
index 7e2841e..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png
deleted file mode 100644 (file)
index 106c4c1..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt
deleted file mode 100644 (file)
index c566a23..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 500x154 layerType: background only
-layer at (0,0) size 250x113
-  RenderBlock (positioned) zI: -1 {div} at (0,0) size 250x113 [bgcolor=#FF0000]
-layer at (0,0) size 500x154 layerType: foreground only
-  RenderBlock {html} at (0,0) size 500x154
-    RenderBody {body} at (0,0) size 500x154
-      RenderBlock {p} at (0,0) size 500x154
-        RenderEmbeddedObject {object} at (0,0) size 250x150
-          layer at (0,0) size 250x150
-            RenderView at (0,0) size 250x150
-          layer at (0,0) size 250x113
-            RenderSVGRoot {svg} at (0,0) size 250x113
-              RenderSVGRect {rect} at (0,0) size 250x113 [fill={[type=SOLID] [color=#ADD8E6]}] [x=0.00] [y=0.00] [width=250.00] [height=112.50]
-              RenderSVGRect {rect} at (12,5) size 226x102 [fill={[type=SOLID] [color=#008000]}] [x=12.50] [y=5.63] [width=225.00] [height=101.25]
-layer at (0,118) size 250x112
-  RenderSVGRoot {svg} at (0,117) size 250x113
-    RenderSVGRect {rect} at (0,117) size 250x113 [fill={[type=SOLID] [color=#ADD8E6]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-    RenderSVGRect {rect} at (12,122) size 226x103 [fill={[type=SOLID] [color=#008000]}] [x=5.00] [y=5.00] [width=90.00] [height=90.00]
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png
deleted file mode 100644 (file)
index b993cb7..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt
deleted file mode 100644 (file)
index eece5c1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 500x154 layerType: background only
-layer at (0,0) size 125x113
-  RenderBlock (positioned) zI: -1 {div} at (0,0) size 125x113 [bgcolor=#FF0000]
-layer at (0,0) size 500x154 layerType: foreground only
-  RenderBlock {html} at (0,0) size 500x154
-    RenderBody {body} at (0,0) size 500x154
-      RenderBlock {p} at (0,0) size 500x154
-        RenderEmbeddedObject {object} at (0,0) size 250x150
-          layer at (0,0) size 250x150
-            RenderView at (0,0) size 250x150
-          layer at (0,0) size 125x113
-            RenderSVGRoot {svg} at (0,0) size 125x113
-              RenderSVGRect {rect} at (0,0) size 125x113 [fill={[type=SOLID] [color=#ADD8E6]}] [x=0.00] [y=0.00] [width=125.00] [height=112.50]
-              RenderSVGRect {rect} at (6,5) size 113x102 [fill={[type=SOLID] [color=#008000]}] [x=6.25] [y=5.63] [width=112.50] [height=101.25]
-layer at (0,118) size 125x112
-  RenderSVGRoot {svg} at (0,117) size 125x113
-    RenderSVGRect {rect} at (0,117) size 125x113 [fill={[type=SOLID] [color=#ADD8E6]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-    RenderSVGRect {rect} at (6,122) size 113x103 [fill={[type=SOLID] [color=#008000]}] [x=5.00] [y=5.00] [width=90.00] [height=90.00]
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png
deleted file mode 100644 (file)
index ebe13eb..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png
deleted file mode 100644 (file)
index 9c8c6d8..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png
deleted file mode 100644 (file)
index fd284d6..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png b/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png
deleted file mode 100644 (file)
index ec147ee..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt b/LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt
deleted file mode 100644 (file)
index b49651d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 500x154 layerType: background only
-layer at (0,0) size 281x75
-  RenderBlock (positioned) zI: -1 {div} at (0,0) size 282x75 [bgcolor=#FF0000]
-layer at (0,0) size 500x154 layerType: foreground only
-  RenderBlock {html} at (0,0) size 500x154
-    RenderBody {body} at (0,0) size 500x154
-      RenderBlock {p} at (0,0) size 500x154
-        RenderEmbeddedObject {object} at (0,0) size 375x150
-          layer at (0,0) size 375x150
-            RenderView at (0,0) size 375x150
-          layer at (0,0) size 281x75
-            RenderSVGRoot {svg} at (0,0) size 281x75
-              RenderSVGRect {rect} at (0,0) size 281x75 [fill={[type=SOLID] [color=#ADD8E6]}] [x=0.00] [y=0.00] [width=281.25] [height=75.00]
-              RenderSVGRect {rect} at (14,3) size 254x69 [fill={[type=SOLID] [color=#008000]}] [x=14.06] [y=3.75] [width=253.13] [height=67.50]
-layer at (0,80) size 281x75
-  RenderSVGRoot {svg} at (0,80) size 281x75
-    RenderSVGRect {rect} at (0,80) size 281x75 [fill={[type=SOLID] [color=#ADD8E6]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-    RenderSVGRect {rect} at (14,83) size 254x69 [fill={[type=SOLID] [color=#008000]}] [x=5.00] [y=5.00] [width=90.00] [height=90.00]
index 85176bf..884a959 100644 (file)
@@ -1,8 +1,8 @@
-layer at (0,0) size 808x781
-  RenderView at (0,0) size 785x585
-layer at (0,0) size 785x781
-  RenderBlock {html} at (0,0) size 785x781
-    RenderBody {body} at (8,16) size 769x757
+layer at (0,0) size 785x773
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x600
+  RenderBlock {html} at (0,0) size 785x600
+    RenderBody {body} at (8,16) size 769x600
       RenderBlock {parsererror} at (16,0) size 737x137 [bgcolor=#FFDDDD] [border: (2px solid #CC7777)]
         RenderBlock {h3} at (18,20) size 701x23
           RenderText {#text} at (0,0) size 324x22
index 052e8ed..288e4f1 100644 (file)
@@ -80,9 +80,9 @@ layer at (173,351) size 454x135
           text run at (12,97) width 429: "Learn to use the (yet to be) time-honored techniques in new"
           text run at (12,111) width 350: "and invigorating fashion. Become one with the web."
     RenderText {#text} at (0,0) size 0x0
-layer at (321,235) size 306x80
-  RenderBlock (positioned) {H3} at (148,-116) size 306x81 [color=#CCCC77] [bgcolor=#888811] [border: (3px solid #888811) none (3px solid #888811)]
+layer at (321,234) size 307x81
+  RenderBlock (positioned) {H3} at (147,-118) size 307x83 [color=#CCCC77] [bgcolor=#888811] [border: (3.77px solid #888811) none (3.77px solid #888811)]
     RenderInline {SPAN} at (0,0) size 277x83
-      RenderText {#text} at (45,-2) size 277x83
-        text run at (45,-2) width 230: "The Road to"
-        text run at (3,35) width 277: "Enlightenment"
+      RenderText {#text} at (45,-1) size 277x83
+        text run at (45,-1) width 230: "The Road to"
+        text run at (4,36) width 277: "Enlightenment"
index 198f65e..a24f546 100644 (file)
@@ -1,8 +1,8 @@
-layer at (0,0) size 785x781
+layer at (0,0) size 785x773
   RenderView at (0,0) size 785x600
-layer at (0,0) size 785x781
-  RenderBlock {html} at (0,0) size 785x781
-    RenderBody {body} at (8,16) size 769x757
+layer at (0,0) size 785x600
+  RenderBlock {html} at (0,0) size 785x600
+    RenderBody {body} at (8,16) size 769x600
       RenderBlock {parsererror} at (16,0) size 737x137 [bgcolor=#FFDDDD] [border: (2px solid #CC7777)]
         RenderBlock {h3} at (18,20) size 701x23
           RenderText {#text} at (0,0) size 324x22
index e12f15a..73f5484 100644 (file)
@@ -3,11 +3,11 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderSVGRoot {svg} at (0,0) size 300x100
     RenderSVGForeignObject {foreignObject} at (0,0) size 300x100
-      RenderBlock {html} at (0,0) size 300x638
+      RenderBlock {html} at (0,0) size 300x188
         RenderBlock {p} at (0,0) size 300x18
           RenderText {#text} at (0,0) size 218x18
             text run at (0,0) width 218: "Test from HTML in foreignObject"
-        RenderBlock (anonymous) at (0,34) size 300x604
+        RenderBlock (anonymous) at (0,34) size 300x154
           RenderSVGRoot {svg} at (0,34) size 271x54
             RenderSVGRect {rect} at (0,34) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=20.00] [height=20.00]
             RenderSVGText {text} at (0,36) size 271x18 contains 1 chunk(s)
index b666f46..a34bf6b 100644 (file)
@@ -1,8 +1,8 @@
-layer at (0,0) size 785x781
+layer at (0,0) size 785x773
   RenderView at (0,0) size 785x600
-layer at (0,0) size 785x781
-  RenderBlock {html} at (0,0) size 785x781
-    RenderBody {body} at (8,16) size 769x757
+layer at (0,0) size 785x600
+  RenderBlock {html} at (0,0) size 785x600
+    RenderBody {body} at (8,16) size 769x600
       RenderBlock {parsererror} at (16,0) size 737x137 [bgcolor=#FFDDDD] [border: (2px solid #CC7777)]
         RenderBlock {h3} at (18,20) size 701x23
           RenderText {#text} at (0,0) size 324x22
diff --git a/LayoutTests/platform/mac/svg/hixie/intrinsic/001-expected.png b/LayoutTests/platform/mac/svg/hixie/intrinsic/001-expected.png
deleted file mode 100644 (file)
index 3708342..0000000
Binary files a/LayoutTests/platform/mac/svg/hixie/intrinsic/001-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/hixie/intrinsic/001-expected.txt b/LayoutTests/platform/mac/svg/hixie/intrinsic/001-expected.txt
deleted file mode 100644 (file)
index 6672ae1..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (8,8) size 150x175
-  RenderBlock {HTML} at (8,8) size 150x175
-    RenderBody {BODY} at (0,0) size 150x175
-      RenderBlock {P} at (0,0) size 150x175
-        RenderText {#text} at (0,1) size 359x18
-          text run at (0,1) width 359: "There should be an exact square of green below this line:"
-        RenderEmbeddedObject {OBJECT} at (0,20) size 150x150
-          layer at (0,0) size 150x150
-            RenderView at (0,0) size 150x150
-          layer at (0,0) size 150x150
-            RenderSVGRoot {svg} at (0,0) size 150x150
-              RenderSVGRect {rect} at (0,0) size 150x150 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=300.00] [height=200.00]
-        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/svg/hixie/intrinsic/002-expected.png b/LayoutTests/platform/mac/svg/hixie/intrinsic/002-expected.png
deleted file mode 100644 (file)
index 3708342..0000000
Binary files a/LayoutTests/platform/mac/svg/hixie/intrinsic/002-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/hixie/intrinsic/002-expected.txt b/LayoutTests/platform/mac/svg/hixie/intrinsic/002-expected.txt
deleted file mode 100644 (file)
index 1ea12d5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (8,8) size 150x175
-  RenderBlock (relative positioned) {HTML} at (8,8) size 150x175
-    RenderBody {BODY} at (0,0) size 150x175
-      RenderBlock {P} at (0,0) size 150x175
-        RenderText {#text} at (0,1) size 359x18
-          text run at (0,1) width 359: "There should be an exact square of green below this line:"
-        RenderEmbeddedObject {OBJECT} at (0,20) size 150x150
-          layer at (0,0) size 150x150
-            RenderView at (0,0) size 150x150
-          layer at (0,0) size 150x150
-            RenderSVGRoot {svg} at (0,0) size 150x150
-              RenderSVGRect {rect} at (0,0) size 150x150 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=300.00] [height=200.00]
-        RenderText {#text} at (0,0) size 0x0
-layer at (8,28) size 150x150
-  RenderBlock (positioned) {DIV} at (0,20) size 150x150 [bgcolor=#008000]
index 3e9dcbb..0dda39a 100644 (file)
@@ -1,12 +1,12 @@
-layer at (0,0) size 785x662
-  RenderView at (0,0) size 785x600
-layer at (0,0) size 785x662
-  RenderBlock {HTML} at (0,0) size 785x662
-    RenderBody {BODY} at (8,16) size 769x638
-      RenderBlock {P} at (0,0) size 769x18
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x212
+  RenderBlock {HTML} at (0,0) size 800x212
+    RenderBody {BODY} at (8,16) size 784x188
+      RenderBlock {P} at (0,0) size 784x18
         RenderText {#text} at (0,0) size 188x18
           text run at (0,0) width 188: "This circle is drawn via SVG."
-      RenderBlock (anonymous) at (0,34) size 769x604
+      RenderBlock (anonymous) at (0,34) size 784x154
         RenderSVGRoot {svg} at (8,50) size 40x40
           RenderSVGEllipse {circle} at (8,50) size 40x40 [fill={[type=SOLID] [color=#008000]}] [cx=20.00] [cy=20.00] [r=20.00]
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac/svg/text/non-bmp-positioning-lists-expected.txt b/LayoutTests/platform/mac/svg/text/non-bmp-positioning-lists-expected.txt
deleted file mode 100644 (file)
index c6f2cd6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (50,58) size 709x225
-    RenderSVGText {text} at (50,58) size 709x225 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 709x224
-        chunk 1 text run 1 at (50.00,240.00) startOffset 0 endOffset 2 width 159.00: "\x{D835}\x{DC9E}"
-        chunk 1 text run 1 at (600.00,240.00) startOffset 0 endOffset 2 width 159.00: "\x{D835}\x{DC9E}"
index 4521a4f..70d6c53 100644 (file)
@@ -8,10 +8,10 @@ layer at (0,0) size 800x536
           text run at (0,0) width 573: "CSS Transformed HTML div with SVG inside it. Animated SVG should repaint correctly."
 layer at (58,84) size 402x402
   RenderBlock {div} at (50,68) size 402x402 [border: (1px solid #000000)]
-    RenderSVGRoot {svg} at (148,144) size 358x419
-      RenderSVGRect {rect} at (355,187) size 115x115 [stroke={[type=SOLID] [color=#FFC0CB] [stroke width=5.00]}] [fill={[type=SOLID] [color=#0000FF]}] [x=300.00] [y=0.00] [width=100.00] [height=100.00]
+    RenderSVGRoot {svg} at (165,100) size 357x416
+      RenderSVGRect {rect} at (372,143) size 114x112 [stroke={[type=SOLID] [color=#FFC0CB] [stroke width=5.00]}] [fill={[type=SOLID] [color=#0000FF]}] [x=300.00] [y=0.00] [width=100.00] [height=100.00]
       RenderSVGText {text} at (150,281) size 143x25 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 143x24
           chunk 1 text run 1 at (150.00,300.00) startOffset 0 endOffset 17 width 142.80: "This is some text"
-      RenderSVGImage {image} at (306,455) size 108x108
+      RenderSVGImage {image} at (323,408) size 108x108
     RenderText {#text} at (0,0) size 0x0
index 9a4c4cb..b1df60c 100644 (file)
@@ -9,26 +9,26 @@ layer at (0,0) size 800x536
           text run at (318,0) width 232: "objectBoundingBox patterns on text."
 layer at (58,84) size 402x402
   RenderBlock {div} at (50,68) size 402x402 [border: (1px solid #000000)]
-    RenderSVGRoot {svg} at (49,105) size 480x420
+    RenderSVGRoot {svg} at (66,58) size 480x420
       RenderSVGResourcePattern {pattern} [id="pat1"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
-        RenderSVGRect {rect} at (151,110) size 13x13 [fill={[type=SOLID] [color=#FF0000]}] [x=5.00] [y=5.00] [width=10.00] [height=10.00]
-        RenderSVGRect {rect} at (154,115) size 12x13 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
-      RenderSVGRect {rect} at (150,119) size 358x173 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pat1"]}] [x=25.00] [y=10.00] [width=430.00] [height=60.00]
+        RenderSVGRect {rect} at (168,63) size 13x13 [fill={[type=SOLID] [color=#FF0000]}] [x=5.00] [y=5.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (171,68) size 12x13 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
+      RenderSVGRect {rect} at (168,72) size 357x173 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pat1"]}] [x=25.00] [y=10.00] [width=430.00] [height=60.00]
       RenderSVGText {text} at (25,74) size 407x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 407x14
           chunk 1 text run 1 at (25.00,85.00) startOffset 0 endOffset 75 width 406.80: "Pattern created using red and green rectangles applied to fill of rectangle"
       RenderSVGResourcePattern {pattern} [id="pat2"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
-        RenderSVGRect {rect} at (149,105) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
-        RenderSVGRect {rect} at (156,108) size 13x12 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
-        RenderSVGRect {rect} at (146,113) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
-        RenderSVGRect {rect} at (154,115) size 12x13 [fill={[type=SOLID] [color=#FFFF00]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
-      RenderSVGRect {rect} at (125,190) size 357x172 [stroke={[type=PATTERN] [id="pat2"] [stroke width=20.00]}] [x=35.00] [y=110.00] [width=410.00] [height=40.00]
+        RenderSVGRect {rect} at (166,58) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (173,61) size 13x12 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (163,66) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (171,68) size 12x13 [fill={[type=SOLID] [color=#FFFF00]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
+      RenderSVGRect {rect} at (142,143) size 357x172 [stroke={[type=PATTERN] [id="pat2"] [stroke width=20.00]}] [x=35.00] [y=110.00] [width=410.00] [height=40.00]
       RenderSVGText {text} at (25,164) size 319x14 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 319x14
           chunk 1 text run 1 at (25.00,175.00) startOffset 0 endOffset 59 width 318.00: "Pattern of 4 rectangles applied to a stroke of a rectangle."
       RenderSVGResourcePattern {pattern} [id="pat3"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
-        RenderSVGRect {rect} at (149,105) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
-        RenderSVGRect {rect} at (146,113) size 13x12 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (166,58) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (163,66) size 13x12 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
       RenderSVGText {text} at (25,174) size 293x57 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 293x57
           chunk 1 text run 1 at (25.00,220.00) startOffset 0 endOffset 15 width 292.80: "Pattern on fill"
@@ -36,8 +36,8 @@ layer at (58,84) size 402x402
         RenderSVGInlineText {#text} at (0,0) size 215x14
           chunk 1 text run 1 at (25.00,235.00) startOffset 0 endOffset 38 width 214.80: "Pattern consists of red and green rows"
       RenderSVGResourcePattern {pattern} [id="pat4"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse]
-        RenderSVGRect {rect} at (149,105) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
-        RenderSVGRect {rect} at (156,108) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (166,58) size 12x13 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
+        RenderSVGRect {rect} at (173,61) size 13x12 [fill={[type=SOLID] [color=#0000FF]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
       RenderSVGText {text} at (25,239) size 299x45 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 299x45
           chunk 1 text run 1 at (25.00,275.00) startOffset 0 endOffset 17 width 298.80: "Pattern on stroke"
@@ -47,5 +47,5 @@ layer at (58,84) size 402x402
       RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
         RenderSVGInlineText {#text} at (0,0) size 264x46
           chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.6 $"
-      RenderSVGRect {rect} at (49,105) size 480x420 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
+      RenderSVGRect {rect} at (66,58) size 480x420 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
     RenderText {#text} at (0,0) size 0x0
index 9df07ea..8b923fa 100644 (file)
@@ -46,30 +46,30 @@ layer at (0,0) size 785x1435
                   RenderSVGResourceLinearGradient {linearGradient} [id="surface"] [gradientUnits=objectBoundingBox] [start=(1,0)] [end=(1,1)]
                     RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
                     RenderSVGGradientStop {stop} [offset=1.00] [color=#FFEEAA]
-                RenderSVGContainer {a} at (0,0) size 129x129
-                  RenderSVGRect {rect} at (0,0) size 129x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [x=1.00] [y=1.00] [width=38.00] [height=38.00]
+                RenderSVGContainer {a} at (0,0) size 128x129
+                  RenderSVGRect {rect} at (0,0) size 128x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [x=1.00] [y=1.00] [width=38.00] [height=38.00]
                   RenderSVGText {text} at (13,8) size 14x24 contains 1 chunk(s)
                     RenderSVGInlineText {#text} at (0,0) size 14x24
-                      chunk 1 (middle anchor) text run 1 at (13.29,27.00) startOffset 0 endOffset 1 width 13.42: "B"
+                      chunk 1 (middle anchor) text run 1 at (13.28,27.00) startOffset 0 endOffset 1 width 13.44: "B"
                 RenderSVGContainer {a} at (128,0) size 128x129
                   RenderSVGRect {rect} at (128,0) size 128x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [x=41.00] [y=1.00] [width=38.00] [height=38.00]
-                RenderSVGContainer {a} at (0,160) size 129x129
-                  RenderSVGEllipse {circle} at (0,160) size 129x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [cx=20.00] [cy=70.00] [r=19.00]
+                RenderSVGContainer {a} at (0,160) size 128x129
+                  RenderSVGEllipse {circle} at (0,160) size 128x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [cx=20.00] [cy=70.00] [r=19.00]
                   RenderSVGText {text} at (13,58) size 14x24 contains 1 chunk(s)
                     RenderSVGInlineText {#text} at (0,0) size 14x24
-                      chunk 1 (middle anchor) text run 1 at (13.29,77.00) startOffset 0 endOffset 1 width 13.42: "C"
+                      chunk 1 (middle anchor) text run 1 at (13.28,77.00) startOffset 0 endOffset 1 width 13.44: "C"
                 RenderSVGContainer {a} at (128,160) size 128x129
                   RenderSVGEllipse {circle} at (128,160) size 128x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [cx=60.00] [cy=70.00] [r=19.00]
-                RenderSVGContainer {a} at (0,320) size 129x129
-                  RenderSVGEllipse {circle} at (0,320) size 129x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [cx=20.00] [cy=120.00] [r=19.00]
+                RenderSVGContainer {a} at (0,320) size 128x129
+                  RenderSVGEllipse {circle} at (0,320) size 128x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [cx=20.00] [cy=120.00] [r=19.00]
                   RenderSVGText {text} at (12,108) size 16x24 contains 1 chunk(s)
                     RenderSVGInlineText {#text} at (0,0) size 15x24
-                      chunk 1 (middle anchor) text run 1 at (12.82,127.00) startOffset 0 endOffset 1 width 14.36: "D"
+                      chunk 1 (middle anchor) text run 1 at (12.81,127.00) startOffset 0 endOffset 1 width 14.38: "D"
                 RenderSVGContainer {a} at (128,320) size 128x129
                   RenderSVGEllipse {circle} at (128,320) size 128x129 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [cx=60.00] [cy=120.00] [r=19.00]
                   RenderSVGText {text} at (53,108) size 14x24 contains 1 chunk(s)
                     RenderSVGInlineText {#text} at (0,0) size 13x24
-                      chunk 1 (middle anchor) text run 1 at (53.91,127.00) startOffset 0 endOffset 1 width 12.17: "E"
+                      chunk 1 (middle anchor) text run 1 at (53.91,127.00) startOffset 0 endOffset 1 width 12.19: "E"
           RenderBlock (floating) {div} at (256,128) size 257x448
             RenderEmbeddedObject {object} at (0,0) size 257x256
               layer at (0,0) size 256x256
@@ -108,8 +108,8 @@ layer at (0,0) size 785x1435
                     RenderSVGResourceLinearGradient {linearGradient} [id="surface"] [gradientUnits=objectBoundingBox] [start=(1,0)] [end=(1,1)]
                       RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
                       RenderSVGGradientStop {stop} [offset=1.00] [color=#FFEEAA]
-                  RenderSVGContainer {a} at (0,0) size 129x128
-                    RenderSVGRect {rect} at (0,0) size 129x128 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [x=1.00] [y=1.00] [width=38.00] [height=38.00]
+                  RenderSVGContainer {a} at (0,0) size 128x128
+                    RenderSVGRect {rect} at (0,0) size 128x128 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [x=1.00] [y=1.00] [width=38.00] [height=38.00]
                     RenderSVGText {text} at (11,8) size 18x24 contains 1 chunk(s)
                       RenderSVGInlineText {#text} at (0,0) size 18x24
                         chunk 1 (middle anchor) text run 1 at (11.09,27.00) startOffset 0 endOffset 1 width 17.81: "M"
@@ -118,8 +118,8 @@ layer at (0,0) size 785x1435
                     RenderSVGText {text} at (52,8) size 16x24 contains 1 chunk(s)
                       RenderSVGInlineText {#text} at (0,0) size 15x24
                         chunk 1 (middle anchor) text run 1 at (52.81,27.00) startOffset 0 endOffset 1 width 14.38: "N"
-                  RenderSVGContainer {a} at (0,128) size 129x128
-                    RenderSVGRect {rect} at (0,128) size 129x128 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [x=1.00] [y=41.00] [width=38.00] [height=38.00]
+                  RenderSVGContainer {a} at (0,128) size 128x128
+                    RenderSVGRect {rect} at (0,128) size 128x128 [stroke={[type=SOLID] [color=#FFCC33] [stroke width=2.00]}] [fill={[type=LINEAR-GRADIENT] [id="surface"]}] [x=1.00] [y=41.00] [width=38.00] [height=38.00]
                     RenderSVGText {text} at (14,48) size 12x24 contains 1 chunk(s)
                       RenderSVGInlineText {#text} at (0,0) size 12x24
                         chunk 1 (middle anchor) text run 1 at (14.38,67.00) startOffset 0 endOffset 1 width 11.25: "P"
index fee99d2..5814f7a 100644 (file)
@@ -35,8 +35,8 @@ layer at (0,0) size 785x848
                 RenderSVGEllipse {circle} at (0,0) size 148x148 [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=100.00] [r=100.00]
                 RenderSVGContainer {g} at (19,44) size 110x61
                   RenderSVGText {text} at (26,59) size 148x83 contains 1 chunk(s)
-                    RenderSVGInlineText {#text} at (0,0) size 148x83
-                      chunk 1 (middle anchor) text run 1 at (26.23,125.00) startOffset 0 endOffset 3 width 147.55: "SVG"
+                    RenderSVGInlineText {#text} at (0,0) size 148x82
+                      chunk 1 (middle anchor) text run 1 at (26.44,125.00) startOffset 0 endOffset 3 width 147.13: "SVG"
           RenderText {#text} at (446,281) size 5x17
             text run at (446,281) width 5: " "
           RenderEmbeddedObject {object} at (450,221) size 75x74 [bgcolor=#FF0000]
@@ -49,8 +49,8 @@ layer at (0,0) size 785x848
                 RenderSVGEllipse {circle} at (0,0) size 74x74 [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=100.00] [r=100.00]
                 RenderSVGContainer {g} at (9,22) size 56x31
                   RenderSVGText {text} at (26,59) size 148x83 contains 1 chunk(s)
-                    RenderSVGInlineText {#text} at (0,0) size 148x83
-                      chunk 1 (middle anchor) text run 1 at (26.22,125.00) startOffset 0 endOffset 3 width 147.56: "SVG"
+                    RenderSVGInlineText {#text} at (0,0) size 148x82
+                      chunk 1 (middle anchor) text run 1 at (26.44,125.00) startOffset 0 endOffset 3 width 147.13: "SVG"
           RenderText {#text} at (524,281) size 5x17
             text run at (524,281) width 5: " "
           RenderEmbeddedObject {object} at (528,258) size 38x37 [bgcolor=#FF0000]
@@ -63,8 +63,8 @@ layer at (0,0) size 785x848
                 RenderSVGEllipse {circle} at (0,0) size 37x37 [fill={[type=SOLID] [color=#0000FF]}] [cx=100.00] [cy=100.00] [r=100.00]
                 RenderSVGContainer {g} at (4,11) size 29x16
                   RenderSVGText {text} at (26,59) size 148x83 contains 1 chunk(s)
-                    RenderSVGInlineText {#text} at (0,0) size 148x83
-                      chunk 1 (middle anchor) text run 1 at (26.22,125.00) startOffset 0 endOffset 3 width 147.56: "SVG"
+                    RenderSVGInlineText {#text} at (0,0) size 148x82
+                      chunk 1 (middle anchor) text run 1 at (26.44,125.00) startOffset 0 endOffset 3 width 147.13: "SVG"
           RenderText {#text} at (0,0) size 0x0
         RenderBlock {p} at (0,368) size 679x65
           RenderText {#text} at (0,0) size 672x32
index f7ba909..42b096c 100644 (file)
@@ -2,5 +2,5 @@ layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x245
   RenderBlock {HTML} at (0,0) size 800x245
-    RenderBody {BODY} at (16,16) size 768x212
-      RenderBlock {DIV} at (0,0) size 771x212 [border: (2px solid #CCCCCC)]
+    RenderBody {BODY} at (16,16) size 768x213
+      RenderBlock {DIV} at (0,0) size 771x212 [border: (2.06px solid #CCCCCC)]
index 3351d05..9271854 100644 (file)
@@ -3,16 +3,16 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x163
   RenderBlock {HTML} at (0,0) size 800x164
     RenderBody {BODY} at (4,4) size 792x155
-      RenderBlock {DIV} at (11,11) size 130x130 [border: (1px solid #000000)]
+      RenderBlock {DIV} at (11,11) size 131x131 [border: (1.16px solid #000000)]
       RenderText {#text} at (152,144) size 3x10
         text run at (152,144) width 3: " "
-      RenderBlock {DIV} at (166,11) size 130x130 [border: (1px solid #000000)]
-      RenderText {#text} at (306,144) size 3x10
-        text run at (306,144) width 3: " "
-      RenderBlock {DIV} at (320,11) size 130x130 [border: (1px solid #000000)]
-      RenderText {#text} at (461,144) size 3x10
-        text run at (461,144) width 3: " "
-      RenderImage {IMG} at (474,11) size 131x130 [border: (1px solid #000000)]
+      RenderBlock {DIV} at (166,11) size 130x131 [border: (1.16px solid #000000)]
+      RenderText {#text} at (307,144) size 3x10
+        text run at (307,144) width 3: " "
+      RenderBlock {DIV} at (321,11) size 130x131 [border: (1.16px solid #000000)]
+      RenderText {#text} at (462,144) size 3x10
+        text run at (462,144) width 3: " "
+      RenderImage {IMG} at (475,11) size 131x131 [border: (1.16px solid #000000)]
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
index 48d8397..8d94484 100644 (file)
@@ -16,8 +16,8 @@ layer at (0,0) size 800x600
           text run at (0,0) width 56: "[HTML]"
     RenderSVGRect {rect} at (0,0) size 361x289 [stroke={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=250.00] [height=200.00]
     RenderSVGForeignObject {foreignObject} at (260,0) size 250x200
-      RenderSVGRoot {svg} at (260,5) size 250x198
-        RenderSVGContainer {g} at (260,5) size 250x198 [transform={m=((3.00,0.26)(0.26,3.02)) t=(0.00,0.00)}]
+      RenderSVGRoot {svg} at (260,5) size 250x145
+        RenderSVGContainer {g} at (260,5) size 250x145 [transform={m=((3.00,0.26)(0.26,3.02)) t=(0.00,0.00)}]
           RenderSVGText {text} at (0,1) size 82x19 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,0) size 82x19
               chunk 1 text run 1 at (0.00,16.00) startOffset 0 endOffset 14 width 81.05: "This is a text"
index 6c08f29..60895a1 100644 (file)
@@ -24,7 +24,7 @@ layer at (0,0) size 800x330
                 text run at (0,0) width 64: "No viewBox"
             RenderTableCell {TH} at (66,33) size 111x0 [bgcolor=#DDDD99] [r=1 c=1 rs=1 cs=1]
             RenderTableCell {TD} at (178,15) size 140x37 [r=1 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,15) size 140x37 [r=1 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
@@ -39,7 +39,7 @@ layer at (0,0) size 800x330
               RenderText {#text} at (42,0) size 27x13
                 text run at (42,0) width 27: "none"
             RenderTableCell {TD} at (178,53) size 140x37 [r=2 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,53) size 140x37 [r=2 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
@@ -56,7 +56,7 @@ layer at (0,0) size 800x330
               RenderText {#text} at (42,0) size 27x13
                 text run at (42,0) width 27: "meet"
             RenderTableCell {TD} at (178,91) size 140x37 [r=3 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,91) size 140x37 [r=3 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
@@ -73,7 +73,7 @@ layer at (0,0) size 800x330
               RenderText {#text} at (43,0) size 25x13
                 text run at (43,0) width 25: "slice"
             RenderTableCell {TD} at (178,129) size 140x37 [r=4 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,129) size 140x37 [r=4 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
@@ -91,58 +91,58 @@ layer at (0,0) size 800x330
                 text run at (9,0) width 46: "viewBox"
             RenderTableCell {TH} at (66,185) size 111x0 [bgcolor=#DDDD99] [r=5 c=1 rs=1 cs=1]
             RenderTableCell {TD} at (178,167) size 140x37 [r=5 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,167) size 140x37 [r=5 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
                 layer at (0,0) size 133x29
                   RenderView at (0,0) size 133x29
                 layer at (0,0) size 133x29
-                  RenderSVGRoot {svg} at (52,0) size 21x21
+                  RenderSVGRoot {svg} at (52,0) size 22x22
                     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-                    RenderSVGContainer {g} at (52,0) size 21x21 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-162.36,-403.29)}]
-                      RenderSVGPath {path} at (52,0) size 21x21 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D9BB7A] [fill rule=EVEN-ODD]}] [data="M 525.714 585.219 C 525.714 685.419 444.486 766.648 344.286 766.648 C 244.085 766.648 162.857 685.42 162.857 585.219 C 162.857 485.019 244.085 403.791 344.286 403.791 C 444.486 403.791 525.714 485.019 525.714 585.219 Z"]
+                    RenderSVGContainer {g} at (52,0) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-162.36,-403.29)}]
+                      RenderSVGPath {path} at (52,0) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D9BB7A] [fill rule=EVEN-ODD]}] [data="M 525.714 585.219 C 525.714 685.419 444.486 766.648 344.286 766.648 C 244.085 766.648 162.857 685.42 162.857 585.219 C 162.857 485.019 244.085 403.791 344.286 403.791 C 444.486 403.791 525.714 485.019 525.714 585.219 Z"]
               RenderText {#text} at (0,0) size 0x0
           RenderTableRow {TR} at (0,205) size 460x37
             RenderTableCell {TH} at (66,217) size 111x13 [bgcolor=#DDDD99] [r=6 c=1 rs=1 cs=1]
               RenderText {#text} at (42,0) size 27x13
                 text run at (42,0) width 27: "none"
             RenderTableCell {TD} at (178,205) size 140x37 [r=6 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,205) size 140x37 [r=6 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
                 layer at (0,0) size 133x29
                   RenderView at (0,0) size 133x29
                 layer at (0,0) size 133x29
-                  RenderSVGRoot {svg} at (0,0) size 97x21
+                  RenderSVGRoot {svg} at (0,0) size 97x22
                     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-                    RenderSVGContainer {g} at (0,0) size 97x21 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-162.36,-403.29)}]
-                      RenderSVGPath {path} at (0,0) size 97x21 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D9BB7A] [fill rule=EVEN-ODD]}] [data="M 525.714 585.219 C 525.714 685.419 444.486 766.648 344.286 766.648 C 244.085 766.648 162.857 685.42 162.857 585.219 C 162.857 485.019 244.085 403.791 344.286 403.791 C 444.486 403.791 525.714 485.019 525.714 585.219 Z"]
+                    RenderSVGContainer {g} at (0,0) size 97x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-162.36,-403.29)}]
+                      RenderSVGPath {path} at (0,0) size 97x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D9BB7A] [fill rule=EVEN-ODD]}] [data="M 525.714 585.219 C 525.714 685.419 444.486 766.648 344.286 766.648 C 244.085 766.648 162.857 685.42 162.857 585.219 C 162.857 485.019 244.085 403.791 344.286 403.791 C 444.486 403.791 525.714 485.019 525.714 585.219 Z"]
               RenderText {#text} at (0,0) size 0x0
           RenderTableRow {TR} at (0,243) size 460x37
             RenderTableCell {TH} at (66,255) size 111x13 [bgcolor=#DDDD99] [r=7 c=1 rs=1 cs=1]
               RenderText {#text} at (42,0) size 27x13
                 text run at (42,0) width 27: "meet"
             RenderTableCell {TD} at (178,243) size 140x37 [r=7 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,243) size 140x37 [r=7 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
                 layer at (0,0) size 133x29
                   RenderView at (0,0) size 133x29
                 layer at (0,0) size 133x29
-                  RenderSVGRoot {svg} at (52,0) size 21x21
+                  RenderSVGRoot {svg} at (52,0) size 22x22
                     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-                    RenderSVGContainer {g} at (52,0) size 21x21 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-162.36,-403.29)}]
-                      RenderSVGPath {path} at (52,0) size 21x21 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D9BB7A] [fill rule=EVEN-ODD]}] [data="M 525.714 585.219 C 525.714 685.419 444.486 766.648 344.286 766.648 C 244.085 766.648 162.857 685.42 162.857 585.219 C 162.857 485.019 244.085 403.791 344.286 403.791 C 444.486 403.791 525.714 485.019 525.714 585.219 Z"]
+                    RenderSVGContainer {g} at (52,0) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-162.36,-403.29)}]
+                      RenderSVGPath {path} at (52,0) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D9BB7A] [fill rule=EVEN-ODD]}] [data="M 525.714 585.219 C 525.714 685.419 444.486 766.648 344.286 766.648 C 244.085 766.648 162.857 685.42 162.857 585.219 C 162.857 485.019 244.085 403.791 344.286 403.791 C 444.486 403.791 525.714 485.019 525.714 585.219 Z"]
               RenderText {#text} at (0,0) size 0x0
           RenderTableRow {TR} at (0,281) size 460x37
             RenderTableCell {TH} at (66,293) size 111x13 [bgcolor=#DDDD99] [r=8 c=1 rs=1 cs=1]
               RenderText {#text} at (43,0) size 25x13
                 text run at (43,0) width 25: "slice"
             RenderTableCell {TD} at (178,281) size 140x37 [r=8 c=2 rs=1 cs=1]
-              RenderImage {IMG} at (0,0) size 139x35 [border: (1px dashed #800000)]
+              RenderImage {IMG} at (0,0) size 139x35 [border: (1.38px dashed #800000)]
               RenderText {#text} at (0,0) size 0x0
             RenderTableCell {TD} at (319,281) size 140x37 [r=8 c=3 rs=1 cs=1]
               RenderEmbeddedObject {OBJECT} at (0,0) size 139x35 [border: (1px dashed #008000)]
index 3e972ce..84bdcff 100644 (file)
@@ -4,5 +4,5 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (0,0) size 800x600
       RenderBlock {DIV} at (0,0) size 84x84 [bgcolor=#FF0000]
-        RenderImage {IMG} at (0,0) size 84x83
+        RenderImage {IMG} at (0,0) size 84x84
         RenderText {#text} at (0,0) size 0x0
index 7d0a50a..d95b9ff 100644 (file)
@@ -1,8 +1,8 @@
-layer at (0,0) size 785x767
+layer at (0,0) size 785x769
   RenderView at (0,0) size 785x600
-layer at (0,0) size 785x767
-  RenderBlock {html} at (0,0) size 785x767
-    RenderBody {body} at (11,11) size 763x733
+layer at (0,0) size 785x769
+  RenderBlock {html} at (0,0) size 785x770
+    RenderBody {body} at (11,11) size 763x736
       RenderBlock (anonymous) at (0,0) size 762x52
         RenderText {#text} at (0,0) size 758x52
           text run at (0,0) width 357: "The two blocks should look identical. "
@@ -11,17 +11,17 @@ layer at (0,0) size 785x767
       RenderBlock {p} at (0,75) size 762x27
         RenderText {#text} at (0,0) size 524x26
           text run at (0,0) width 524: "There should be a red, white and blue pattern below this"
-      RenderSVGRoot {svg} at (25,149) size 202x202
+      RenderSVGRoot {svg} at (25,149) size 203x203
         RenderSVGRect {rect} at (53,177) size 146x146 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
-      RenderBlock {p} at (0,353) size 762x27
+      RenderBlock {p} at (0,354) size 762x27
         RenderText {#text} at (0,0) size 523x26
           text run at (0,0) width 523: "There should be a red, white and blue pattern above this"
-      RenderBlock {hr} at (0,402) size 762x3 [border: (1px inset #000000)]
-      RenderBlock {p} at (0,427) size 762x27
+      RenderBlock {hr} at (0,403) size 762x4 [border: (1.44px inset #000000)]
+      RenderBlock {p} at (0,429) size 762x27
         RenderText {#text} at (0,0) size 524x26
           text run at (0,0) width 524: "There should be a red, white and blue pattern below this"
-      RenderBlock (floating) {div} at (14,491) size 202x201 [border: (14px solid #FF0000)]
+      RenderBlock (floating) {div} at (14,492) size 202x203 [border: (14.39px solid #FF0000)]
         RenderBlock {div} at (28,28) size 145x145 [bgcolor=#0000FF]
-      RenderBlock {p} at (0,706) size 762x27
+      RenderBlock {p} at (0,708) size 762x27
         RenderText {#text} at (0,0) size 523x26
           text run at (0,0) width 523: "There should be a red, white and blue pattern above this"
index c82ff9e..7a7a8d5 100644 (file)
@@ -28,18 +28,18 @@ layer at (0,0) size 800x198
                           RenderView at (0,0) size 139x69
                         layer at (0,0) size 139x69
                           RenderSVGRoot {svg} at (23,0) size 93x69
-                            RenderSVGContainer {g} at (28,8) size 73x47
-                              RenderSVGRect {rect} at (28,8) size 11x17 [stroke={[type=SOLID] [color=#000000]}] [x=30.00] [y=46.00] [width=50.00] [height=80.00]
+                            RenderSVGContainer {g} at (28,8) size 73x46
+                              RenderSVGRect {rect} at (29,8) size 10x17 [stroke={[type=SOLID] [color=#000000]}] [x=30.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (48,8) size 10x17 [fill={[type=SOLID] [color=#FF0000]}] [x=130.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (71,8) size 11x17 [stroke={[type=SOLID] [color=#000000]}] [x=250.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (90,8) size 11x17 [fill={[type=SOLID] [color=#FF0000]}] [x=350.00] [y=46.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (28,37) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=30.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (47,37) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [x=130.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (70,37) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=250.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (90,37) size 11x17 [fill={[type=SOLID] [color=#00FF00]}] [x=350.00] [y=196.00] [width=50.00] [height=80.00]
-                            RenderSVGText {text} at (10,303) size 270x48 contains 1 chunk(s)
-                              RenderSVGInlineText {#text} at (0,0) size 270x47
-                                chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 269.59: "$Revision: 1.7 $"
+                              RenderSVGRect {rect} at (28,36) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=30.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (47,36) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [x=130.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (70,36) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=250.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (90,37) size 11x16 [fill={[type=SOLID] [color=#00FF00]}] [x=350.00] [y=196.00] [width=50.00] [height=80.00]
+                            RenderSVGText {text} at (10,303) size 272x48 contains 1 chunk(s)
+                              RenderSVGInlineText {#text} at (0,0) size 272x47
+                                chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 271.30: "$Revision: 1.7 $"
                             RenderSVGRect {rect} at (23,0) size 93x69 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
                       RenderText {#text} at (0,0) size 0x0
                     RenderTableCell {td} at (246,92) size 244x82 [r=2 c=1 rs=1 cs=1]
index c82ff9e..7a7a8d5 100644 (file)
@@ -28,18 +28,18 @@ layer at (0,0) size 800x198
                           RenderView at (0,0) size 139x69
                         layer at (0,0) size 139x69
                           RenderSVGRoot {svg} at (23,0) size 93x69
-                            RenderSVGContainer {g} at (28,8) size 73x47
-                              RenderSVGRect {rect} at (28,8) size 11x17 [stroke={[type=SOLID] [color=#000000]}] [x=30.00] [y=46.00] [width=50.00] [height=80.00]
+                            RenderSVGContainer {g} at (28,8) size 73x46
+                              RenderSVGRect {rect} at (29,8) size 10x17 [stroke={[type=SOLID] [color=#000000]}] [x=30.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (48,8) size 10x17 [fill={[type=SOLID] [color=#FF0000]}] [x=130.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (71,8) size 11x17 [stroke={[type=SOLID] [color=#000000]}] [x=250.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (90,8) size 11x17 [fill={[type=SOLID] [color=#FF0000]}] [x=350.00] [y=46.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (28,37) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=30.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (47,37) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [x=130.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (70,37) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=250.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (90,37) size 11x17 [fill={[type=SOLID] [color=#00FF00]}] [x=350.00] [y=196.00] [width=50.00] [height=80.00]
-                            RenderSVGText {text} at (10,303) size 270x48 contains 1 chunk(s)
-                              RenderSVGInlineText {#text} at (0,0) size 270x47
-                                chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 269.59: "$Revision: 1.7 $"
+                              RenderSVGRect {rect} at (28,36) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=30.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (47,36) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [x=130.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (70,36) size 12x18 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=250.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (90,37) size 11x16 [fill={[type=SOLID] [color=#00FF00]}] [x=350.00] [y=196.00] [width=50.00] [height=80.00]
+                            RenderSVGText {text} at (10,303) size 272x48 contains 1 chunk(s)
+                              RenderSVGInlineText {#text} at (0,0) size 272x47
+                                chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 271.30: "$Revision: 1.7 $"
                             RenderSVGRect {rect} at (23,0) size 93x69 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
                       RenderText {#text} at (0,0) size 0x0
                     RenderTableCell {td} at (246,92) size 244x82 [r=2 c=1 rs=1 cs=1]
index 32dac55..389b14c 100644 (file)
@@ -1,17 +1,17 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x172
-  RenderBlock {HTML} at (0,0) size 800x173
-    RenderBody {BODY} at (5,5) size 790x162
-      RenderEmbeddedObject {OBJECT} at (0,0) size 159x159 [border: (1px dashed #800000)]
+layer at (0,0) size 800x173
+  RenderBlock {HTML} at (0,0) size 800x174
+    RenderBody {BODY} at (5,5) size 790x163
+      RenderEmbeddedObject {OBJECT} at (0,0) size 160x160 [border: (1.38px dashed #800000)]
         layer at (0,0) size 153x153
           RenderView at (0,0) size 153x153
         layer at (0,0) size 153x153
           RenderSVGRoot {svg} at (0,0) size 153x153
             RenderSVGEllipse {circle} at (0,0) size 153x153 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#D9BB7A] [fill rule=EVEN-ODD]}] [cx=110.00] [cy=110.00] [r=110.00]
-      RenderText {#text} at (158,148) size 4x13
-        text run at (158,148) width 4: " "
-      RenderEmbeddedObject {OBJECT} at (161,0) size 160x159 [border: (1px dashed #800000)]
+      RenderText {#text} at (159,149) size 4x13
+        text run at (159,149) width 4: " "
+      RenderEmbeddedObject {OBJECT} at (162,0) size 161x160 [border: (1.38px dashed #800000)]
         layer at (0,0) size 153x153
           RenderView at (0,0) size 153x153
         layer at (0,0) size 153x153
index 762189b..50c0c42 100644 (file)
@@ -19,13 +19,13 @@ layer at (0,0) size 800x376
                   RenderSVGPath {path} at (168,48) size 37x44 [fill={[type=SOLID] [color=#FFFFFF] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 63.332 21.001 C 61.762 18.232 60.877 17.791 58.617 17.611 C 55.145 17.317 53.523 19.738 52.77 21.476 C 51.951 23.356 52.115 23.096 52.164 25.471 C 52.213 27.976 52.984 29.007 53.835 30.579 C 54.704 32.102 58.24 32.971 58.666 32.954 C 62.383 32.56 63.693 31.119 64.364 28.615 C 64.97 26.389 64.987 23.916 63.332 21.001 Z"]
                 RenderSVGPath {path} at (134,62) size 16x23 [fill={[type=SOLID] [color=#000000] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 41.928 22.542 C 42.682 22.542 43.616 23.048 44.057 23.703 C 44.532 24.376 44.876 25.326 44.876 26.39 C 44.876 27.979 44.712 29.731 43.762 30.272 C 43.468 30.451 42.829 30.6 42.452 30.6 C 41.601 30.6 41.536 30.059 40.732 29.241 C 40.471 28.946 39.653 27.505 39.653 26.311 C 39.653 25.574 39.472 24.507 40.127 23.559 C 40.571 22.868 41.143 22.542 41.928 22.542 Z"]
                 RenderSVGPath {path} at (140,65) size 8x13 [fill={[type=SOLID] [color=#999999] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 43.616 24.556 C 43.188 23.639 42.026 23.425 41.733 23.867 C 41.438 24.325 41.815 24.766 42.47 25.717 C 43.14 26.732 42.895 27.846 43.665 27.601 C 43.958 27.502 44.026 25.488 43.616 24.556 Z"]
-                RenderSVGPath {path} at (177,62) size 19x24 [fill={[type=SOLID] [color=#000000] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 58.37 22.443 C 60.238 22.443 61.319 24.112 61.695 26.241 C 61.841 27.208 61.615 28.321 61.023 29.09 C 60.353 29.976 59.158 30.532 58.191 30.532 C 57.273 30.532 56.242 30.68 55.7 29.927 C 55.145 29.156 55.03 27.453 55.03 26.241 C 55.03 24.883 55.424 23.916 56.109 23.145 C 56.636 22.573 57.585 22.443 58.37 22.443 Z"]
+                RenderSVGPath {path} at (177,62) size 19x23 [fill={[type=SOLID] [color=#000000] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 58.37 22.443 C 60.238 22.443 61.319 24.112 61.695 26.241 C 61.841 27.208 61.615 28.321 61.023 29.09 C 60.353 29.976 59.158 30.532 58.191 30.532 C 57.273 30.532 56.242 30.68 55.7 29.927 C 55.145 29.156 55.03 27.453 55.03 26.241 C 55.03 24.883 55.424 23.916 56.109 23.145 C 56.636 22.573 57.585 22.443 58.37 22.443 Z"]
                 RenderSVGPath {path} at (184,63) size 10x10 [fill={[type=SOLID] [color=#999999] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 60.042 23.949 C 59.384 23.212 58.83 22.982 58.485 23.212 C 57.813 23.654 58.355 24.032 58.959 24.702 C 59.353 25.128 59.55 26.128 60.206 25.799 C 61.041 25.34 60.746 24.734 60.042 23.949 Z"]
-                RenderSVGPath {path} at (94,98) size 148x220 [fill={[type=SOLID] [color=#FFFFFF] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 78.171 82.167 C 78.171 77.009 77.58 71.753 76.387 67.902 C 75.305 64.284 73.569 61.763 72.078 58.488 C 69.099 51.967 69.246 49.036 66.606 44.877 C 63.579 40.062 65.068 36.868 61.056 37.065 C 56.045 37.344 52.016 44.206 47.283 44.403 C 44.057 44.534 38.965 35.508 38.834 39.243 C 38.735 42.421 38.899 42.371 38.899 45.45 C 38.899 47.497 37.965 47.644 35.934 50.756 C 34.885 52.378 34.066 54.146 33.428 55.932 C 33.035 56.996 32.658 58.109 32.364 59.207 C 32.233 59.746 32.02 60.32 31.888 60.861 C 30.873 64.611 27.255 69.212 26.418 72.946 C 25.568 76.663 24.585 79.04 24.7 84.016 C 24.831 88.995 24.88 87.571 26.386 88.797 C 27.876 90.041 29.415 91.205 31.775 93.285 C 34.248 95.447 39.404 99.213 40.095 100.377 C 40.848 101.572 40.814 104.242 40.373 105.107 C 39.93 105.959 36.031 106.42 36.048 106.42 C 36.031 106.42 39.455 111.135 40.126 111.805 C 40.765 112.446 43.532 115.541 54.832 113.444 C 57.831 112.881 60.509 111.794 62.876 110.442 C 62.925 110.415 62.974 110.389 63.022 110.362 C 63.109 110.315 63.196 110.27 63.278 110.223 C 63.502 110.108 63.721 109.989 63.936 109.868 C 63.969 109.847 64.004 109.831 64.039 109.813 C 65.407 109.059 66.574 108.208 67.43 107.272 C 68.241 106.602 68.999 105.917 69.704 105.241 C 74.307 100.753 71.979 99.46 72.569 97.2 C 73.437 93.958 76.269 92.745 76.909 89.077 C 76.991 88.554 77.155 88.159 77.63 87.389 C 78.351 86.296 78.171 84.149 78.171 82.167 Z"]
+                RenderSVGPath {path} at (93,98) size 148x219 [fill={[type=SOLID] [color=#FFFFFF] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 78.171 82.167 C 78.171 77.009 77.58 71.753 76.387 67.902 C 75.305 64.284 73.569 61.763 72.078 58.488 C 69.099 51.967 69.246 49.036 66.606 44.877 C 63.579 40.062 65.068 36.868 61.056 37.065 C 56.045 37.344 52.016 44.206 47.283 44.403 C 44.057 44.534 38.965 35.508 38.834 39.243 C 38.735 42.421 38.899 42.371 38.899 45.45 C 38.899 47.497 37.965 47.644 35.934 50.756 C 34.885 52.378 34.066 54.146 33.428 55.932 C 33.035 56.996 32.658 58.109 32.364 59.207 C 32.233 59.746 32.02 60.32 31.888 60.861 C 30.873 64.611 27.255 69.212 26.418 72.946 C 25.568 76.663 24.585 79.04 24.7 84.016 C 24.831 88.995 24.88 87.571 26.386 88.797 C 27.876 90.041 29.415 91.205 31.775 93.285 C 34.248 95.447 39.404 99.213 40.095 100.377 C 40.848 101.572 40.814 104.242 40.373 105.107 C 39.93 105.959 36.031 106.42 36.048 106.42 C 36.031 106.42 39.455 111.135 40.126 111.805 C 40.765 112.446 43.532 115.541 54.832 113.444 C 57.831 112.881 60.509 111.794 62.876 110.442 C 62.925 110.415 62.974 110.389 63.022 110.362 C 63.109 110.315 63.196 110.27 63.278 110.223 C 63.502 110.108 63.721 109.989 63.936 109.868 C 63.969 109.847 64.004 109.831 64.039 109.813 C 65.407 109.059 66.574 108.208 67.43 107.272 C 68.241 106.602 68.999 105.917 69.704 105.241 C 74.307 100.753 71.979 99.46 72.569 97.2 C 73.437 93.958 76.269 92.745 76.909 89.077 C 76.991 88.554 77.155 88.159 77.63 87.389 C 78.351 86.296 78.171 84.149 78.171 82.167 Z"]
                 RenderSVGResourceLinearGradient {linearGradient} [id="XMLID_2_"] [gradientUnits=userSpaceOnUse] [start=(54.99,39.65)] [end=(41.91,26.22)]
                   RenderSVGGradientStop {stop} [offset=0.00] [color=#FFA700]
                   RenderSVGGradientStop {stop} [offset=0.69] [color=#FFFF00]
-                RenderSVGPath {path} at (130,75) size 74x51 [fill={[type=LINEAR-GRADIENT] [id="XMLID_2_"]}] [data="M 57.177 30.008 C 56.209 29.681 55.474 29.255 54.408 28.468 C 53.278 27.635 50.804 27.174 48.986 27.404 C 47.71 27.552 46.908 27.422 45.678 28.044 C 44.336 28.749 42.404 30.304 41.34 31.238 C 39.308 33.005 37.868 33.727 37.933 35.937 C 37.982 38.016 39.702 39.607 41.537 41.08 C 43.37 42.604 44.926 44.486 46.04 44.879 C 47.202 45.305 49.217 45.224 50.659 45.224 C 53.869 45.224 58.027 41.179 60.354 40.474 C 63.25 39.558 64.267 37.984 64.496 34.497 C 64.692 31.565 60.434 31.072 57.177 30.008 Z"]
+                RenderSVGPath {path} at (130,75) size 74x50 [fill={[type=LINEAR-GRADIENT] [id="XMLID_2_"]}] [data="M 57.177 30.008 C 56.209 29.681 55.474 29.255 54.408 28.468 C 53.278 27.635 50.804 27.174 48.986 27.404 C 47.71 27.552 46.908 27.422 45.678 28.044 C 44.336 28.749 42.404 30.304 41.34 31.238 C 39.308 33.005 37.868 33.727 37.933 35.937 C 37.982 38.016 39.702 39.607 41.537 41.08 C 43.37 42.604 44.926 44.486 46.04 44.879 C 47.202 45.305 49.217 45.224 50.659 45.224 C 53.869 45.224 58.027 41.179 60.354 40.474 C 63.25 39.558 64.267 37.984 64.496 34.497 C 64.692 31.565 60.434 31.072 57.177 30.008 Z"]
                 RenderSVGResourceLinearGradient {linearGradient} [id="XMLID_3_"] [gradientUnits=userSpaceOnUse] [start=(89.48,113.08)] [end=(65.41,88.33)]
                   RenderSVGGradientStop {stop} [offset=0.00] [color=#FFA700]
                   RenderSVGGradientStop {stop} [offset=0.69] [color=#FFFF00]
@@ -33,10 +33,10 @@ layer at (0,0) size 800x376
                 RenderSVGResourceLinearGradient {linearGradient} [id="XMLID_4_"] [gradientUnits=userSpaceOnUse] [start=(29.61,119.31)] [end=(-6.89,84.81)]
                   RenderSVGGradientStop {stop} [offset=0.00] [color=#FFA700]
                   RenderSVGGradientStop {stop} [offset=0.69] [color=#FFFF00]
-                RenderSVGPath {path} at (25,235) size 117x112 [fill={[type=LINEAR-GRADIENT] [id="XMLID_4_"]}] [data="M 41.699 117.28 C 41.635 112.628 38.637 111.235 35.23 105.866 C 31.841 100.475 31.301 99.495 29.041 95.925 C 26.781 92.402 22.327 85.999 19.772 85.935 C 17.742 85.886 16.595 86.966 15.334 88.259 C 15.274 88.322 15.214 88.388 15.154 88.46 C 13.924 89.86 12.412 92.89 10.273 94.437 C 8.046 96.041 2.396 95.892 0.955 97.775 C -0.452 99.658 1.005 102.394 0.989 107.437 C 0.989 109.599 0.611 111.236 0.367 112.548 C 0.343 112.657 0.318 112.763 0.295 112.868 C 0.29 112.882 0.289 112.897 0.284 112.913 C 0.16 113.386 0.064 113.788 0.002 114.142 C -0.099 114.697 -0.103 115.124 0.023 115.513 C 0.05 115.597 0.082 115.683 0.119 115.765 C 0.147 115.833 0.179 115.902 0.213 115.97 C 0.217 115.98 0.22 115.991 0.227 116.001 L 0.228 116.007 C 0.294 116.187 0.376 116.364 0.482 116.544 C 0.538 116.636 0.595 116.724 0.657 116.808 C 1.939 118.718 4.261 119.292 15.417 121.619 C 21.641 122.914 27.502 126.256 31.45 126.582 C 35.396 126.877 36.232 125.566 38.64 123.437 C 41.011 121.292 41.781 121.962 41.699 117.28 Z"]
-                RenderSVGContainer {g} at (240,232) size 43x20
-                  RenderSVGPath {path} at (240,232) size 19x13 [fill={[type=SOLID] [color=#4D4D4D] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 82.495 85.034 C 81.004 85.229 80.005 85.999 79.415 86.704 C 78.842 87.358 78.202 88.311 78.498 88.604 C 78.772 88.879 79.025 88.653 79.279 88.317 C 79.302 88.29 79.324 88.26 79.348 88.231 C 79.438 88.131 79.526 88.012 79.615 87.887 C 79.638 87.86 79.663 87.83 79.685 87.799 C 79.728 87.748 79.771 87.695 79.816 87.639 C 79.842 87.61 79.865 87.578 79.891 87.545 C 79.931 87.502 79.969 87.455 80.01 87.404 C 80.536 86.97 81.37 86.082 83.033 86.082 C 84.721 86.082 84.59 86.031 84.524 85.377 C 84.475 84.772 83.969 84.821 82.495 85.034 Z"]
-                  RenderSVGPath {path} at (259,233) size 24x19 [fill={[type=SOLID] [color=#4D4D4D] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 90.503 85.853 C 89.061 85.314 88.014 85.066 86.751 85.017 C 85.064 84.935 85.213 85.361 85.213 85.361 C 85.213 86.148 86.834 86.429 88.358 86.656 C 89.881 86.867 91.091 87.164 91.157 88.752 C 91.241 90.326 90.848 91.438 91.536 91.309 C 93.023 91.028 93.565 89.424 93.549 88.688 C 93.548 87.933 92.451 86.608 90.503 85.853 Z"]
+                RenderSVGPath {path} at (25,235) size 116x112 [fill={[type=LINEAR-GRADIENT] [id="XMLID_4_"]}] [data="M 41.699 117.28 C 41.635 112.628 38.637 111.235 35.23 105.866 C 31.841 100.475 31.301 99.495 29.041 95.925 C 26.781 92.402 22.327 85.999 19.772 85.935 C 17.742 85.886 16.595 86.966 15.334 88.259 C 15.274 88.322 15.214 88.388 15.154 88.46 C 13.924 89.86 12.412 92.89 10.273 94.437 C 8.046 96.041 2.396 95.892 0.955 97.775 C -0.452 99.658 1.005 102.394 0.989 107.437 C 0.989 109.599 0.611 111.236 0.367 112.548 C 0.343 112.657 0.318 112.763 0.295 112.868 C 0.29 112.882 0.289 112.897 0.284 112.913 C 0.16 113.386 0.064 113.788 0.002 114.142 C -0.099 114.697 -0.103 115.124 0.023 115.513 C 0.05 115.597 0.082 115.683 0.119 115.765 C 0.147 115.833 0.179 115.902 0.213 115.97 C 0.217 115.98 0.22 115.991 0.227 116.001 L 0.228 116.007 C 0.294 116.187 0.376 116.364 0.482 116.544 C 0.538 116.636 0.595 116.724 0.657 116.808 C 1.939 118.718 4.261 119.292 15.417 121.619 C 21.641 122.914 27.502 126.256 31.45 126.582 C 35.396 126.877 36.232 125.566 38.64 123.437 C 41.011 121.292 41.781 121.962 41.699 117.28 Z"]
+                RenderSVGContainer {g} at (240,232) size 43x19
+                  RenderSVGPath {path} at (240,232) size 19x12 [fill={[type=SOLID] [color=#4D4D4D] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 82.495 85.034 C 81.004 85.229 80.005 85.999 79.415 86.704 C 78.842 87.358 78.202 88.311 78.498 88.604 C 78.772 88.879 79.025 88.653 79.279 88.317 C 79.302 88.29 79.324 88.26 79.348 88.231 C 79.438 88.131 79.526 88.012 79.615 87.887 C 79.638 87.86 79.663 87.83 79.685 87.799 C 79.728 87.748 79.771 87.695 79.816 87.639 C 79.842 87.61 79.865 87.578 79.891 87.545 C 79.931 87.502 79.969 87.455 80.01 87.404 C 80.536 86.97 81.37 86.082 83.033 86.082 C 84.721 86.082 84.59 86.031 84.524 85.377 C 84.475 84.772 83.969 84.821 82.495 85.034 Z"]
+                  RenderSVGPath {path} at (259,233) size 24x18 [fill={[type=SOLID] [color=#4D4D4D] [fill rule=EVEN-ODD]}] [clip rule=EVEN-ODD] [data="M 90.503 85.853 C 89.061 85.314 88.014 85.066 86.751 85.017 C 85.064 84.935 85.213 85.361 85.213 85.361 C 85.213 86.148 86.834 86.429 88.358 86.656 C 89.881 86.867 91.091 87.164 91.157 88.752 C 91.241 90.326 90.848 91.438 91.536 91.309 C 93.023 91.028 93.565 89.424 93.549 88.688 C 93.548 87.933 92.451 86.608 90.503 85.853 Z"]
       RenderText {#text} at (349,339) size 4x13
         text run at (349,339) width 4: " "
       RenderBR {BR} at (352,339) size 1x13
index e0e0acd..fe4ebb8 100644 (file)
@@ -30,16 +30,16 @@ layer at (0,0) size 800x378
                           RenderSVGRoot {svg} at (0,0) size 333x250
                             RenderSVGContainer {g} at (18,31) size 260x164
                               RenderSVGRect {rect} at (20,31) size 36x57 [stroke={[type=SOLID] [color=#000000]}] [x=30.00] [y=46.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (90,31) size 35x57 [fill={[type=SOLID] [color=#FF0000]}] [x=130.00] [y=46.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (90,32) size 35x56 [fill={[type=SOLID] [color=#FF0000]}] [x=130.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (173,31) size 36x57 [stroke={[type=SOLID] [color=#000000]}] [x=250.00] [y=46.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (243,31) size 35x57 [fill={[type=SOLID] [color=#FF0000]}] [x=350.00] [y=46.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (242,32) size 36x56 [fill={[type=SOLID] [color=#FF0000]}] [x=350.00] [y=46.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (18,133) size 41x62 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=30.00] [y=196.00] [width=50.00] [height=80.00]
                               RenderSVGRect {rect} at (87,133) size 41x62 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [fill={[type=SOLID] [color=#00FF00]}] [x=130.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (170,133) size 42x62 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=250.00] [y=196.00] [width=50.00] [height=80.00]
-                              RenderSVGRect {rect} at (243,136) size 35x56 [fill={[type=SOLID] [color=#00FF00]}] [x=350.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (170,133) size 41x62 [stroke={[type=SOLID] [color=#0000FF] [stroke width=8.00]}] [x=250.00] [y=196.00] [width=50.00] [height=80.00]
+                              RenderSVGRect {rect} at (242,136) size 36x56 [fill={[type=SOLID] [color=#00FF00]}] [x=350.00] [y=196.00] [width=50.00] [height=80.00]
                             RenderSVGText {text} at (10,303) size 267x48 contains 1 chunk(s)
                               RenderSVGInlineText {#text} at (0,0) size 267x47
-                                chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 266.42: "$Revision: 1.7 $"
+                                chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 266.67: "$Revision: 1.7 $"
                             RenderSVGRect {rect} at (0,0) size 333x250 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
                       RenderText {#text} at (0,0) size 0x0
                     RenderTableCell {td} at (347,92) size 345x262 [r=2 c=1 rs=1 cs=1]
index ba2fb64..b28edac 100644 (file)
@@ -53,11 +53,11 @@ PASS image1.height.toFixed(2) is "25.00"
 PASS image1.right.toFixed(2) is "150.00"
 PASS image1.bottom.toFixed(2) is "275.00"
 PASS text1.left.toFixed(2) is "100.00"
-FAIL text1.top.toFixed(2) should be 282.66. Was 282.50.
-FAIL text1.width.toFixed(2) should be 49.20. Was 50.00.
-FAIL text1.height.toFixed(2) should be 6.16. Was 6.50.
-FAIL text1.right.toFixed(2) should be 149.20. Was 150.00.
-FAIL text1.bottom.toFixed(2) should be 288.82. Was 289.00.
+FAIL text1.top.toFixed(2) should be 282.66. Was 282.58.
+PASS text1.width.toFixed(2) is "49.20"
+PASS text1.height.toFixed(2) is "6.16"
+PASS text1.right.toFixed(2) is "149.20"
+FAIL text1.bottom.toFixed(2) should be 288.82. Was 288.73.
 
 PASS svg2.left.toFixed(2) is "75.00"
 PASS svg2.top.toFixed(2) is "100.00"
@@ -78,11 +78,11 @@ PASS image2.height.toFixed(2) is "25.00"
 PASS image2.right.toFixed(2) is "225.00"
 PASS image2.bottom.toFixed(2) is "125.00"
 PASS text2.left.toFixed(2) is "175.00"
-FAIL text2.top.toFixed(2) should be 132.66. Was 132.50.
-FAIL text2.width.toFixed(2) should be 47.44. Was 48.00.
-FAIL text2.height.toFixed(2) should be 5.94. Was 6.50.
-FAIL text2.right.toFixed(2) should be 222.44. Was 223.00.
-FAIL text2.bottom.toFixed(2) should be 138.60. Was 139.00.
+FAIL text2.top.toFixed(2) should be 132.66. Was 132.75.
+PASS text2.width.toFixed(2) is "47.44"
+PASS text2.height.toFixed(2) is "5.94"
+PASS text2.right.toFixed(2) is "222.44"
+FAIL text2.bottom.toFixed(2) should be 138.60. Was 138.69.
 
 PASS svg3.left.toFixed(2) is "900.00"
 PASS svg3.top.toFixed(2) is "500.00"
@@ -103,11 +103,11 @@ PASS image3.height.toFixed(2) is "50.00"
 PASS image3.right.toFixed(2) is "1200.00"
 PASS image3.bottom.toFixed(2) is "550.00"
 PASS text3.left.toFixed(2) is "1100.00"
-FAIL text3.top.toFixed(2) should be 565.33. Was 565.00.
-FAIL text3.width.toFixed(2) should be 98.41. Was 100.00.
-FAIL text3.height.toFixed(2) should be 12.31. Was 13.00.
-FAIL text3.right.toFixed(2) should be 1198.41. Was 1200.00.
-FAIL text3.bottom.toFixed(2) should be 577.64. Was 578.00.
+FAIL text3.top.toFixed(2) should be 565.33. Was 565.16.
+PASS text3.width.toFixed(2) is "98.41"
+PASS text3.height.toFixed(2) is "12.31"
+PASS text3.right.toFixed(2) is "1198.41"
+FAIL text3.bottom.toFixed(2) should be 577.64. Was 577.47.
 
 PASS successfullyParsed is true
 
index 36d9027..8ce7d45 100644 (file)
@@ -16,8 +16,8 @@ layer at (0,0) size 800x600
           text run at (0,0) width 56: "[HTML]"
     RenderSVGRect {rect} at (0,0) size 251x201 [stroke={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=250.00] [height=200.00]
     RenderSVGForeignObject {foreignObject} at (260,0) size 250x200
-      RenderSVGRoot {svg} at (260,5) size 250x198
-        RenderSVGContainer {g} at (260,5) size 250x198 [transform={m=((3.00,0.26)(0.26,3.02)) t=(0.00,0.00)}]
+      RenderSVGRoot {svg} at (260,5) size 250x195
+        RenderSVGContainer {g} at (260,5) size 250x195 [transform={m=((3.00,0.26)(0.26,3.02)) t=(0.00,0.00)}]
           RenderSVGText {text} at (0,1) size 82x19 contains 1 chunk(s)
             RenderSVGInlineText {#text} at (0,0) size 82x19
               chunk 1 text run 1 at (0.00,16.00) startOffset 0 endOffset 14 width 81.05: "This is a text"
index 99f621d..01ede85 100644 (file)
@@ -11,7 +11,7 @@ PASS rect.x.animVal.value is 300
 PASS rect.x.animVal.value is 100
 PASS getComputedStyle(rect).getPropertyCSSValue('opacity').getFloatValue(CSSPrimitiveValue.CSS_NUMBER) is 0.8
 PASS rect.x.animVal.value is 100
-PASS getComputedStyle(rect).getPropertyCSSValue('opacity').getFloatValue(CSSPrimitiveValue.CSS_NUMBER) is 1.0
+FAIL getComputedStyle(rect).getPropertyCSSValue('opacity').getFloatValue(CSSPrimitiveValue.CSS_NUMBER) should be close to 1. Was 0.800000011920929.
 PASS rect.x.animVal.value is 200
 PASS rect.x.baseVal.value is 100
 PASS successfullyParsed is true
index e0c14cc..6379770 100644 (file)
@@ -12,6 +12,6 @@
     </script>
 </head>
 <p>This test passes if both of the circles have sharp edges when deviceScaleFactor=2.</p>
-<img style="width: 128px;" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4Ij4KPGNpcmNsZSBmaWxsPSJibGFjayIgY3g9IjY0IiBjeT0iNjQiIHI9IjY0IiAvPgo8L3N2Zz4K">
-<img style="width: 128px;" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgoJPGNpcmNsZSBmaWxsPSJibGFjayIgY3g9IjY0IiBjeT0iNjQiIHI9IjY0IiAvPgo8L3N2Zz4=">
+<img style="width: 128px;" src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='128' height='128'><circle fill='black' cx='64' cy='64' r='64' /></svg>">
+<img style="width: 128px;" src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'><circle fill='black' cx='64' cy='64' r='64' /></svg>">
 </html>
index 2b83df5..6118802 100644 (file)
@@ -12,7 +12,7 @@
 </head>
 <p>This test passes if both of the circles have sharp edges.</p>
 <p>To run manually, use full-page zoom to increase the page scale factor.</p>
-<img style="width: 128px;" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4Ij4KPGNpcmNsZSBmaWxsPSJibGFjayIgY3g9IjY0IiBjeT0iNjQiIHI9IjY0IiAvPgo8L3N2Zz4K">
-<img style="width: 128px;" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgoJPGNpcmNsZSBmaWxsPSJibGFjayIgY3g9IjY0IiBjeT0iNjQiIHI9IjY0IiAvPgo8L3N2Zz4=">
+<img style="width: 128px;" src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='128' height='128'><circle fill='black' cx='64' cy='64' r='64'/></svg>">
+<img style="width: 128px;" src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'><circle fill='black' cx='64' cy='64' r='64'/></svg>">
 
 </html>
index 08d4594..18e196c 100644 (file)
@@ -7,7 +7,7 @@
   </head>
   <body>
     <div style="width: 400px; height: 400px; border: 1px solid black;">
-        <svg xmlns="http://www.w3.org/2000/svg">
+        <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
             <rect x="40" y="40" width="120" height="120" fill="green"/>
         </svg>
     </div>
index 219ede4..edfe179 100644 (file)
@@ -10,7 +10,7 @@ div {
 </head>
 <body style='margin: 0px'>
 <div>
-  <img src='resources/green-relative-size-rect.svg'>
+  <img style='width: 100%; height: 100%' src='resources/green-relative-size-rect.svg'>
 </div>
 </body>
 </html>
diff --git a/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt b/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt
new file mode 100644 (file)
index 0000000..470c7f5
--- /dev/null
@@ -0,0 +1,218 @@
+
+PASS (initial values) 
+PASS svgHeightAttr: '200',  
+PASS svgHeightAttr: '25%',  
+PASS svgWidthAttr: '200',  
+PASS svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS svgWidthAttr: '25%',  
+PASS svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS svgViewBoxAttr: '0 0 100 200',  
+PASS svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100',  
+PASS placeholderWidthAttr: '100', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%',  
+PASS placeholderWidthAttr: '50%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px',  
+PASS containerHeightStyle: '400px', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px',  
+PASS containerWidthStyle: '400px', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+
diff --git a/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-auto.html b/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-auto.html
new file mode 100644 (file)
index 0000000..d06fbe9
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>SVG sizing: &lt;object></title>
+    <script src="../../../resources/testharness.js"></script>
+    <script src="../../../resources/testharnessreport.js"></script>
+    <style>
+      #testContainer {
+          position: absolute;
+          left: 0;
+          top: 0;
+          width: 800px;
+          height: 600px;
+      }
+    </style>
+    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width">
+    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-height">
+    <link rel="help" href="http://www.whatwg.org/specs/web-apps/current-work/#replaced-elements">
+    <link rel="help" href="http://www.whatwg.org/specs/web-apps/current-work/#attr-dim-width">
+    <link rel="help" href="http://www.w3.org/TR/SVG/coords.html#ViewportSpace">
+  </head>
+  <body>
+    <div id="log"></div>
+    <div id="testContainer"></div>
+    <script src="svg-in-object.js"></script>
+    <script>testSVGInObjectWithPlaceholderHeightAttr(null)</script>
+  </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt b/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt
new file mode 100644 (file)
index 0000000..3a4bdab
--- /dev/null
@@ -0,0 +1,218 @@
+
+PASS placeholderHeightAttr: '100',  
+PASS placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '100', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+
diff --git a/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html b/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html
new file mode 100644 (file)
index 0000000..dcfb666
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>SVG sizing: &lt;object></title>
+    <script src="../../../resources/testharness.js"></script>
+    <script src="../../../resources/testharnessreport.js"></script>
+    <style>
+      #testContainer {
+          position: absolute;
+          left: 0;
+          top: 0;
+          width: 800px;
+          height: 600px;
+      }
+    </style>
+    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width">
+    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-height">
+    <link rel="help" href="http://www.whatwg.org/specs/web-apps/current-work/#replaced-elements">
+    <link rel="help" href="http://www.whatwg.org/specs/web-apps/current-work/#attr-dim-width">
+    <link rel="help" href="http://www.w3.org/TR/SVG/coords.html#ViewportSpace">
+  </head>
+  <body>
+    <div id="log"></div>
+    <div id="testContainer"></div>
+    <script src="svg-in-object.js"></script>
+    <script>testSVGInObjectWithPlaceholderHeightAttr("100")</script>
+  </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt b/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt
new file mode 100644 (file)
index 0000000..28309d7
--- /dev/null
@@ -0,0 +1,218 @@
+
+PASS placeholderHeightAttr: '50%',  
+PASS placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '100', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '200', svgHeightAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '200',  
+PASS containerWidthStyle: '400px', containerHeightStyle: '400px', placeholderWidthAttr: '50%', placeholderHeightAttr: '50%', svgViewBoxAttr: '0 0 100 200', svgWidthAttr: '25%', svgHeightAttr: '25%',  
+
diff --git a/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html b/LayoutTests/svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html
new file mode 100644 (file)
index 0000000..a9c3462
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>SVG sizing: &lt;object></title>
+    <script src="../../../resources/testharness.js"></script>
+    <script src="../../../resources/testharnessreport.js"></script>
+    <style>
+      #testContainer {
+          position: absolute;
+          left: 0;
+          top: 0;
+          width: 800px;
+          height: 600px;
+      }
+    </style>
+    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width">
+    <link rel="help" href="http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-height">
+    <link rel="help" href="http://www.whatwg.org/specs/web-apps/current-work/#replaced-elements">
+    <link rel="help" href="http://www.whatwg.org/specs/web-apps/current-work/#attr-dim-width">
+    <link rel="help" href="http://www.w3.org/TR/SVG/coords.html#ViewportSpace">
+  </head>
+  <body>
+    <div id="log"></div>
+    <div id="testContainer"></div>
+    <script src="svg-in-object.js"></script>
+    <script>testSVGInObjectWithPlaceholderHeightAttr("50%")</script>
+  </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/svg/as-object/sizing/svg-in-object.js b/LayoutTests/svg/as-object/sizing/svg-in-object.js
new file mode 100644 (file)
index 0000000..0d50dde
--- /dev/null
@@ -0,0 +1,461 @@
+// global async_test, assert_equals
+//
+// This test generates a couple of scenarios (each a TestData) for
+// sizing SVG inside an inline <object> and has a simple JavaScript
+// sizing implementation that handles the generated scenarios. It
+// generates a DOM corresponding to the scenario and compares the laid
+// out size to the calculated size.
+//
+// The tests loops through different combinations of:
+//
+// * width and height on <object>
+//
+// * width and height on <svg>
+//
+// * viewBox on <svg> (gives intrinsic ratio)
+//
+// * width and height on containing block of <object>
+//
+// All these contribute to the final size of the SVG in some way.
+//
+// The test focuses on the size of the CSS box generated by the SVG.
+// The SVG is always empty by itself so no actual SVG are tested.
+//
+// Focus is also put on how the different attributes interact, little
+// focus is put on variations within an attribute that doesn't affect
+// the relationship to other attributes, i.e only px and % units are
+// used since that covers the interactions.
+//
+// To debug a specific test append ?<test-id> to the URL. An <iframe>
+// is generated with equivalent test and the source of the test is
+// added to a <pre> element.
+//
+// Note: placeholder is an alternative name for the tested <object>
+// element; 'object' becomes such an ambigious name when placed in
+// code.
+
+(function() {
+    function parseLength(l) {
+        var match = /^([-+]?[0-9]+|[-+]?[0-9]*\.[0-9]+)(px|%)?$/.exec(l);
+        if (!match)
+            return null;
+        return new Length(Number(match[1]), match[2] ? match[2] : "px");
+    }
+
+    function parseViewBox(input) {
+        if (!input)
+            return null;
+
+        var arr = input.split(' ');
+        return arr.map(function(a) { return parseInt(a); });
+    }
+
+    // Only px and % are used
+    function convertToPx(input, percentRef) {
+        if (input == null)
+            return null;
+        var length = parseLength(input);
+        if (length.amount == 0)
+            return 0;
+        if (!length.unit)
+            length.unit = "px";
+        if (length.unit == "%" && percentRef === undefined)
+            return null;
+        return length.amount * { px: 1,
+                                 "%": percentRef/100}[length.unit];
+    }
+
+    function Length(amount, unit) {
+        this.amount = amount;
+        this.unit = unit;
+    }
+
+    function describe(data) {
+        function dumpObject(obj) {
+            var r = "";
+            for (var property in obj) {
+                if (obj.hasOwnProperty(property)) {
+                    var value = obj[property];
+                    if (typeof value == 'string')
+                        value = "'" + value + "'";
+                    else if (value == null)
+                        value = "null";
+                    else if (typeof value == 'object')
+                    {
+                        if (value instanceof Array)
+                            value = "[" + value + "]";
+                        else
+                            value = "{" + dumpObject(value) + "}";
+                    }
+
+                    if (value != "null")
+                        r += property + ": " + value + ", ";
+                }
+            }
+            return r;
+        }
+        var result = dumpObject(data);
+        if (result == "")
+            return "(initial values)";
+        return result;
+    }
+
+    function TestData(config) {
+        this.config = config;
+        this.name = describe(config);
+        this.style = {};
+        this.mapPresentationalHintLength("width", config.placeholderWidthAttr);
+        this.mapPresentationalHintLength("height", config.placeholderHeightAttr);
+    }
+
+    TestData.prototype.mapPresentationalHintLength =
+        function(cssProperty, attr) {
+            if (attr) {
+                var l = parseLength(attr);
+                if (l)
+                    this.style[cssProperty] = l.amount + l.unit;
+            }
+        };
+
+    TestData.prototype.computedWidthIsAuto = function() {
+        return !this.style["width"] || this.style["width"] == 'auto';
+    };
+
+    TestData.prototype.computedHeightIsAuto = function() {
+        return !this.style["height"] || this.style["height"] == 'auto' ||
+            (parseLength(this.style["height"]).unit == '%' &&
+             this.containerComputedHeightIsAuto());
+    };
+
+    TestData.prototype.containerComputedWidthIsAuto = function() {
+        return !this.config.containerWidthStyle ||
+            this.config.containerWidthStyle == 'auto';
+    };
+
+    TestData.prototype.containerComputedHeightIsAuto = function() {
+        return !this.config.containerHeightStyle ||
+            this.config.containerHeightStyle == 'auto';
+    };
+
+    TestData.prototype.intrinsicInformation = function() {
+        var w = convertToPx(this.config.svgWidthAttr) || 0;
+        var h = convertToPx(this.config.svgHeightAttr) || 0;
+        var r = 0;
+        if (w && h) {
+            r =  w / h;
+        } else {
+            var vb = parseViewBox(this.config.svgViewBoxAttr);
+            if (vb) {
+                r = vb[2] / vb[3];
+            }
+            if (r) {
+                if (!w && h)
+                    w = h * r;
+                else if (!h && w)
+                    h = w / r;
+            }
+        }
+        return { width: w, height: h, ratio: r };
+    };
+
+
+    TestData.prototype.computeInlineReplacedSize = function() {
+        var intrinsic = this.intrinsicInformation();
+        var self = this;
+
+        // http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-height
+        function calculateUsedHeight() {
+            if (self.computedHeightIsAuto()) {
+                if (self.computedWidthIsAuto() && intrinsic.height)
+                    return intrinsic.height;
+                if (intrinsic.ratio)
+                    return calculateUsedWidth() / intrinsic.ratio;
+                if (intrinsic.height)
+                    return intrinsic.height;
+                return 150;
+            }
+
+            return convertToPx(self.style["height"],
+                               convertToPx(self.config.containerHeightStyle,
+                                           self.outerHeight));
+        }
+
+        // http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width
+        function calculateUsedWidth() {
+            if (self.computedWidthIsAuto()) {
+                if (self.computedHeightIsAuto() && intrinsic.width)
+                    return intrinsic.width;
+                if (!self.computedHeightIsAuto() && intrinsic.ratio)
+                    return calculateUsedHeight() * intrinsic.ratio;
+                if (self.computedHeightIsAuto() && intrinsic.ratio) {
+                    if (self.containerComputedWidthIsAuto()) {
+                        // Note: While this is actually undefined in CSS
+                        // 2.1, use the suggested value by examining the
+                        // ancestor widths.
+                        return self.outerWidth;
+                    } else {
+                        return convertToPx(self.config.containerWidthStyle,
+                                           self.outerWidth);
+                    }
+                }
+                if (intrinsic.width)
+                    return intrinsic.width;
+                return 300;
+            }
+
+            if (self.containerComputedWidthIsAuto())
+                return convertToPx(self.style["width"], self.outerWidth);
+            else
+                return convertToPx(self.style["width"],
+                                   convertToPx(self.config.containerWidthStyle,
+                                               self.outerWidth));
+        }
+        return { width: calculateUsedWidth(),
+                 height: calculateUsedHeight() };
+    };
+
+    var testContainer = document.querySelector('#testContainer');
+    TestData.prototype.outerWidth = testContainer.getBoundingClientRect().width;
+    TestData.prototype.outerHeight = testContainer.getBoundingClientRect().height;
+
+    window.TestData = TestData;
+})();
+
+function setupContainer(testData, placeholder, options) {
+    options = options || {};
+
+    var container = document.createElement("div");
+
+    container.id = "container";
+    if (testData.config.containerWidthStyle)
+        container.style.width = testData.config.containerWidthStyle;
+
+    if (testData.config.containerHeightStyle)
+        container.style.height = testData.config.containerHeightStyle;
+
+    if (options.pretty)
+        container.appendChild(document.createTextNode("\n\t\t"));
+    container.appendChild(placeholder);
+    if (options.pretty)
+        container.appendChild(document.createTextNode("\n\t"));
+
+    return container;
+}
+
+function setupPlaceholder(testData, options) {
+    options = options || {};
+
+    function generateSVGURI(testData, encoder) {
+        var res = '<svg xmlns="http://www.w3.org/2000/svg"';
+        function addAttr(attr, prop) {
+            if (testData.config[prop])
+                res += ' ' + attr + '="' + testData.config[prop] + '"';
+        }
+        addAttr("width", "svgWidthAttr");
+        addAttr("height", "svgHeightAttr");
+        addAttr("viewBox", "svgViewBoxAttr");
+        res += '></svg>';
+        return 'data:image/svg+xml' + encoder(res);
+    }
+
+    var placeholder = document.createElement("object");
+
+    if (options.pretty) {
+        placeholder.appendChild(document.createTextNode("\n\t\t\t"));
+        placeholder.appendChild(
+            document.createComment(
+                generateSVGURI(testData, function(x) { return "," + x; })));
+        placeholder.appendChild(document.createTextNode("\n\t\t"));
+    }
+
+    placeholder.setAttribute("id", "test");
+    if (testData.config.placeholderWidthAttr)
+        placeholder.setAttribute("width", testData.config.placeholderWidthAttr);
+    if (testData.config.placeholderHeightAttr)
+        placeholder.setAttribute("height", testData.config.placeholderHeightAttr);
+    placeholder.setAttribute("data",
+                             generateSVGURI(testData, function(x) {
+                                 return ";base64," + btoa(x);
+                             }));
+    return placeholder;
+}
+
+function buildDemo(testData) {
+    // Non-essential debugging tool
+
+    var options = { pretty: true };
+    var expectedRect =
+            testData.computeInlineReplacedSize();
+    var container =
+            setupContainer(testData, setupPlaceholder(testData, options), options);
+
+    var root = document.createElement("html");
+    var style = document.createElement("style");
+
+    style.textContent = "\n" +
+        "\tbody { margin: 0; font-family: sans-serif }\n" +
+        "\t#expected {\n" +
+        "\t\twidth: " + (expectedRect.width) + "px; height: "
+        + (expectedRect.height) + "px;\n" +
+        "\t\tborder: 10px solid lime; position: absolute;\n" +
+        "\t\tbackground-color: red }\n" +
+        "\t#testContainer { position: absolute;\n" +
+        "\t\ttop: 10px; left: 10px; width: 800px; height: 600px }\n" +
+        "\tobject { background-color: green }\n" +
+        "\t.result { position: absolute; top: 0; right: 0;\n" +
+        "\t\tbackground-color: hsla(0,0%, 0%, 0.85); border-radius: 0.5em;\n" +
+        "\t\tpadding: 0.5em; border: 0.25em solid black }\n" +
+        "\t.pass { color: lime }\n" +
+        "\t.fail { color: red }\n";
+
+    root.appendChild(document.createTextNode("\n"));
+    root.appendChild(style);
+    root.appendChild(document.createTextNode("\n"));
+
+    var script = document.createElement("script");
+    script.textContent = "\n" +
+        "onload = function() {\n" +
+        "\tvar objectRect = \n" +
+        "\t\tdocument.querySelector('#test').getBoundingClientRect();\n" +
+        "\tpassed = (objectRect.width == " + expectedRect.width + " && " +
+        "objectRect.height == " + expectedRect.height + ");\n" +
+        "\tdocument.body.insertAdjacentHTML('beforeEnd',\n" +
+        "\t\t'<span class=\"result '+ (passed ? 'pass' : 'fail') " +
+        "+ '\">' + (passed ? 'Pass' : 'Fail') + '</span>');\n" +
+        "};\n";
+
+    root.appendChild(script);
+    root.appendChild(document.createTextNode("\n"));
+
+    var expectedElement = document.createElement("div");
+    expectedElement.id = "expected";
+    root.appendChild(expectedElement);
+    root.appendChild(document.createTextNode("\n"));
+
+    var testContainer = document.createElement("div");
+    testContainer.id = "testContainer";
+    testContainer.appendChild(document.createTextNode("\n\t"));
+    testContainer.appendChild(container);
+    testContainer.appendChild(document.createTextNode("\n"));
+    root.appendChild(testContainer);
+    root.appendChild(document.createTextNode("\n"));
+
+    return "<!DOCTYPE html>\n" + root.outerHTML;
+}
+
+function doCombinationTest(values, func)
+{
+    // Recursively construct all possible combinations of values and
+    // send them to |func|. Example:
+    //
+    // values: [["X", ["a", "b"]],
+    //          ["Y", ["c", "d"]]]
+    //
+    // generates the objects:
+    //
+    // 1: { "X": "a", "Y": "c" }
+    // 2: { "X": "a", "Y": "d" }
+    // 3: { "X": "b", "Y": "c" }
+    // 4: { "X": "b", "Y": "d" }
+    //
+    // and each will be sent to |func| with the corresponding prefixed
+    // id (modulo order).
+
+    var combinationId = 1;
+    function doCombinationTestRecursive(slicedValues, config) {
+        if (slicedValues.length > 0) {
+            var configKey = slicedValues[0][0];
+            slicedValues[0][1].forEach(function(configValue) {
+                var new_config = {};
+                for (k in config)
+                    new_config[k] = config[k];
+                new_config[configKey] = configValue;
+                doCombinationTestRecursive(slicedValues.slice(1), new_config);
+            });
+        } else {
+            func(config, combinationId++);
+        }
+    }
+    doCombinationTestRecursive(values, {});
+}
+
+var debugHint = function(id) { return "(append ?"+id+" to debug) " };
+var testSingleId;
+if (window.location.search) {
+    testSingleId = window.location.search.substring(1);
+    debugHint = function(id) { return ""; };
+}
+
+function testSVGInObjectWithPlaceholderHeightAttr(placeholderHeightAttr) {
+    // Separated over placeholderHeightAttr so that the test count is around ~200
+
+    doCombinationTest(
+        [["containerWidthStyle", [null, "400px"]],
+         ["containerHeightStyle", [null, "400px"]],
+         ["placeholderWidthAttr", [null, "100", "50%"]],
+         ["placeholderHeightAttr", [placeholderHeightAttr]],
+         ["svgViewBoxAttr", [ null, "0 0 100 200" ]],
+         ["svgWidthAttr", [ null, "200", "25%" ]],
+         ["svgHeightAttr", [ null, "200", "25%" ]]],
+        function(config, id) {
+            if (!testSingleId || testSingleId == id) {
+                var testData = new TestData(config);
+                var t = async_test(testData.name);
+
+                var expectedRect =
+                        testData.computeInlineReplacedSize();
+                var placeholder = setupPlaceholder(testData);
+                var container =
+                        setupContainer(testData, placeholder);
+
+                var checkSize = function() {
+                    var placeholderRect =
+                            placeholder.getBoundingClientRect();
+
+                    try {
+                        assert_equals(placeholderRect.width,
+                                      expectedRect.width,
+                                      debugHint(id) + "Wrong width");
+                        assert_equals(placeholderRect.height,
+                                      expectedRect.height,
+                                      debugHint(id) + "Wrong height");
+                    } finally {
+                        testContainer.removeChild(container);
+                        if (testSingleId)
+                            document.body.removeChild(testContainer);
+                    }
+                    t.done();
+                };
+
+                t.step(function() {
+                    placeholder.addEventListener('load', function() {
+                        // setTimeout is a work-around to let engines
+                        // finish layout of child browsing contexts even
+                        // after the load event
+                        setTimeout(t.step_func(checkSize), 0);
+                    });
+                    testContainer.appendChild(container);
+                });
+            }
+
+            if (testSingleId == id) {
+                var pad = function(n, width, z) {
+                    z = z || '0';
+                    n = n + '';
+                    return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
+                };
+
+                var demo = buildDemo(testData);
+                var iframe = document.createElement('iframe');
+                iframe.style.width = (Math.max(900, expectedRect.width)) + "px";
+                iframe.style.height = (Math.max(400, expectedRect.height)) + "px";
+                iframe.src = "data:text/html;charset=utf-8," + encodeURIComponent(demo);
+                document.body.appendChild(iframe);
+
+                document.body.insertAdjacentHTML(
+                    'beforeEnd',
+                    '<p><a href="data:application/octet-stream;charset=utf-8;base64,' +
+                        btoa(demo) + '" download="svg-in-object-test-' + pad(id, 3) + '.html">Download</a></p>');
+            }
+        });
+}
\ No newline at end of file