Rewrite SVG tests to make extensive use of display() in repaint tests
authorzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2012 11:19:19 +0000 (11:19 +0000)
committerzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2012 11:19:19 +0000 (11:19 +0000)
https://bugs.webkit.org/show_bug.cgi?id=77736

Reviewed by Andreas Kling.

Convert all tests in svg/ (except svg/custom & svg/dynamic-updates) that exercise repainting to use the
fast/repaint/resources/repaint.js harness, which forces a layout, and calls layoutTestController.display()
before executing the actual repaint test, so that repaint rectangles are properly tracked and shown (white
areas that are redrawn, on top of the gray background, painted over the web view after the initial painting).

Previously SVG tests used to work like this: (using an HTML example, but it doesn't matter)
<html><body><svg><rect/><script>function change() { rect.setAttribute(...); layoutTestController.notifyDone(); } setTimeout(change, 0); </script></svg></body></html>

We expected that the initial painting was done, before change() as called. This is unreliable for various reasons:
- the timeout is not guaranteed to fire after the document loaded, it may happen inbetween on eg. a slow connection.
- nor is it guaranteed that the document has painted initially before we enter change().
  This leads to the current regressions -- if we break repainting, we can't see it in the current layout tests, as the
  initial painting always happens after change() executed in trunk, at least on a fast machine.

In order to make repaint testing reliable we have to use following scheme:
<html><body onload="runRepaintTest()"><svg><rect/><script>function repaintTest() { rect.setAttribute(...); }</script></svg></body></html>

runRepaintTest() is provided by the repaint.js harness and does:
if (window.layoutTestController) {
    document.body.offsetTop;
    layoutTestController.display();
    repaintTest();
} else {
    setTimeout(repaintTest, 100);
}

Using this harness outside of DRT allows to test SVG repainting tests in the browser as well, as the repainting changes
aren't immediately fired (0ms timer) but instead delayed by 100ms, so a visual "flash" is visible, if something changes.
For DRT it does two things. First it forces Document::updateLayout() to be called, and then forces the web view to paint
immediately, and then it starts tracking any repaint rects, that are fired _after_ the initial painting, which are then
highlighted in the pixel test dump later on. Using display() is the only way to get reliable painting results across
DRT/WebKitTestRunner, and to get rid of the flakiness.

All *.xml/*.html/*.htm/*.xhtml tests which excersise repainting can be moved to use runRepaintTest() from repaint.js.
<body> needs to be changed to <body onload="runRepaintTest()">, and the timeouts & waitUntilDone/notifyDone calls can
be removed from the tests, leading to much nicer testcases, removing lots of boilerplate.

Pure *.svg tests unfortunately can't use <svg onload="runRepaintTest()"> at the moment, due timing differences between
the HTML load and the SVGLoad event, that's out of scope for this bug report. To remove any hacks from the testcases
themselves, I centralized following work-around in a new function in repaint.js, and let all *.svg tests use it.

function runSVGRepaintTest() {
    if (window.layoutTestController) {
        layoutTestController.waitUntilDone();
        setTimeout(runRepaintTest, 0);
    } else
        runRepaintTest();
}

runRepaintTest() has to be called from a timer at the moment, as the SVGLoad event fires earlier as HTML load event.
Before that is fixed, we have to use <svg onload="runSVGRepaintTest()"> instead of <svg onload="runRepaintTest()">
and append: layoutTestController.notifyDone() to the repaintTest() functions in the testcases. That should explain
the testcase differences between pure-SVG and non-pure-SVG tests, and why I treated them differently. This approach
is unfortunately as flakey as the old, so to make pure *.svg tests test repainting reliable, the bug needs to be fixed.

Note that svg/custom, and svg/dynamic-updates will be fixed in another chunk, as they also require large amounts
of rebaselines.

* fast/repaint/resources/repaint.js:
(runRepaintTest):
(runSVGRepaintTest):
* platform/chromium/test_expectations.txt:
* platform/mac/svg/as-background-image/animated-svg-as-background-expected.png:
* platform/mac/svg/as-image/animated-svg-as-image-expected.png:
* platform/mac/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
* platform/mac/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/mac/svg/as-image/svg-image-change-content-size-expected.png:
* platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png:
* platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt:
* platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png:
* platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt:
* platform/mac/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png:
* platform/mac/svg/as-object/embedded-svg-size-changes-expected.png:
* platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.png:
* platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.txt:
* platform/mac/svg/as-object/nested-embedded-svg-size-changes-expected.png:
* platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png:
* platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt:
* platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png:
* platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt:
* platform/mac/svg/carto.net/tabgroup-expected.png:
* platform/mac/svg/carto.net/tabgroup-expected.txt:
* platform/mac/svg/carto.net/window-expected.png:
* platform/mac/svg/carto.net/window-expected.txt:
* platform/mac/svg/css/shadow-changes-expected.png:
* platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png:
* platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt:
* platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png:
* platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png:
* platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.png:
* platform/mac/svg/filters/filter-refresh-expected.png:
* platform/mac/svg/filters/filter-width-update-expected.png:
* platform/mac/svg/filters/filter-width-update-expected.txt:
* platform/mac/svg/filters/invalidate-on-child-layout-expected.png:
* platform/mac/svg/hixie/perf/001-expected.png:
* platform/mac/svg/hixie/perf/002-expected.png:
* platform/mac/svg/hixie/perf/003-expected.png:
* platform/mac/svg/hixie/perf/003-expected.txt:
* platform/mac/svg/hixie/perf/004-expected.png:
* platform/mac/svg/hixie/perf/004-expected.txt:
* platform/mac/svg/hixie/perf/005-expected.png:
* platform/mac/svg/hixie/perf/005-expected.txt:
* platform/mac/svg/hixie/perf/006-expected.png:
* platform/mac/svg/hixie/perf/006-expected.txt:
* platform/mac/svg/hixie/perf/007-expected.png:
* platform/mac/svg/hixie/perf/007-expected.txt:
* platform/mac/svg/repaint/filter-child-repaint-expected.png:
* platform/mac/svg/repaint/image-href-change-expected.png:
* platform/mac/svg/repaint/image-with-clip-path-expected.png:
* platform/mac/svg/text/append-text-node-to-tspan-expected.png:
* platform/mac/svg/text/modify-text-node-in-tspan-expected.png:
* platform/mac/svg/text/remove-text-node-from-tspan-expected.png:
* platform/mac/svg/text/remove-tspan-from-text-expected.png:
* platform/mac/svg/text/text-text-05-t-expected.png:
* platform/mac/svg/text/text-text-05-t-expected.txt:
* platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png:
* platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png:
* platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png:
* platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
* platform/mac/svg/zoom/page/zoom-foreignObject-expected.png:
* platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt:
* platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png:
* platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt:
* platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png:
* platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
* platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
* platform/mac/svg/zoom/page/zoom-svg-as-image-expected.png:
* platform/mac/svg/zoom/page/zoom-svg-as-object-expected.png:
* platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.png:
* 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/text/absolute-sized-document-no-scrollbars-expected.png:
* platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png:
* platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png:
* platform/mac/svg/zoom/text/zoom-foreignObject-expected.png:
* platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png:
* platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt:
* platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png:
* platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png:
* platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt:
* svg/as-background-image/animated-svg-as-background.html:
* svg/as-background-image/resources/animated-rect-relative-size.svg:
* svg/as-background-image/svg-as-background-5.html:
* svg/as-background-image/svg-background-partial-redraw.html:
* svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html:
* svg/as-image/animated-svg-as-image-same-image.html:
* svg/as-image/animated-svg-as-image.html:
* svg/as-image/resources/animated-rect-fixed-size-2.svg: Copied from LayoutTests/svg/as-image/resources/animated-rect-same-image.svg.
* svg/as-image/resources/animated-rect-fixed-size.svg:
* svg/as-image/resources/animated-rect-relative-size.svg:
* svg/as-image/resources/animated-rect-same-image.svg:
* svg/as-image/svg-image-change-content-size.xhtml:
* svg/as-object/embedded-svg-immediate-offsetWidth-query.html:
* svg/as-object/embedded-svg-size-changes-no-layout-triggers.html:
* svg/as-object/embedded-svg-size-changes.html:
* svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1.html:
* svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2.html:
* svg/as-object/nested-embedded-svg-size-changes.html:
* svg/as-object/resources/embedded-svg-size-changes-no-layout-triggers.svg:
* svg/as-object/resources/nested-embedded-svg-size-changes-target-no-layout-triggers-1.html:
* svg/carto.net/tabgroup.svg:
* svg/carto.net/window.svg:
* svg/css/shadow-changes.svg:
* svg/dom/SVGPathSegList-segment-modification.svg:
* svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml:
* svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml:
* svg/dom/SVGRectElement/rect-modify-rx.svg:
* svg/filters/animate-fill-expected.png:
* svg/filters/animate-fill.svg:
* svg/filters/feImage-reference-invalidation-expected.png:
* svg/filters/feImage-reference-invalidation.svg:
* svg/filters/feImage-target-add-to-document-expected.png:
* svg/filters/feImage-target-add-to-document.svg:
* svg/filters/feImage-target-changes-id-expected.png:
* svg/filters/feImage-target-changes-id.svg:
* svg/filters/feImage-target-id-change-expected.png:
* svg/filters/feImage-target-id-change.svg:
* svg/filters/feImage-target-reappend-to-document-expected.png:
* svg/filters/feImage-target-reappend-to-document.svg:
* svg/filters/feImage-target-remove-from-document-expected.png:
* svg/filters/feImage-target-remove-from-document.svg:
* svg/filters/filter-refresh.svg:
* svg/filters/filter-width-update.svg:
* svg/filters/invalidate-on-child-layout.svg:
* svg/hixie/perf/001.xml:
* svg/hixie/perf/002.xml:
* svg/hixie/perf/003.xml:
* svg/hixie/perf/004.xml:
* svg/hixie/perf/005.xml:
* svg/hixie/perf/006.xml:
* svg/hixie/perf/007.xml:
* svg/hixie/perf/resources/smallcats.gif: Added.
* svg/repaint/container-repaint-expected.png:
* svg/repaint/container-repaint.svg:
* svg/repaint/filter-child-repaint.svg:
* svg/repaint/image-href-change.svg:
* svg/repaint/image-with-clip-path.svg:
* svg/text/append-text-node-to-tspan.html:
* svg/text/modify-text-node-in-tspan.html:
* svg/text/remove-text-node-from-tspan.html:
* svg/text/remove-tspan-from-text.html:
* svg/text/text-text-05-t.svg:
* svg/transforms/animated-path-inside-transformed-html.xhtml:
* svg/zoom/page/absolute-sized-document-no-scrollbars.svg:
* svg/zoom/page/absolute-sized-document-scrollbars.svg:
* svg/zoom/page/relative-sized-document-scrollbars.svg:
* svg/zoom/page/zoom-background-image-tiled.html:
* svg/zoom/page/zoom-background-images.html:
* svg/zoom/page/zoom-coords-viewattr-01-b.svg:
* svg/zoom/page/zoom-foreignObject.svg:
* svg/zoom/page/zoom-getBoundingClientRect.xhtml:
* svg/zoom/page/zoom-hixie-mixed-008.xml:
* svg/zoom/page/zoom-hixie-mixed-009.xml:
* svg/zoom/page/zoom-hixie-rendering-model-004.xhtml:
* svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html:
* svg/zoom/page/zoom-mask-with-percentages.svg:
* svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm:
* svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox.html:
* svg/zoom/page/zoom-svg-as-background-with-relative-size.html:
* svg/zoom/page/zoom-svg-as-image.html:
* svg/zoom/page/zoom-svg-as-object.html:
* svg/zoom/page/zoom-svg-as-relative-image.html:
* svg/zoom/page/zoom-svg-float-border-padding.xml:
* svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml:
* svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml:
* svg/zoom/page/zoom-svg-through-object-with-auto-size.html:
* svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml:
* svg/zoom/page/zoom-svg-through-object-with-override-size.html:
* svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml:
* svg/zoom/page/zoom-svg-through-object-with-text.xhtml-disabled:
* svg/zoom/page/zoom-zoom-coords.xhtml:
* svg/zoom/resources/testPageZoom.js:
(repaintTest):
* svg/zoom/resources/testTextZoom.js:
(repaintTest):
* svg/zoom/text/absolute-sized-document-no-scrollbars.svg:
* svg/zoom/text/absolute-sized-document-scrollbars.svg:
* svg/zoom/text/relative-sized-document-scrollbars.svg:
* svg/zoom/text/zoom-coords-viewattr-01-b.svg:
* svg/zoom/text/zoom-foreignObject.svg:
* svg/zoom/text/zoom-hixie-mixed-008.xml:
* svg/zoom/text/zoom-hixie-mixed-009.xml:
* svg/zoom/text/zoom-hixie-rendering-model-004.xhtml:
* svg/zoom/text/zoom-svg-float-border-padding.xml:

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

183 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/repaint/resources/repaint.js
LayoutTests/platform/chromium/test_expectations.txt
LayoutTests/platform/mac/svg/as-background-image/animated-svg-as-background-expected.png
LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-expected.png
LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png
LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-same-image-expected.png
LayoutTests/platform/mac/svg/as-image/svg-image-change-content-size-expected.png
LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png
LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt
LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png
LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt
LayoutTests/platform/mac/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png
LayoutTests/platform/mac/svg/as-object/embedded-svg-size-changes-expected.png
LayoutTests/platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.png
LayoutTests/platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.txt
LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-expected.png
LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png
LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt
LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png
LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt
LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.png
LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.txt
LayoutTests/platform/mac/svg/carto.net/window-expected.png
LayoutTests/platform/mac/svg/carto.net/window-expected.txt
LayoutTests/platform/mac/svg/css/shadow-changes-expected.png
LayoutTests/platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png
LayoutTests/platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt
LayoutTests/platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png
LayoutTests/platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png
LayoutTests/platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.png
LayoutTests/platform/mac/svg/filters/filter-refresh-expected.png
LayoutTests/platform/mac/svg/filters/filter-width-update-expected.png
LayoutTests/platform/mac/svg/filters/filter-width-update-expected.txt
LayoutTests/platform/mac/svg/filters/invalidate-on-child-layout-expected.png
LayoutTests/platform/mac/svg/hixie/perf/001-expected.png
LayoutTests/platform/mac/svg/hixie/perf/002-expected.png
LayoutTests/platform/mac/svg/hixie/perf/003-expected.png
LayoutTests/platform/mac/svg/hixie/perf/003-expected.txt
LayoutTests/platform/mac/svg/hixie/perf/004-expected.png
LayoutTests/platform/mac/svg/hixie/perf/004-expected.txt
LayoutTests/platform/mac/svg/hixie/perf/005-expected.png
LayoutTests/platform/mac/svg/hixie/perf/005-expected.txt
LayoutTests/platform/mac/svg/hixie/perf/006-expected.png
LayoutTests/platform/mac/svg/hixie/perf/006-expected.txt
LayoutTests/platform/mac/svg/hixie/perf/007-expected.png
LayoutTests/platform/mac/svg/hixie/perf/007-expected.txt
LayoutTests/platform/mac/svg/repaint/filter-child-repaint-expected.png
LayoutTests/platform/mac/svg/repaint/image-href-change-expected.png
LayoutTests/platform/mac/svg/repaint/image-with-clip-path-expected.png
LayoutTests/platform/mac/svg/text/append-text-node-to-tspan-expected.png
LayoutTests/platform/mac/svg/text/modify-text-node-in-tspan-expected.png
LayoutTests/platform/mac/svg/text/remove-text-node-from-tspan-expected.png
LayoutTests/platform/mac/svg/text/remove-tspan-from-text-expected.png
LayoutTests/platform/mac/svg/text/text-text-05-t-expected.png
LayoutTests/platform/mac/svg/text/text-text-05-t-expected.txt
LayoutTests/platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png
LayoutTests/platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png
LayoutTests/platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-background-images-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt
LayoutTests/platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-image-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-object-expected.png
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.png
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/text/absolute-sized-document-no-scrollbars-expected.png
LayoutTests/platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png
LayoutTests/platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png
LayoutTests/platform/mac/svg/zoom/text/zoom-foreignObject-expected.png
LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png
LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt
LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png
LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png
LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt
LayoutTests/svg/as-background-image/animated-svg-as-background.html
LayoutTests/svg/as-background-image/resources/animated-rect-relative-size.svg
LayoutTests/svg/as-background-image/svg-as-background-5.html
LayoutTests/svg/as-background-image/svg-background-partial-redraw.html
LayoutTests/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
LayoutTests/svg/as-image/animated-svg-as-image-same-image.html
LayoutTests/svg/as-image/animated-svg-as-image.html
LayoutTests/svg/as-image/resources/animated-rect-fixed-size-2.svg [new file with mode: 0644]
LayoutTests/svg/as-image/resources/animated-rect-fixed-size.svg
LayoutTests/svg/as-image/resources/animated-rect-relative-size.svg
LayoutTests/svg/as-image/resources/animated-rect-same-image.svg
LayoutTests/svg/as-image/svg-image-change-content-size.xhtml
LayoutTests/svg/as-object/embedded-svg-immediate-offsetWidth-query.html
LayoutTests/svg/as-object/embedded-svg-size-changes-no-layout-triggers.html
LayoutTests/svg/as-object/embedded-svg-size-changes.html
LayoutTests/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1.html
LayoutTests/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2.html
LayoutTests/svg/as-object/nested-embedded-svg-size-changes.html
LayoutTests/svg/as-object/resources/embedded-svg-size-changes-no-layout-triggers.svg
LayoutTests/svg/as-object/resources/nested-embedded-svg-size-changes-target-no-layout-triggers-1.html
LayoutTests/svg/carto.net/tabgroup.svg
LayoutTests/svg/carto.net/window.svg
LayoutTests/svg/css/shadow-changes.svg
LayoutTests/svg/dom/SVGPathSegList-segment-modification.svg
LayoutTests/svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml
LayoutTests/svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml
LayoutTests/svg/dom/SVGRectElement/rect-modify-rx.svg
LayoutTests/svg/filters/animate-fill-expected.png
LayoutTests/svg/filters/animate-fill.svg
LayoutTests/svg/filters/feImage-reference-invalidation-expected.png
LayoutTests/svg/filters/feImage-reference-invalidation.svg
LayoutTests/svg/filters/feImage-target-add-to-document-expected.png
LayoutTests/svg/filters/feImage-target-add-to-document.svg
LayoutTests/svg/filters/feImage-target-changes-id-expected.png
LayoutTests/svg/filters/feImage-target-changes-id.svg
LayoutTests/svg/filters/feImage-target-id-change-expected.png
LayoutTests/svg/filters/feImage-target-id-change.svg
LayoutTests/svg/filters/feImage-target-reappend-to-document-expected.png
LayoutTests/svg/filters/feImage-target-reappend-to-document.svg
LayoutTests/svg/filters/feImage-target-remove-from-document-expected.png
LayoutTests/svg/filters/feImage-target-remove-from-document.svg
LayoutTests/svg/filters/filter-refresh.svg
LayoutTests/svg/filters/filter-width-update.svg
LayoutTests/svg/filters/invalidate-on-child-layout.svg
LayoutTests/svg/hixie/perf/001.xml
LayoutTests/svg/hixie/perf/002.xml
LayoutTests/svg/hixie/perf/003.xml
LayoutTests/svg/hixie/perf/004.xml
LayoutTests/svg/hixie/perf/005.xml
LayoutTests/svg/hixie/perf/006.xml
LayoutTests/svg/hixie/perf/007.xml
LayoutTests/svg/hixie/perf/resources/smallcats.gif [new file with mode: 0644]
LayoutTests/svg/repaint/container-repaint-expected.png
LayoutTests/svg/repaint/container-repaint.svg
LayoutTests/svg/repaint/filter-child-repaint.svg
LayoutTests/svg/repaint/image-href-change.svg
LayoutTests/svg/repaint/image-with-clip-path.svg
LayoutTests/svg/text/append-text-node-to-tspan.html
LayoutTests/svg/text/modify-text-node-in-tspan.html
LayoutTests/svg/text/remove-text-node-from-tspan.html
LayoutTests/svg/text/remove-tspan-from-text.html
LayoutTests/svg/text/text-text-05-t.svg
LayoutTests/svg/transforms/animated-path-inside-transformed-html.xhtml
LayoutTests/svg/zoom/page/absolute-sized-document-no-scrollbars.svg
LayoutTests/svg/zoom/page/absolute-sized-document-scrollbars.svg
LayoutTests/svg/zoom/page/relative-sized-document-scrollbars.svg
LayoutTests/svg/zoom/page/zoom-background-image-tiled.html
LayoutTests/svg/zoom/page/zoom-background-images.html
LayoutTests/svg/zoom/page/zoom-coords-viewattr-01-b.svg
LayoutTests/svg/zoom/page/zoom-foreignObject.svg
LayoutTests/svg/zoom/page/zoom-getBoundingClientRect.xhtml
LayoutTests/svg/zoom/page/zoom-hixie-mixed-008.xml
LayoutTests/svg/zoom/page/zoom-hixie-mixed-009.xml
LayoutTests/svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
LayoutTests/svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
LayoutTests/svg/zoom/page/zoom-mask-with-percentages.svg
LayoutTests/svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm
LayoutTests/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox.html
LayoutTests/svg/zoom/page/zoom-svg-as-background-with-relative-size.html
LayoutTests/svg/zoom/page/zoom-svg-as-image.html
LayoutTests/svg/zoom/page/zoom-svg-as-object.html
LayoutTests/svg/zoom/page/zoom-svg-as-relative-image.html
LayoutTests/svg/zoom/page/zoom-svg-float-border-padding.xml
LayoutTests/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
LayoutTests/svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
LayoutTests/svg/zoom/page/zoom-svg-through-object-with-auto-size.html
LayoutTests/svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml
LayoutTests/svg/zoom/page/zoom-svg-through-object-with-override-size.html
LayoutTests/svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
LayoutTests/svg/zoom/page/zoom-svg-through-object-with-text.xhtml-disabled
LayoutTests/svg/zoom/page/zoom-zoom-coords.xhtml
LayoutTests/svg/zoom/resources/testPageZoom.js
LayoutTests/svg/zoom/resources/testTextZoom.js
LayoutTests/svg/zoom/text/absolute-sized-document-no-scrollbars.svg
LayoutTests/svg/zoom/text/absolute-sized-document-scrollbars.svg
LayoutTests/svg/zoom/text/relative-sized-document-scrollbars.svg
LayoutTests/svg/zoom/text/zoom-coords-viewattr-01-b.svg
LayoutTests/svg/zoom/text/zoom-foreignObject.svg
LayoutTests/svg/zoom/text/zoom-hixie-mixed-008.xml
LayoutTests/svg/zoom/text/zoom-hixie-mixed-009.xml
LayoutTests/svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
LayoutTests/svg/zoom/text/zoom-svg-float-border-padding.xml

index a6c1f7a..9ff0ff8 100644 (file)
@@ -1,3 +1,255 @@
+2012-02-05  Nikolas Zimmermann  <nzimmermann@rim.com>
+
+        Rewrite SVG tests to make extensive use of display() in repaint tests
+        https://bugs.webkit.org/show_bug.cgi?id=77736
+
+        Reviewed by Andreas Kling.
+
+        Convert all tests in svg/ (except svg/custom & svg/dynamic-updates) that exercise repainting to use the
+        fast/repaint/resources/repaint.js harness, which forces a layout, and calls layoutTestController.display()
+        before executing the actual repaint test, so that repaint rectangles are properly tracked and shown (white
+        areas that are redrawn, on top of the gray background, painted over the web view after the initial painting).
+
+        Previously SVG tests used to work like this: (using an HTML example, but it doesn't matter)
+        <html><body><svg><rect/><script>function change() { rect.setAttribute(...); layoutTestController.notifyDone(); } setTimeout(change, 0); </script></svg></body></html>
+
+        We expected that the initial painting was done, before change() as called. This is unreliable for various reasons:
+        - the timeout is not guaranteed to fire after the document loaded, it may happen inbetween on eg. a slow connection.
+        - nor is it guaranteed that the document has painted initially before we enter change().
+          This leads to the current regressions -- if we break repainting, we can't see it in the current layout tests, as the
+          initial painting always happens after change() executed in trunk, at least on a fast machine.
+
+        In order to make repaint testing reliable we have to use following scheme:
+        <html><body onload="runRepaintTest()"><svg><rect/><script>function repaintTest() { rect.setAttribute(...); }</script></svg></body></html>
+
+        runRepaintTest() is provided by the repaint.js harness and does:
+        if (window.layoutTestController) {
+            document.body.offsetTop;
+            layoutTestController.display();
+            repaintTest();
+        } else {
+            setTimeout(repaintTest, 100);
+        }
+
+        Using this harness outside of DRT allows to test SVG repainting tests in the browser as well, as the repainting changes
+        aren't immediately fired (0ms timer) but instead delayed by 100ms, so a visual "flash" is visible, if something changes.
+        For DRT it does two things. First it forces Document::updateLayout() to be called, and then forces the web view to paint
+        immediately, and then it starts tracking any repaint rects, that are fired _after_ the initial painting, which are then
+        highlighted in the pixel test dump later on. Using display() is the only way to get reliable painting results across
+        DRT/WebKitTestRunner, and to get rid of the flakiness.
+
+        All *.xml/*.html/*.htm/*.xhtml tests which excersise repainting can be moved to use runRepaintTest() from repaint.js.
+        <body> needs to be changed to <body onload="runRepaintTest()">, and the timeouts & waitUntilDone/notifyDone calls can
+        be removed from the tests, leading to much nicer testcases, removing lots of boilerplate.
+
+        Pure *.svg tests unfortunately can't use <svg onload="runRepaintTest()"> at the moment, due timing differences between
+        the HTML load and the SVGLoad event, that's out of scope for this bug report. To remove any hacks from the testcases
+        themselves, I centralized following work-around in a new function in repaint.js, and let all *.svg tests use it.
+
+        function runSVGRepaintTest() {
+            if (window.layoutTestController) {
+                layoutTestController.waitUntilDone();
+                setTimeout(runRepaintTest, 0);
+            } else
+                runRepaintTest();
+        }
+
+        runRepaintTest() has to be called from a timer at the moment, as the SVGLoad event fires earlier as HTML load event.
+        Before that is fixed, we have to use <svg onload="runSVGRepaintTest()"> instead of <svg onload="runRepaintTest()">
+        and append: layoutTestController.notifyDone() to the repaintTest() functions in the testcases. That should explain
+        the testcase differences between pure-SVG and non-pure-SVG tests, and why I treated them differently. This approach
+        is unfortunately as flakey as the old, so to make pure *.svg tests test repainting reliable, the bug needs to be fixed.
+
+        Note that svg/custom, and svg/dynamic-updates will be fixed in another chunk, as they also require large amounts
+        of rebaselines.
+
+        * fast/repaint/resources/repaint.js:
+        (runRepaintTest):
+        (runSVGRepaintTest):
+        * platform/chromium/test_expectations.txt:
+        * platform/mac/svg/as-background-image/animated-svg-as-background-expected.png:
+        * platform/mac/svg/as-image/animated-svg-as-image-expected.png:
+        * platform/mac/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png:
+        * platform/mac/svg/as-image/animated-svg-as-image-same-image-expected.png:
+        * platform/mac/svg/as-image/svg-image-change-content-size-expected.png:
+        * platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png:
+        * platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt:
+        * platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png:
+        * platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt:
+        * platform/mac/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png:
+        * platform/mac/svg/as-object/embedded-svg-size-changes-expected.png:
+        * platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.png:
+        * platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.txt:
+        * platform/mac/svg/as-object/nested-embedded-svg-size-changes-expected.png:
+        * platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png:
+        * platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt:
+        * platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png:
+        * platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt:
+        * platform/mac/svg/carto.net/tabgroup-expected.png:
+        * platform/mac/svg/carto.net/tabgroup-expected.txt:
+        * platform/mac/svg/carto.net/window-expected.png:
+        * platform/mac/svg/carto.net/window-expected.txt:
+        * platform/mac/svg/css/shadow-changes-expected.png:
+        * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png:
+        * platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.txt:
+        * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png:
+        * platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png:
+        * platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.png:
+        * platform/mac/svg/filters/filter-refresh-expected.png:
+        * platform/mac/svg/filters/filter-width-update-expected.png:
+        * platform/mac/svg/filters/filter-width-update-expected.txt:
+        * platform/mac/svg/filters/invalidate-on-child-layout-expected.png:
+        * platform/mac/svg/hixie/perf/001-expected.png:
+        * platform/mac/svg/hixie/perf/002-expected.png:
+        * platform/mac/svg/hixie/perf/003-expected.png:
+        * platform/mac/svg/hixie/perf/003-expected.txt:
+        * platform/mac/svg/hixie/perf/004-expected.png:
+        * platform/mac/svg/hixie/perf/004-expected.txt:
+        * platform/mac/svg/hixie/perf/005-expected.png:
+        * platform/mac/svg/hixie/perf/005-expected.txt:
+        * platform/mac/svg/hixie/perf/006-expected.png:
+        * platform/mac/svg/hixie/perf/006-expected.txt:
+        * platform/mac/svg/hixie/perf/007-expected.png:
+        * platform/mac/svg/hixie/perf/007-expected.txt:
+        * platform/mac/svg/repaint/filter-child-repaint-expected.png:
+        * platform/mac/svg/repaint/image-href-change-expected.png:
+        * platform/mac/svg/repaint/image-with-clip-path-expected.png:
+        * platform/mac/svg/text/append-text-node-to-tspan-expected.png:
+        * platform/mac/svg/text/modify-text-node-in-tspan-expected.png:
+        * platform/mac/svg/text/remove-text-node-from-tspan-expected.png:
+        * platform/mac/svg/text/remove-tspan-from-text-expected.png:
+        * platform/mac/svg/text/text-text-05-t-expected.png:
+        * platform/mac/svg/text/text-text-05-t-expected.txt:
+        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png:
+        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png:
+        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png:
+        * platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.png:
+        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png:
+        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt:
+        * platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png:
+        * platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png:
+        * platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
+        * platform/mac/svg/zoom/page/zoom-svg-as-image-expected.png:
+        * platform/mac/svg/zoom/page/zoom-svg-as-object-expected.png:
+        * platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.png:
+        * 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/text/absolute-sized-document-no-scrollbars-expected.png:
+        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png:
+        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png:
+        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.png:
+        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png:
+        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt:
+        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png:
+        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png:
+        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt:
+        * svg/as-background-image/animated-svg-as-background.html:
+        * svg/as-background-image/resources/animated-rect-relative-size.svg:
+        * svg/as-background-image/svg-as-background-5.html:
+        * svg/as-background-image/svg-background-partial-redraw.html:
+        * svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html:
+        * svg/as-image/animated-svg-as-image-same-image.html:
+        * svg/as-image/animated-svg-as-image.html:
+        * svg/as-image/resources/animated-rect-fixed-size-2.svg: Copied from LayoutTests/svg/as-image/resources/animated-rect-same-image.svg.
+        * svg/as-image/resources/animated-rect-fixed-size.svg:
+        * svg/as-image/resources/animated-rect-relative-size.svg:
+        * svg/as-image/resources/animated-rect-same-image.svg:
+        * svg/as-image/svg-image-change-content-size.xhtml:
+        * svg/as-object/embedded-svg-immediate-offsetWidth-query.html:
+        * svg/as-object/embedded-svg-size-changes-no-layout-triggers.html:
+        * svg/as-object/embedded-svg-size-changes.html:
+        * svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1.html:
+        * svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2.html:
+        * svg/as-object/nested-embedded-svg-size-changes.html:
+        * svg/as-object/resources/embedded-svg-size-changes-no-layout-triggers.svg:
+        * svg/as-object/resources/nested-embedded-svg-size-changes-target-no-layout-triggers-1.html:
+        * svg/carto.net/tabgroup.svg:
+        * svg/carto.net/window.svg:
+        * svg/css/shadow-changes.svg:
+        * svg/dom/SVGPathSegList-segment-modification.svg:
+        * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml:
+        * svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml:
+        * svg/dom/SVGRectElement/rect-modify-rx.svg:
+        * svg/filters/animate-fill-expected.png:
+        * svg/filters/animate-fill.svg:
+        * svg/filters/feImage-reference-invalidation-expected.png:
+        * svg/filters/feImage-reference-invalidation.svg:
+        * svg/filters/feImage-target-add-to-document-expected.png:
+        * svg/filters/feImage-target-add-to-document.svg:
+        * svg/filters/feImage-target-changes-id-expected.png:
+        * svg/filters/feImage-target-changes-id.svg:
+        * svg/filters/feImage-target-id-change-expected.png:
+        * svg/filters/feImage-target-id-change.svg:
+        * svg/filters/feImage-target-reappend-to-document-expected.png:
+        * svg/filters/feImage-target-reappend-to-document.svg:
+        * svg/filters/feImage-target-remove-from-document-expected.png:
+        * svg/filters/feImage-target-remove-from-document.svg:
+        * svg/filters/filter-refresh.svg:
+        * svg/filters/filter-width-update.svg:
+        * svg/filters/invalidate-on-child-layout.svg:
+        * svg/hixie/perf/001.xml:
+        * svg/hixie/perf/002.xml:
+        * svg/hixie/perf/003.xml:
+        * svg/hixie/perf/004.xml:
+        * svg/hixie/perf/005.xml:
+        * svg/hixie/perf/006.xml:
+        * svg/hixie/perf/007.xml:
+        * svg/hixie/perf/resources/smallcats.gif: Added.
+        * svg/repaint/container-repaint-expected.png:
+        * svg/repaint/container-repaint.svg:
+        * svg/repaint/filter-child-repaint.svg:
+        * svg/repaint/image-href-change.svg:
+        * svg/repaint/image-with-clip-path.svg:
+        * svg/text/append-text-node-to-tspan.html:
+        * svg/text/modify-text-node-in-tspan.html:
+        * svg/text/remove-text-node-from-tspan.html:
+        * svg/text/remove-tspan-from-text.html:
+        * svg/text/text-text-05-t.svg:
+        * svg/transforms/animated-path-inside-transformed-html.xhtml:
+        * svg/zoom/page/absolute-sized-document-no-scrollbars.svg:
+        * svg/zoom/page/absolute-sized-document-scrollbars.svg:
+        * svg/zoom/page/relative-sized-document-scrollbars.svg:
+        * svg/zoom/page/zoom-background-image-tiled.html:
+        * svg/zoom/page/zoom-background-images.html:
+        * svg/zoom/page/zoom-coords-viewattr-01-b.svg:
+        * svg/zoom/page/zoom-foreignObject.svg:
+        * svg/zoom/page/zoom-getBoundingClientRect.xhtml:
+        * svg/zoom/page/zoom-hixie-mixed-008.xml:
+        * svg/zoom/page/zoom-hixie-mixed-009.xml:
+        * svg/zoom/page/zoom-hixie-rendering-model-004.xhtml:
+        * svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html:
+        * svg/zoom/page/zoom-mask-with-percentages.svg:
+        * svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm:
+        * svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox.html:
+        * svg/zoom/page/zoom-svg-as-background-with-relative-size.html:
+        * svg/zoom/page/zoom-svg-as-image.html:
+        * svg/zoom/page/zoom-svg-as-object.html:
+        * svg/zoom/page/zoom-svg-as-relative-image.html:
+        * svg/zoom/page/zoom-svg-float-border-padding.xml:
+        * svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml:
+        * svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml:
+        * svg/zoom/page/zoom-svg-through-object-with-auto-size.html:
+        * svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml:
+        * svg/zoom/page/zoom-svg-through-object-with-override-size.html:
+        * svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml:
+        * svg/zoom/page/zoom-svg-through-object-with-text.xhtml-disabled:
+        * svg/zoom/page/zoom-zoom-coords.xhtml:
+        * svg/zoom/resources/testPageZoom.js:
+        (repaintTest):
+        * svg/zoom/resources/testTextZoom.js:
+        (repaintTest):
+        * svg/zoom/text/absolute-sized-document-no-scrollbars.svg:
+        * svg/zoom/text/absolute-sized-document-scrollbars.svg:
+        * svg/zoom/text/relative-sized-document-scrollbars.svg:
+        * svg/zoom/text/zoom-coords-viewattr-01-b.svg:
+        * svg/zoom/text/zoom-foreignObject.svg:
+        * svg/zoom/text/zoom-hixie-mixed-008.xml:
+        * svg/zoom/text/zoom-hixie-mixed-009.xml:
+        * svg/zoom/text/zoom-hixie-rendering-model-004.xhtml:
+        * svg/zoom/text/zoom-svg-float-border-padding.xml:
+
 2012-02-07  Kaustubh Atrawalkar  <kaustubh@motorola.com>
 
         GTK & QT Rebaseline after r106912.
index c9a8873..3e8eab1 100644 (file)
@@ -1,10 +1,25 @@
 function runRepaintTest()
 {
     if (window.layoutTestController) {
-        document.body.offsetTop;
+        if (document.body)
+            document.body.offsetTop;
+        else if (document.rootElement)
+            document.rootElement.offsetTop;
+
         layoutTestController.display();
         repaintTest();
     } else {
         setTimeout(repaintTest, 100);
     }
 }
+
+function runSVGRepaintTest()
+{
+    // The SVG onload event is fired earlier than the HTML load event. To make display() reliable,
+    // call it from a timer, to simulate the same fire time as the HTML load event, until it's fixed.
+    if (window.layoutTestController) {
+        layoutTestController.waitUntilDone();
+        setTimeout(runRepaintTest, 0);
+    } else
+        runRepaintTest();
+}
index 2815996..3183b26 100644 (file)
@@ -944,8 +944,6 @@ BUGWK62974 LEOPARD : svg/batik/text/xmlSpace.svg = IMAGE
 BUGWK62974 : svg/text/text-altglyph-01-b.svg = IMAGE
 BUGWK62974 LINUX WIN : svg/text/text-text-04-t.svg = IMAGE+TEXT
 BUGWK62974 MAC : svg/text/text-text-04-t.svg = IMAGE
-BUGWK62974 LINUX WIN : svg/text/text-text-05-t.svg = IMAGE+TEXT
-BUGWK62974 MAC : svg/text/text-text-05-t.svg = IMAGE
 BUGWK62974 LINUX WIN : svg/text/text-text-06-t.svg = IMAGE+TEXT
 BUGWK62974 MAC : svg/text/text-text-06-t.svg = IMAGE
 BUGWK62974 LINUX WIN : svg/wicd/test-rightsizing-b.xhtml = IMAGE+TEXT
@@ -1580,7 +1578,6 @@ BUGCR99500 WIN : svg/text/textPathBoundsBug.svg = IMAGE
 BUGCR99500 WIN : svg/zoom/page/zoom-coords-viewattr-01-b.svg = IMAGE
 BUGCR99500 WIN : svg/zoom/page/zoom-hixie-mixed-008.xml = IMAGE
 BUGCR99500 WIN : svg/zoom/page/zoom-hixie-mixed-009.xml = IMAGE
-BUGCR99500 WIN : svg/zoom/text/zoom-coords-viewattr-01-b.svg = IMAGE
 BUGCR99500 WIN : svg/zoom/text/zoom-hixie-mixed-009.xml = IMAGE
 
 // Was flaky. Became a consistent failure.
@@ -2267,11 +2264,6 @@ BUGCR58212 WIN : http/tests/appcache/main-resource-redirect.html = PASS TIMEOUT
 
 BUGCR58257 WIN : http/tests/misc/last-modified-parsing.html = PASS TIMEOUT
 
-// Flaky because they snapshot and animation.
-// Started failing on Mac since 69314:69342.
-BUGCR10479 MAC WIN : svg/hixie/perf/001.xml = IMAGE IMAGE+TEXT
-BUGCR10479 MAC WIN : svg/hixie/perf/002.xml = IMAGE IMAGE+TEXT
-
 // FileWriter isn't in TestShell yet.
 BUGCR58587 SKIP : fast/filesystem/file-writer-gc-blob.html = FAIL
 
@@ -2845,7 +2837,6 @@ BUGCR78638 WIN : fast/frames/set-unloaded-frame-location.html = PASS CRASH
 BUGCR780807 : http/tests/misc/webtiming-origins.html = PASS TEXT
 
 BUGCR78835 : plugins/npp-set-window-called-during-destruction.html = TEXT
-BUGCR78988 LINUX : svg/zoom/text/absolute-sized-document-no-scrollbars.svg = PASS CRASH
 BUGCR78996 LINUX WIN DEBUG : fast/css/first-of-type-pseudo-class.html = PASS TEXT
 // http://trac.webkit.org/changeset/83411/ merged some frame tests into one.
 // The merged test is flaky on Chromium since then.
@@ -3511,8 +3502,6 @@ BUGWK71673 WIN LINUX : svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
 
 BUGWK71278 SLOW WIN : fast/events/dispatch-message-string-data.html = PASS
 
-BUGWK70044 : svg/filters/invalidate-on-child-layout.svg = TEXT IMAGE IMAGE+TEXT
-
 BUGWK71450 MAC DEBUG SLOW : fast/frames/valid.html = PASS
 BUGWK71451 SLOW : fast/frames/sandboxed-iframe-navigation-windowopen.html = PASS
 
@@ -3608,7 +3597,6 @@ BUGWK77110 WIN DEBUG : accessibility/loading-iframe-sends-notification.html = PA
 
 BUGWK73494 : svg/text/non-bmp-positioning-lists.svg = IMAGE+TEXT IMAGE
 BUGWK73494 : svg/as-image/svg-non-integer-scaled-image.html = IMAGE PASS
-BUGWK73494 DEBUG : svg/hixie/perf/007.xml = PASS TIMEOUT
 
 BUGWK73872 WIN : svg/custom/linking-uri-01-b.svg = PASS IMAGE TIMEOUT
 BUGWK73872 LINUX : svg/custom/linking-uri-01-b.svg = PASS TIMEOUT
@@ -3771,9 +3759,6 @@ BUGWK76050 WIN7 : fast/text/font-kerning.html = IMAGE
 // Started flaking presumably at http://trac.webkit.org/changeset/104368
 BUGWK76157 SNOWLEOPARD : compositing/geometry/limit-layer-bounds-transformed-overflow.html = PASS TEXT
 
-// Started failing between http://trac.webkit.org/changeset/104901 and http://trac.webkit.org/changeset/104910
-BUGWK76272 LEOPARD DEBUG : svg/dom/SVGPathSegList-segment-modification.svg = IMAGE+TEXT
-
 BUGWK76488 : css3/images/cross-fade-background-size.html = IMAGE IMAGE+TEXT
 
 BUGKW76557 : svg/custom/transform-with-shadow-and-gradient.svg = IMAGE
@@ -3802,15 +3787,10 @@ BUGCR110537 : inspector/protocol/runtime-agent.html = PASS TEXT TIMEOUT
 
 // SVG text layout optimizations: probably just need a rebaseline for chromium.
 // The MAC LINUX tests are disabled above for WIN (BUGCR99500).
-BUGWK65711 MAC LINUX : svg/carto.net/window.svg = IMAGE+TEXT IMAGE
-BUGWK65711 : svg/text/remove-tspan-from-text.html = IMAGE+TEXT IMAGE
 BUGWK65711 : svg/custom/use-detach.svg = IMAGE+TEXT IMAGE
 BUGWK65711 MAC LINUX : svg/custom/js-late-clipPath-and-object-creation.svg = IMAGE+TEXT IMAGE
 BUGWK65711 : svg/custom/js-late-gradient-and-object-creation.svg = IMAGE+TEXT IMAGE
-BUGWK65711 : svg/text/modify-text-node-in-tspan.html = IMAGE+TEXT IMAGE
-BUGWK65711 : svg/text/remove-text-node-from-tspan.html = IMAGE+TEXT IMAGE
 BUGWK65711 : svg/custom/js-late-pattern-and-object-creation.svg = IMAGE+TEXT IMAGE
-BUGWK65711 : svg/text/append-text-node-to-tspan.html = IMAGE+TEXT IMAGE
 
 BUGWK76727 : fast/multicol/span/span-as-immediate-child-property-removal.html = IMAGE+TEXT
 BUGWK76727 : fast/multicol/span/span-as-immediate-columns-child-removal.html = IMAGE+TEXT
@@ -3971,8 +3951,6 @@ BUGABARTH : fast/html/marquee-alternate.html = PASS TEXT
 BUGWK77047 WIN DEBUG : http/tests/workers/terminate-during-sync-operation.html = PASS TIMEOUT
 BUGWK77061 XP DEBUG : svg/custom/object-sizing-explicit-width.xhtml = PASS IMAGE+TEXT
 
-BUGWK77183 : svg/as-object/nested-embedded-svg-size-changes.html = PASS TIMEOUT
-
 BUGWK77188 MAC GPU : fast/canvas/gradient-add-second-start-end-stop.html = IMAGE
 
 BUGWK77303 : fast/js/reserved-words-strict.html = TEXT
@@ -4012,3 +3990,66 @@ BUGWK77620 DEBUG : fast/events/touch/basic-multi-touch-events.html = CRASH
 
 BUGWK77889 WIN DEBUG : fast/forms/listbox-clear-restore.html = PASS IMAGE
 BUGWK77889 LEOPARD SNOWLEOPARD DEBUG : fast/forms/listbox-clear-restore.html = PASS IMAGE
+// Lots of SVG tests now make use of layoutTestController.display().
+// Most noticeable changes should be gray rects over the view, highlighting the actual repaints.
+BUGWK77736 : svg/as-background-image/animated-svg-as-background.html = IMAGE
+BUGWK77736 : svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html = IMAGE
+BUGWK77736 MAC LINUX : svg/as-image/animated-svg-as-image-same-image.html = IMAGE
+BUGWK77736 MAC LINUX : svg/as-image/animated-svg-as-image.html = IMAGE
+BUGWK77736 : svg/as-image/svg-image-change-content-size.xhtml = IMAGE
+BUGWK77736 : svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html = IMAGE+TEXT
+BUGWK77736 : svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html = IMAGE+TEXT
+BUGWK77736 : svg/as-object/embedded-svg-immediate-offsetWidth-query.html = IMAGE
+BUGWK77736 : svg/as-object/embedded-svg-size-changes-no-layout-triggers.html = IMAGE+TEXT
+BUGWK77736 : svg/as-object/embedded-svg-size-changes.html = IMAGE
+BUGWK77736 : svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1.html = IMAGE+TEXT
+BUGWK77736 : svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2.html = IMAGE+TEXT
+BUGWK77736 : svg/as-object/nested-embedded-svg-size-changes.html = IMAGE
+BUGWK77736 : svg/carto.net/tabgroup.svg = IMAGE+TEXT
+BUGWK77736 MAC LINUX: svg/carto.net/window.svg = IMAGE+TEXT
+BUGWK77736 MAC LINUX : svg/css/shadow-changes.svg = IMAGE
+BUGWK77736 : svg/dom/SVGPathSegList-segment-modification.svg = IMAGE+TEXT
+BUGWK77736 : svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml = IMAGE
+BUGWK77736 : svg/dom/SVGPathSegList-xml-dom-synchronization2.xhtml = IMAGE
+BUGWK77736 : svg/dom/SVGRectElement/rect-modify-rx.svg = IMAGE
+BUGWK77736 : svg/filters/animate-fill.svg = IMAGE
+BUGWK77736 : svg/filters/filter-refresh.svg = IMAGE
+BUGWK77736 : svg/filters/filter-width-update.svg = IMAGE+TEXT
+BUGWK77736 : svg/filters/invalidate-on-child-layout.svg = IMAGE
+BUGWK77736 : svg/hixie/perf/001.xml = IMAGE
+BUGWK77736 : svg/hixie/perf/002.xml = IMAGE
+BUGWK77736 : svg/hixie/perf/003.xml = IMAGE+TEXT
+BUGWK77736 : svg/hixie/perf/004.xml = IMAGE+TEXT
+BUGWK77736 : svg/hixie/perf/005.xml = IMAGE+TEXT
+BUGWK77736 : svg/hixie/perf/006.xml = IMAGE+TEXT
+BUGWK77736 : svg/hixie/perf/007.xml = IMAGE+TEXT
+BUGWK77736 : svg/repaint/container-repaint.svg = IMAGE
+BUGWK77736 : svg/repaint/filter-child-repaint.svg = IMAGE
+BUGWK77736 : svg/repaint/image-with-clip-path.svg = IMAGE
+BUGWK77736 : svg/text/append-text-node-to-tspan.html = IMAGE
+BUGWK77736 : svg/text/modify-text-node-in-tspan.html = IMAGE
+BUGWK77736 : svg/text/remove-text-node-from-tspan.html = IMAGE
+BUGWK77736 : svg/text/remove-tspan-from-text.html = IMAGE
+BUGWK77736 MAC LINUX : svg/text/text-text-05-t.svg = IMAGE+TEXT
+BUGWK77736 : svg/transforms/animated-path-inside-transformed-html.xhtml = IMAGE
+BUGWK77736 : svg/zoom/page/absolute-sized-document-no-scrollbars.svg = IMAGE
+BUGWK77736 : svg/zoom/page/relative-sized-document-scrollbars.svg = IMAGE
+BUGWK77736 : svg/zoom/page/zoom-foreignObject.svg = IMAGE
+BUGWK77736 MAC LINUX : svg/zoom/page/zoom-hixie-mixed-008.xml = TEXT
+BUGWK77736 : svg/zoom/page/zoom-hixie-rendering-model-004.xhtml = IMAGE+TEXT
+BUGWK77736 : svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm = IMAGE
+BUGWK77736 : svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox.html = IMAGE
+BUGWK77736 : svg/zoom/page/zoom-svg-as-background-with-relative-size.html = IMAGE
+BUGWK77736 : svg/zoom/page/zoom-svg-as-image.html = IMAGE
+BUGWK77736 : svg/zoom/page/zoom-svg-as-object.html = IMAGE
+BUGWK77736 : svg/zoom/page/zoom-svg-as-relative-image.html = IMAGE
+BUGWK77736 : svg/zoom/page/zoom-svg-through-object-with-auto-size.html = TEXT
+BUGWK77736 : svg/zoom/page/zoom-svg-through-object-with-override-size.html = TEXT
+BUGWK77736 : svg/zoom/text/absolute-sized-document-no-scrollbars.svg = IMAGE
+BUGWK77736 : svg/zoom/text/absolute-sized-document-scrollbars.svg = IMAGE
+BUGWK77736 : svg/zoom/text/relative-sized-document-scrollbars.svg = IMAGE
+BUGWK77736 : svg/zoom/text/zoom-coords-viewattr-01-b.svg = IMAGE+TEXT
+BUGWK77736 : svg/zoom/text/zoom-foreignObject.svg = IMAGE
+BUGWK77736 : svg/zoom/text/zoom-hixie-mixed-008.xml = IMAGE+TEXT
+BUGWK77736 MAC WIN : svg/zoom/text/zoom-hixie-mixed-009.xml = IMAGE
+BUGWK77736 : svg/zoom/text/zoom-hixie-rendering-model-004.xhtml = IMAGE+TEXT
index f12f870..3843f50 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-background-image/animated-svg-as-background-expected.png and b/LayoutTests/platform/mac/svg/as-background-image/animated-svg-as-background-expected.png differ
index e7757f6..336be30 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-expected.png and b/LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-expected.png differ
index 2c37163..cdac06b 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png and b/LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size-expected.png differ
index e7757f6..336be30 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-same-image-expected.png and b/LayoutTests/platform/mac/svg/as-image/animated-svg-as-image-same-image-expected.png differ
index f83213a..2f85884 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-image/svg-image-change-content-size-expected.png and b/LayoutTests/platform/mac/svg/as-image/svg-image-change-content-size-expected.png differ
index 0fc13ea..99134c0 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png and b/LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png differ
index 647ce6f..f21f9a3 100644 (file)
@@ -24,5 +24,4 @@ layer at (0,0) size 800x600
                             RenderSVGRect {rect} at (210,10) size 180x180 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=180.00] [height=180.00]
                       RenderText {#text} at (0,0) size 0x0
               RenderText {#text} at (0,0) size 0x0
-              RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
index 0fc13ea..99134c0 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png and b/LayoutTests/platform/mac/svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png differ
index 647ce6f..f21f9a3 100644 (file)
@@ -24,5 +24,4 @@ layer at (0,0) size 800x600
                             RenderSVGRect {rect} at (210,10) size 180x180 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=180.00] [height=180.00]
                       RenderText {#text} at (0,0) size 0x0
               RenderText {#text} at (0,0) size 0x0
-              RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
index 1f98142..934f91a 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png and b/LayoutTests/platform/mac/svg/as-object/embedded-svg-immediate-offsetWidth-query-expected.png differ
index 5c8f171..0920876 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/embedded-svg-size-changes-expected.png and b/LayoutTests/platform/mac/svg/as-object/embedded-svg-size-changes-expected.png differ
index d513ea8..89e0e69 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.png and b/LayoutTests/platform/mac/svg/as-object/embedded-svg-size-changes-no-layout-triggers-expected.png differ
index 118b943..d95c106 100644 (file)
@@ -11,4 +11,3 @@ layer at (0,0) size 800x600
             RenderSVGRect {rect} at (10,10) size 180x180 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=180.00] [height=180.00]
             RenderSVGRect {rect} at (210,10) size 180x180 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=180.00] [height=180.00]
       RenderText {#text} at (0,0) size 0x0
-      RenderText {#text} at (0,0) size 0x0
index ee042d3..d0e728c 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-expected.png and b/LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-expected.png differ
index d513ea8..89e0e69 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png and b/LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.png differ
index 06e40e4..2bab5bb 100644 (file)
@@ -18,4 +18,3 @@ layer at (0,0) size 800x600
                     RenderSVGRect {rect} at (210,10) size 180x180 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=180.00] [height=180.00]
               RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
-      RenderText {#text} at (0,0) size 0x0
index d513ea8..89e0e69 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png and b/LayoutTests/platform/mac/svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.png differ
index 06e40e4..2bab5bb 100644 (file)
@@ -18,4 +18,3 @@ layer at (0,0) size 800x600
                     RenderSVGRect {rect} at (210,10) size 180x180 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}] [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=180.00] [height=180.00]
               RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
-      RenderText {#text} at (0,0) size 0x0
index 14ce185..0d4bd9b 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.png and b/LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.png differ
index 748398c..e6f2d0b 100644 (file)
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 0x0
-    RenderSVGContainer {g} at (0,0) size 0x0 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(250.00,10.00)}]
-    RenderSVGContainer {g} at (0,0) size 0x0
-    RenderSVGContainer {g} at (0,0) size 0x0
-    RenderSVGContainer {g} at (0,0) size 0x0
-    RenderSVGContainer {g} at (0,0) size 0x0 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(727.49,-171.75)}]
-    RenderSVGHiddenContainer {g} at (0,0) size 0x0
-      RenderSVGRect {rect} at (30,148) size 174x95 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x=40.00] [y=190.00] [width=220.00] [height=120.00]
-      RenderSVGRect {rect} at (31,146) size 172x96 [fill={[type=SOLID] [color=#F0F8FF]}] [x=40.50] [y=188.00] [width=219.00] [height=121.50]
-      RenderSVGRect {rect} at (23,146) size 188x10 [fill={[type=SOLID] [color=#F0F8FF]}] [x=30.00] [y=188.00] [width=240.00] [height=11.50]
-      RenderSVGText {text} at (10,44) size 191x28 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 191x13
-          chunk 1 text run 1 at (10.00,55.00) startOffset 0 endOffset 36 width 190.72: "This is oversize content that can be"
-        RenderSVGTSpan {tspan} at (0,0) size 114x13
-          RenderSVGInlineText {#text} at (0,15) size 114x13
-            chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 20 width 113.92: "hidden on tab-change"
+  RenderSVGRoot {svg} at (7,7) size 736x573
+    RenderSVGContainer {g} at (38,7) size 158x236 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(250.00,10.00)}]
+      RenderSVGContainer {g} at (38,7) size 158x236
+        RenderSVGContainer {g} at (38,7) size 158x236
+          RenderSVGPath {path} at (38,7) size 158x236 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 0 0 L 76 0 L 76 20 L 300 20 L 300 200 L 0 200 Z"]
+          RenderSVGPath {path} at (179,7) size 17x61 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 0 0 L 76 0 L 76 20 L 0 20 Z"]
+          RenderSVGText {text} at (5,1) size 66x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 66x17
+              RenderSVGInlineText {#text} at (0,0) size 66x17
+                chunk 1 text run 1 at (5.00,15.00) startOffset 0 endOffset 9 width 66.00: "Biography"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (38,7) size 158x236
+          RenderSVGPath {path} at (38,7) size 158x236 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 147 0 L 203 0 L 203 20 L 300 20 L 300 200 L 0 200 L 0 20 L 147 20 Z"]
+          RenderSVGPath {path} at (179,122) size 17x45 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 147 0 L 203 0 L 203 20 L 147 20 Z"]
+          RenderSVGText {text} at (152,1) size 46x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 46x17
+              RenderSVGInlineText {#text} at (0,0) size 46x17
+                chunk 1 text run 1 at (152.00,15.00) startOffset 0 endOffset 6 width 46.00: "Events"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (38,7) size 158x236
+          RenderSVGPath {path} at (38,7) size 158x236 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 203 0 L 260 0 L 260 20 L 300 20 L 300 200 L 0 200 L 0 20 L 203 20 Z"]
+          RenderSVGPath {path} at (179,166) size 17x46 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 203 0 L 260 0 L 260 20 L 203 20 Z"]
+          RenderSVGText {text} at (208,1) size 47x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 47x17
+              RenderSVGInlineText {#text} at (0,0) size 47x17
+                chunk 1 text run 1 at (208.00,15.00) startOffset 0 endOffset 8 width 47.00: "Portrait"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (38,7) size 158x236
+          RenderSVGPath {path} at (38,7) size 158x236 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 76 0 L 147 0 L 147 20 L 300 20 L 300 200 L 0 200 L 0 20 L 76 20 Z"]
+          RenderSVGPath {path} at (179,66) size 17x58 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#BFE9FF]}] [data="M 76 0 L 147 0 L 147 20 L 76 20 Z"]
+          RenderSVGText {text} at (81,1) size 61x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 61x17
+              RenderSVGInlineText {#text} at (0,0) size 61x17
+                chunk 1 text run 1 at (81.00,15.00) startOffset 0 endOffset 9 width 61.00: "Relations"
+          RenderSVGContainer {g} at (0,0) size 0x0
+    RenderSVGContainer {g} at (7,257) size 236x158
+      RenderSVGContainer {g} at (7,257) size 236x158 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,330.00)}]
+        RenderSVGContainer {g} at (7,257) size 236x158
+          RenderSVGPath {path} at (7,257) size 236x158 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 66 5 L 71 0 L 137 0 L 142 5 L 142 35 L 300 35 L 300 200 L 0 200 L 0 35 L 66 35 Z"]
+          RenderSVGPath {path} at (58,257) size 62x29 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 66 5 L 71 0 L 137 0 L 142 5 L 142 35 L 66 35 Z"]
+          RenderSVGText {text} at (38,1) size 65x34 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 65x17
+              RenderSVGInlineText {#text} at (0,0) size 65x17
+                chunk 1 (middle anchor) text run 1 at (38.50,15.00) startOffset 0 endOffset 8 width 65.00: "Download"
+            RenderSVGTSpan {tspan} at (0,0) size 41x18
+              RenderSVGInlineText {#text} at (12,16) size 41x17
+                chunk 1 (middle anchor) text run 1 at (50.50,31.50) startOffset 0 endOffset 6 width 41.00: "Folder"
+          RenderSVGHiddenContainer {g} at (0,0) size 0x0
+            RenderSVGHiddenContainer {g} at (0,0) size 0x0
+              RenderSVGRect {rect} at (38,405) size 174x96 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x=40.00] [y=190.00] [width=220.00] [height=120.00]
+              RenderSVGRect {rect} at (39,404) size 172x96 [fill={[type=SOLID] [color=#F0F8FF]}] [x=40.50] [y=188.00] [width=219.00] [height=121.50]
+              RenderSVGRect {rect} at (31,404) size 188x10 [fill={[type=SOLID] [color=#F0F8FF]}] [x=30.00] [y=188.00] [width=240.00] [height=11.50]
+              RenderSVGText {text} at (10,44) size 190x29 contains 1 chunk(s)
+                RenderSVGInlineText {#text} at (0,0) size 190x14
+                  chunk 1 text run 1 at (10.00,55.00) startOffset 0 endOffset 36 width 190.00: "This is oversize content that can be"
+                RenderSVGTSpan {tspan} at (0,0) size 120x14
+                  RenderSVGInlineText {#text} at (0,15) size 120x14
+                    chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 20 width 120.00: "hidden on tab-change"
+        RenderSVGContainer {g} at (7,257) size 236x158
+          RenderSVGPath {path} at (7,257) size 236x158 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 142 5 L 147 0 L 201 0 L 206 5 L 206 35 L 300 35 L 300 200 L 0 200 L 0 35 L 142 35 Z"]
+          RenderSVGPath {path} at (118,257) size 52x29 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 142 5 L 147 0 L 201 0 L 206 5 L 206 35 L 142 35 Z"]
+          RenderSVGText {text} at (120,1) size 54x34 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 32x17
+              RenderSVGInlineText {#text} at (11,0) size 31x17
+                chunk 1 (middle anchor) text run 1 at (131.50,15.00) startOffset 0 endOffset 4 width 31.00: "Your"
+            RenderSVGTSpan {tspan} at (0,0) size 54x18
+              RenderSVGInlineText {#text} at (0,16) size 54x17
+                chunk 1 (middle anchor) text run 1 at (120.00,31.50) startOffset 0 endOffset 7 width 54.00: "Account"
+          RenderSVGHiddenContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (7,257) size 236x158
+          RenderSVGPath {path} at (7,257) size 236x158 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 206 5 L 211 0 L 249 0 L 254 5 L 254 35 L 300 35 L 300 200 L 0 200 L 0 35 L 206 35 Z"]
+          RenderSVGPath {path} at (168,257) size 39x29 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 206 5 L 211 0 L 249 0 L 254 5 L 254 35 L 206 35 Z"]
+          RenderSVGText {text} at (192,1) size 38x34 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 30x17
+              RenderSVGInlineText {#text} at (4,0) size 30x17
+                chunk 1 (middle anchor) text run 1 at (196.00,15.00) startOffset 0 endOffset 4 width 30.00: "Help"
+            RenderSVGTSpan {tspan} at (0,0) size 38x18
+              RenderSVGInlineText {#text} at (0,16) size 38x17
+                chunk 1 (middle anchor) text run 1 at (192.00,31.50) startOffset 0 endOffset 6 width 38.00: "& Info"
+          RenderSVGHiddenContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (7,257) size 236x158
+          RenderSVGPath {path} at (7,257) size 236x158 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 0 5 L 5 0 L 61 0 L 66 5 L 66 35 L 300 35 L 300 200 L 0 200 Z"]
+          RenderSVGPath {path} at (7,257) size 53x29 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#BFE9FF]}] [data="M 0 5 L 5 0 L 61 0 L 66 5 L 66 35 L 0 35 Z"]
+          RenderSVGText {text} at (-23,1) size 56x34 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 56x17
+              RenderSVGInlineText {#text} at (0,0) size 56x17
+                chunk 1 (middle anchor) text run 1 at (-23.00,15.00) startOffset 0 endOffset 7 width 56.00: "Geodata"
+            RenderSVGTSpan {tspan} at (0,0) size 56x18
+              RenderSVGInlineText {#text} at (0,16) size 55x17
+                chunk 1 (middle anchor) text run 1 at (-22.50,31.50) startOffset 0 endOffset 7 width 55.00: "Browser"
+          RenderSVGContainer {g} at (15,292) size 215x35
+            RenderSVGText {text} at (10,44) size 274x44 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 241x14
+                chunk 1 text run 1 at (10.00,55.00) startOffset 0 endOffset 46 width 241.00: "This is a tabgroup with triangular tab corners"
+              RenderSVGTSpan {tspan} at (0,0) size 274x14
+                RenderSVGInlineText {#text} at (0,15) size 274x14
+                  chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 53 width 274.00: "and a double line tab. (use \"\\n\" as a line separator)"
+              RenderSVGTSpan {tspan} at (0,0) size 255x14
+                RenderSVGInlineText {#text} at (0,30) size 255x14
+                  chunk 1 text run 1 at (10.00,85.00) startOffset 0 endOffset 47 width 255.00: "Click on the second tab to see oversize content"
+    RenderSVGContainer {g} at (507,233) size 236x159
+      RenderSVGContainer {g} at (507,233) size 236x159 [transform={m=((1.00,0.00)(0.00,1.00)) t=(650.00,300.00)}]
+        RenderSVGContainer {g} at (507,233) size 236x159
+          RenderSVGPath {path} at (507,233) size 236x159 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 0 0 L 71 0 L 76 5 L 76 20 L 300 20 L 300 200 L 0 200 Z"]
+          RenderSVGPath {path} at (507,233) size 61x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 0 0 L 71 0 L 76 5 L 76 20 L 0 20 Z"]
+          RenderSVGText {text} at (5,1) size 66x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 66x17
+              RenderSVGInlineText {#text} at (0,0) size 66x17
+                chunk 1 text run 1 at (5.00,15.00) startOffset 0 endOffset 9 width 66.00: "Biography"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (507,233) size 236x159
+          RenderSVGPath {path} at (507,233) size 236x159 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 76 0 L 142 0 L 147 5 L 147 20 L 300 20 L 300 200 L 0 200 L 0 20 L 76 20 Z"]
+          RenderSVGPath {path} at (566,233) size 58x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 76 0 L 142 0 L 147 5 L 147 20 L 76 20 Z"]
+          RenderSVGText {text} at (81,1) size 61x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 61x17
+              RenderSVGInlineText {#text} at (0,0) size 61x17
+                chunk 1 text run 1 at (81.00,15.00) startOffset 0 endOffset 9 width 61.00: "Relations"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (507,233) size 236x159
+          RenderSVGPath {path} at (507,233) size 236x159 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 203 0 L 255 0 L 260 5 L 260 20 L 300 20 L 300 200 L 0 200 L 0 20 L 203 20 Z"]
+          RenderSVGPath {path} at (666,233) size 46x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 203 0 L 255 0 L 260 5 L 260 20 L 203 20 Z"]
+          RenderSVGText {text} at (208,1) size 47x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 47x17
+              RenderSVGInlineText {#text} at (0,0) size 47x17
+                chunk 1 text run 1 at (208.00,15.00) startOffset 0 endOffset 8 width 47.00: "Portrait"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (507,233) size 236x159
+          RenderSVGPath {path} at (507,233) size 236x159 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 147 0 L 198 0 L 203 5 L 203 20 L 300 20 L 300 200 L 0 200 L 0 20 L 147 20 Z"]
+          RenderSVGPath {path} at (622,233) size 45x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#BFE9FF]}] [data="M 147 0 L 198 0 L 203 5 L 203 20 L 147 20 Z"]
+          RenderSVGText {text} at (152,1) size 46x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 46x17
+              RenderSVGInlineText {#text} at (0,0) size 46x17
+                chunk 1 text run 1 at (152.00,15.00) startOffset 0 endOffset 6 width 46.00: "Events"
+          RenderSVGContainer {g} at (0,0) size 0x0
+    RenderSVGContainer {g} at (390,38) size 314x80
+      RenderSVGContainer {g} at (390,38) size 314x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(500.00,50.00)}]
+        RenderSVGContainer {g} at (390,38) size 314x80
+          RenderSVGPath {path} at (390,38) size 314x80 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 0 5 C -5.96046e-7 2.23858 2.23858 -3.29297e-8 5 0 L 71 0 C 73.7614 0 76 2.23858 76 5 L 76 20 L 400 20 L 400 100 L 0 100 Z"]
+          RenderSVGPath {path} at (390,38) size 61x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 0 5 C -5.96046e-7 2.23858 2.23858 -3.29297e-8 5 0 L 71 0 C 73.7614 0 76 2.23858 76 5 L 76 20 L 0 20 Z"]
+          RenderSVGText {text} at (5,1) size 66x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 66x17
+              RenderSVGInlineText {#text} at (0,0) size 66x17
+                chunk 1 text run 1 at (5.00,15.00) startOffset 0 endOffset 9 width 66.00: "Biography"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (390,38) size 314x80
+          RenderSVGPath {path} at (390,38) size 314x80 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 147 5 C 147 2.23858 149.239 -3.29297e-8 152 0 L 198 0 C 200.761 0 203 2.23858 203 5 L 203 20 L 400 20 L 400 100 L 0 100 L 0 20 L 147 20 Z"]
+          RenderSVGPath {path} at (505,38) size 45x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 147 5 C 147 2.23858 149.239 -3.29297e-8 152 0 L 198 0 C 200.761 0 203 2.23858 203 5 L 203 20 L 147 20 Z"]
+          RenderSVGText {text} at (152,1) size 46x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 46x17
+              RenderSVGInlineText {#text} at (0,0) size 46x17
+                chunk 1 text run 1 at (152.00,15.00) startOffset 0 endOffset 6 width 46.00: "Events"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (390,38) size 314x80
+          RenderSVGPath {path} at (390,38) size 314x80 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 203 5 C 203 2.23858 205.239 -3.29297e-8 208 0 L 255 0 C 257.761 0 260 2.23858 260 5 L 260 20 L 400 20 L 400 100 L 0 100 L 0 20 L 203 20 Z"]
+          RenderSVGPath {path} at (548,38) size 47x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 203 5 C 203 2.23858 205.239 -3.29297e-8 208 0 L 255 0 C 257.761 0 260 2.23858 260 5 L 260 20 L 203 20 Z"]
+          RenderSVGText {text} at (208,1) size 47x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 47x17
+              RenderSVGInlineText {#text} at (0,0) size 47x17
+                chunk 1 text run 1 at (208.00,15.00) startOffset 0 endOffset 8 width 47.00: "Portrait"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (390,38) size 314x80
+          RenderSVGPath {path} at (390,38) size 314x80 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 76 5 C 76 2.23858 78.2386 -3.29297e-8 81 0 L 142 0 C 144.761 0 147 2.23858 147 5 L 147 20 L 400 20 L 400 100 L 0 100 L 0 20 L 76 20 Z"]
+          RenderSVGPath {path} at (449,38) size 57x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#BFE9FF]}] [data="M 76 5 C 76 2.23858 78.2386 -3.29297e-8 81 0 L 142 0 C 144.761 0 147 2.23858 147 5 L 147 20 L 76 20 Z"]
+          RenderSVGText {text} at (81,1) size 61x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 61x17
+              RenderSVGInlineText {#text} at (0,0) size 61x17
+                chunk 1 text run 1 at (81.00,15.00) startOffset 0 endOffset 9 width 61.00: "Relations"
+          RenderSVGContainer {g} at (0,0) size 0x0
+    RenderSVGContainer {g} at (263,279) size 301x301 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(727.49,-171.75)}]
+      RenderSVGContainer {g} at (263,279) size 301x301 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,550.00)}]
+        RenderSVGContainer {g} at (263,279) size 301x301
+          RenderSVGPath {path} at (263,279) size 301x301 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 91 0 L 162 0 C 167.523 0 172 4.47715 172 10 L 172 20 L 340 20 L 340 200 L 0 200 L 0 20 L 91 20 Z"]
+          RenderSVGPath {path} at (413,329) size 58x58 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 91 0 L 162 0 C 167.523 0 172 4.47715 172 10 L 172 20 L 91 20 Z"]
+          RenderSVGText {text} at (101,1) size 61x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 61x17
+              RenderSVGInlineText {#text} at (0,0) size 61x17
+                chunk 1 text run 1 at (101.00,15.00) startOffset 0 endOffset 9 width 61.00: "Relations"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (263,279) size 301x301
+          RenderSVGPath {path} at (263,279) size 301x301 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 177 0 L 233 0 C 238.523 0 243 4.47715 243 10 L 243 20 L 340 20 L 340 200 L 0 200 L 0 20 L 177 20 Z"]
+          RenderSVGPath {path} at (461,377) size 49x49 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 177 0 L 233 0 C 238.523 0 243 4.47715 243 10 L 243 20 L 177 20 Z"]
+          RenderSVGText {text} at (187,1) size 46x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 46x17
+              RenderSVGInlineText {#text} at (0,0) size 46x17
+                chunk 1 text run 1 at (187.00,15.00) startOffset 0 endOffset 6 width 46.00: "Events"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (263,279) size 301x301
+          RenderSVGPath {path} at (263,279) size 301x301 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 248 0 L 305 0 C 310.523 0 315 4.47715 315 10 L 315 20 L 340 20 L 340 200 L 0 200 L 0 20 L 248 20 Z"]
+          RenderSVGPath {path} at (500,416) size 50x50 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#D3D3D3]}] [data="M 248 0 L 305 0 C 310.523 0 315 4.47715 315 10 L 315 20 L 248 20 Z"]
+          RenderSVGText {text} at (258,1) size 47x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 47x17
+              RenderSVGInlineText {#text} at (0,0) size 47x17
+                chunk 1 text run 1 at (258.00,15.00) startOffset 0 endOffset 8 width 47.00: "Portrait"
+          RenderSVGContainer {g} at (0,0) size 0x0
+        RenderSVGContainer {g} at (263,279) size 301x301
+          RenderSVGPath {path} at (263,279) size 301x301 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [data="M 0 0 L 76 0 C 81.5228 -0.00000238419 86 4.47715 86 10 L 86 20 L 340 20 L 340 200 L 0 200 Z"]
+          RenderSVGPath {path} at (363,279) size 61x61 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#BFE9FF]}] [data="M 0 0 L 76 0 C 81.5228 -0.00000238419 86 4.47715 86 10 L 86 20 L 0 20 Z"]
+          RenderSVGText {text} at (10,1) size 66x17 contains 1 chunk(s)
+            RenderSVGTSpan {tspan} at (0,0) size 66x17
+              RenderSVGInlineText {#text} at (0,0) size 66x17
+                chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 9 width 66.00: "Biography"
+          RenderSVGContainer {g} at (0,0) size 0x0
index 974dd23..88f5023 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/carto.net/window-expected.png and b/LayoutTests/platform/mac/svg/carto.net/window-expected.png differ
index 9e43ddc..054378b 100644 (file)
@@ -60,32 +60,32 @@ layer at (0,0) size 800x600
       RenderSVGContainer {g} at (613,81) size 185x169 [transform={m=((1.00,0.00)(0.00,1.00)) t=(800.00,85.00)}]
         RenderSVGContainer {g} at (624,92) size 174x158
           RenderSVGRect {rect} at (624,92) size 174x158 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=220.00] [height=200.00]
-          RenderSVGContainer {g} at (632,102) size 160x98
-            RenderSVGText {text} at (10,12) size 203x124 contains 1 chunk(s)
-              RenderSVGInlineText {#text} at (0,0) size 122x16
-                chunk 1 text run 1 at (10.00,25.00) startOffset 0 endOffset 18 width 121.60: "This window should"
-              RenderSVGTSpan {tspan} at (0,0) size 145x16
-                RenderSVGInlineText {#text} at (0,16) size 145x16
-                  chunk 1 text run 1 at (10.00,41.00) startOffset 0 endOffset 24 width 144.64: "contain navigation tools"
-              RenderSVGTSpan {tspan} at (0,0) size 93x16
-                RenderSVGInlineText {#text} at (0,38) size 93x16
-                  chunk 1 text run 1 at (10.00,63.00) startOffset 0 endOffset 15 width 92.16: "Click on button"
-              RenderSVGTSpan {tspan} at (0,0) size 203x16
-                RenderSVGInlineText {#text} at (0,54) size 203x16
-                  chunk 1 text run 1 at (10.00,79.00) startOffset 0 endOffset 32 width 202.24: "'Resize Navigation Window' for a"
-              RenderSVGTSpan {tspan} at (0,0) size 184x16
-                RenderSVGInlineText {#text} at (0,70) size 184x16
-                  chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 28 width 183.04: "random resize of this Window"
-              RenderSVGTSpan {tspan} at (0,0) size 162x16
-                RenderSVGInlineText {#text} at (0,92) size 162x16
-                  chunk 1 text run 1 at (10.00,117.00) startOffset 0 endOffset 26 width 161.28: "Note that this window also"
-              RenderSVGTSpan {tspan} at (0,0) size 182x16
-                RenderSVGInlineText {#text} at (0,108) size 182x16
-                  chunk 1 text run 1 at (10.00,133.00) startOffset 0 endOffset 28 width 181.76: "features a window decoration"
+          RenderSVGContainer {g} at (632,102) size 163x98
+            RenderSVGText {text} at (10,12) size 207x124 contains 1 chunk(s)
+              RenderSVGInlineText {#text} at (0,0) size 124x16
+                chunk 1 text run 1 at (10.00,25.00) startOffset 0 endOffset 18 width 124.00: "This window should"
+              RenderSVGTSpan {tspan} at (0,0) size 149x16
+                RenderSVGInlineText {#text} at (0,16) size 149x16
+                  chunk 1 text run 1 at (10.00,41.00) startOffset 0 endOffset 24 width 149.00: "contain navigation tools"
+              RenderSVGTSpan {tspan} at (0,0) size 94x16
+                RenderSVGInlineText {#text} at (0,38) size 94x16
+                  chunk 1 text run 1 at (10.00,63.00) startOffset 0 endOffset 15 width 94.00: "Click on button"
+              RenderSVGTSpan {tspan} at (0,0) size 207x16
+                RenderSVGInlineText {#text} at (0,54) size 207x16
+                  chunk 1 text run 1 at (10.00,79.00) startOffset 0 endOffset 32 width 207.00: "'Resize Navigation Window' for a"
+              RenderSVGTSpan {tspan} at (0,0) size 187x16
+                RenderSVGInlineText {#text} at (0,70) size 187x16
+                  chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 28 width 187.00: "random resize of this Window"
+              RenderSVGTSpan {tspan} at (0,0) size 165x16
+                RenderSVGInlineText {#text} at (0,92) size 165x16
+                  chunk 1 text run 1 at (10.00,117.00) startOffset 0 endOffset 26 width 165.00: "Note that this window also"
+              RenderSVGTSpan {tspan} at (0,0) size 186x16
+                RenderSVGInlineText {#text} at (0,108) size 186x16
+                  chunk 1 text run 1 at (10.00,133.00) startOffset 0 endOffset 28 width 186.00: "features a window decoration"
           RenderSVGRect {rect} at (624,238) size 174x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=187.00] [width=220.00] [height=13.00]
-          RenderSVGText {text} at (3,187) size 41x12 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 41x12
-              chunk 1 text run 1 at (3.00,197.00) startOffset 0 endOffset 9 width 40.96: "Statusbar"
+          RenderSVGText {text} at (3,187) size 45x12 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 45x12
+              chunk 1 text run 1 at (3.00,197.00) startOffset 0 endOffset 9 width 45.00: "Statusbar"
         RenderSVGContainer {g} at (613,81) size 185x159
           RenderSVGContainer {g} at (613,81) size 185x159
             RenderSVGRect {rect} at (613,81) size 16x159 [fill={[type=SOLID] [color=#B0C4DE]}] [x=-15.00] [y=-15.00] [width=20.00] [height=202.00]
@@ -113,30 +113,30 @@ layer at (0,0) size 800x600
           RenderSVGRect {rect} at (38,143) size 549x392 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=700.00] [height=500.00]
           RenderSVGContainer {g} at (0,0) size 0x0
           RenderSVGRect {rect} at (38,523) size 549x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=487.00] [width=700.00] [height=13.00]
-          RenderSVGText {text} at (3,487) size 129x12 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 129x12
-              chunk 1 text run 1 at (3.00,497.00) startOffset 0 endOffset 28 width 128.00: "This is a big movable window"
+          RenderSVGText {text} at (3,487) size 134x12 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 134x12
+              chunk 1 text run 1 at (3.00,497.00) startOffset 0 endOffset 28 width 134.00: "This is a big movable window"
           RenderSVGContainer {g} at (77,182) size 315x236 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
             RenderSVGContainer {g} at (77,182) size 315x236
               RenderSVGRect {rect} at (77,182) size 315x236 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=400.00] [height=300.00]
               RenderSVGContainer {g} at (0,0) size 0x0
               RenderSVGRect {rect} at (77,406) size 315x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=287.00] [width=400.00] [height=13.00]
-              RenderSVGText {text} at (3,287) size 159x12 contains 1 chunk(s)
-                RenderSVGInlineText {#text} at (0,0) size 159x12
-                  chunk 1 text run 1 at (3.00,297.00) startOffset 0 endOffset 34 width 158.72: "This window contains other windows"
+              RenderSVGText {text} at (3,287) size 167x12 contains 1 chunk(s)
+                RenderSVGInlineText {#text} at (0,0) size 167x12
+                  chunk 1 text run 1 at (3.00,297.00) startOffset 0 endOffset 34 width 167.00: "This window contains other windows"
               RenderSVGContainer {g} at (77,195) size 174x143 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,17.00)}]
                 RenderSVGContainer {g} at (77,195) size 174x143
                   RenderSVGRect {rect} at (77,195) size 174x143 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=220.00] [height=180.00]
                   RenderSVGContainer {g} at (0,0) size 0x0
                   RenderSVGRect {rect} at (77,326) size 174x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=167.00] [width=220.00] [height=13.00]
-                  RenderSVGText {text} at (3,167) size 169x12 contains 1 chunk(s)
-                    RenderSVGInlineText {#text} at (0,0) size 169x12
-                      chunk 1 text run 1 at (3.00,177.00) startOffset 0 endOffset 36 width 168.96: "Changing a colour changes background"
+                  RenderSVGText {text} at (3,167) size 186x12 contains 1 chunk(s)
+                    RenderSVGInlineText {#text} at (0,0) size 186x12
+                      chunk 1 text run 1 at (3.00,177.00) startOffset 0 endOffset 36 width 186.00: "Changing a colour changes background"
                 RenderSVGContainer {g} at (77,195) size 174x15
                   RenderSVGRect {rect} at (77,195) size 174x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=220.00] [height=17.00]
                   RenderSVGText {text} at (3,1) size 85x16 contains 1 chunk(s)
                     RenderSVGInlineText {#text} at (0,0) size 85x16
-                      chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 13 width 84.48: "Colour Picker"
+                      chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 13 width 85.00: "Colour Picker"
                   RenderSVGContainer {use} at (236,198) size 10x10
                     RenderSVGContainer {g} at (236,198) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(208.50,8.50)}]
                       RenderSVGViewportContainer {svg} at (236,198) size 10x10
@@ -155,21 +155,21 @@ layer at (0,0) size 800x600
               RenderSVGContainer {g} at (249,344) size 143x64 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,207.00)}]
                 RenderSVGContainer {g} at (249,344) size 143x64
                   RenderSVGRect {rect} at (249,344) size 143x64 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=180.00] [height=80.00]
-                  RenderSVGContainer {g} at (257,365) size 121x39
-                    RenderSVGText {text} at (10,27) size 153x48 contains 1 chunk(s)
-                      RenderSVGInlineText {#text} at (0,0) size 153x16
-                        chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 23 width 152.32: "This is a none-moveable"
-                      RenderSVGTSpan {tspan} at (0,0) size 137x16
-                        RenderSVGInlineText {#text} at (0,16) size 137x16
-                          chunk 1 text run 1 at (10.00,56.00) startOffset 0 endOffset 21 width 136.96: "none-closeable status"
+                  RenderSVGContainer {g} at (257,365) size 123x39
+                    RenderSVGText {text} at (10,27) size 156x48 contains 1 chunk(s)
+                      RenderSVGInlineText {#text} at (0,0) size 156x16
+                        chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 23 width 156.00: "This is a none-moveable"
+                      RenderSVGTSpan {tspan} at (0,0) size 139x16
+                        RenderSVGInlineText {#text} at (0,16) size 139x16
+                          chunk 1 text run 1 at (10.00,56.00) startOffset 0 endOffset 21 width 139.00: "none-closeable status"
                       RenderSVGTSpan {tspan} at (0,0) size 47x16
                         RenderSVGInlineText {#text} at (0,32) size 47x16
-                          chunk 1 text run 1 at (10.00,72.00) startOffset 0 endOffset 6 width 46.08: "window"
+                          chunk 1 text run 1 at (10.00,72.00) startOffset 0 endOffset 6 width 47.00: "window"
                 RenderSVGContainer {g} at (249,344) size 143x15
                   RenderSVGRect {rect} at (249,344) size 143x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=180.00] [height=17.00]
-                  RenderSVGText {text} at (3,1) size 93x16 contains 1 chunk(s)
-                    RenderSVGInlineText {#text} at (0,0) size 93x16
-                      chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 13 width 92.16: "Status Window"
+                  RenderSVGText {text} at (3,1) size 94x16 contains 1 chunk(s)
+                    RenderSVGInlineText {#text} at (0,0) size 94x16
+                      chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 13 width 94.00: "Status Window"
                   RenderSVGContainer {use} at (376,346) size 11x10
                     RenderSVGContainer {g} at (376,346) size 11x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(168.50,8.50)}]
                       RenderSVGViewportContainer {svg} at (376,346) size 11x10
@@ -181,9 +181,9 @@ layer at (0,0) size 800x600
                         RenderSVGPath {line} at (364,355) size 9x1 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
             RenderSVGContainer {g} at (77,182) size 315x15
               RenderSVGRect {rect} at (77,182) size 315x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=400.00] [height=17.00]
-              RenderSVGText {text} at (3,1) size 167x16 contains 1 chunk(s)
-                RenderSVGInlineText {#text} at (0,0) size 167x16
-                  chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 24 width 166.40: "Nested middlesize Window"
+              RenderSVGText {text} at (3,1) size 170x16 contains 1 chunk(s)
+                RenderSVGInlineText {#text} at (0,0) size 170x16
+                  chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 24 width 170.00: "Nested middlesize Window"
               RenderSVGContainer {use} at (377,184) size 10x11
                 RenderSVGContainer {g} at (377,184) size 10x11 [transform={m=((1.00,0.00)(0.00,1.00)) t=(388.50,8.50)}]
                   RenderSVGViewportContainer {svg} at (377,184) size 10x11
@@ -202,31 +202,31 @@ layer at (0,0) size 800x600
           RenderSVGContainer {g} at (312,377) size 158x143 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,300.00)}]
             RenderSVGContainer {g} at (312,377) size 158x143
               RenderSVGRect {rect} at (312,377) size 158x143 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=200.00] [height=180.00]
-              RenderSVGContainer {g} at (320,399) size 136x63
-                RenderSVGText {text} at (10,27) size 173x80 contains 1 chunk(s)
-                  RenderSVGInlineText {#text} at (0,0) size 171x16
-                    chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 26 width 170.24: "This window has a callback"
-                  RenderSVGTSpan {tspan} at (0,0) size 157x16
-                    RenderSVGInlineText {#text} at (0,16) size 157x16
-                      chunk 1 text run 1 at (10.00,56.00) startOffset 0 endOffset 25 width 156.16: "function indicating mouse"
-                  RenderSVGTSpan {tspan} at (0,0) size 173x16
-                    RenderSVGInlineText {#text} at (0,32) size 173x16
-                      chunk 1 text run 1 at (10.00,72.00) startOffset 0 endOffset 26 width 172.80: "movements in the statusbar"
-                  RenderSVGTSpan {tspan} at (0,0) size 122x16
-                    RenderSVGInlineText {#text} at (0,48) size 122x16
-                      chunk 1 text run 1 at (10.00,88.00) startOffset 0 endOffset 19 width 121.60: "and alerting window"
-                  RenderSVGTSpan {tspan} at (0,0) size 43x16
-                    RenderSVGInlineText {#text} at (0,64) size 43x16
-                      chunk 1 text run 1 at (10.00,104.00) startOffset 0 endOffset 6 width 42.24: "events"
+              RenderSVGContainer {g} at (320,399) size 138x63
+                RenderSVGText {text} at (10,27) size 176x80 contains 1 chunk(s)
+                  RenderSVGInlineText {#text} at (0,0) size 172x16
+                    chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 26 width 172.00: "This window has a callback"
+                  RenderSVGTSpan {tspan} at (0,0) size 161x16
+                    RenderSVGInlineText {#text} at (0,16) size 161x16
+                      chunk 1 text run 1 at (10.00,56.00) startOffset 0 endOffset 25 width 161.00: "function indicating mouse"
+                  RenderSVGTSpan {tspan} at (0,0) size 176x16
+                    RenderSVGInlineText {#text} at (0,32) size 176x16
+                      chunk 1 text run 1 at (10.00,72.00) startOffset 0 endOffset 26 width 176.00: "movements in the statusbar"
+                  RenderSVGTSpan {tspan} at (0,0) size 126x16
+                    RenderSVGInlineText {#text} at (0,48) size 126x16
+                      chunk 1 text run 1 at (10.00,88.00) startOffset 0 endOffset 19 width 126.00: "and alerting window"
+                  RenderSVGTSpan {tspan} at (0,0) size 42x16
+                    RenderSVGInlineText {#text} at (0,64) size 42x16
+                      chunk 1 text run 1 at (10.00,104.00) startOffset 0 endOffset 6 width 42.00: "events"
               RenderSVGRect {rect} at (312,508) size 158x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=167.00] [width=200.00] [height=13.00]
-              RenderSVGText {text} at (3,167) size 113x12 contains 1 chunk(s)
-                RenderSVGInlineText {#text} at (0,0) size 113x12
-                  chunk 1 text run 1 at (3.00,177.00) startOffset 0 endOffset 27 width 112.64: "Callback function is active"
+              RenderSVGText {text} at (3,167) size 119x12 contains 1 chunk(s)
+                RenderSVGInlineText {#text} at (0,0) size 119x12
+                  chunk 1 text run 1 at (3.00,177.00) startOffset 0 endOffset 27 width 119.00: "Callback function is active"
             RenderSVGContainer {g} at (312,377) size 158x15
               RenderSVGRect {rect} at (312,377) size 158x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=200.00] [height=17.00]
-              RenderSVGText {text} at (3,1) size 86x16 contains 1 chunk(s)
-                RenderSVGInlineText {#text} at (0,0) size 86x16
-                  chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 12 width 85.76: "Small Window"
+              RenderSVGText {text} at (3,1) size 89x16 contains 1 chunk(s)
+                RenderSVGInlineText {#text} at (0,0) size 89x16
+                  chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 12 width 89.00: "Small Window"
               RenderSVGContainer {use} at (455,380) size 10x10
                 RenderSVGContainer {g} at (455,380) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(188.50,8.50)}]
                   RenderSVGViewportContainer {svg} at (455,380) size 10x10
@@ -245,22 +245,22 @@ layer at (0,0) size 800x600
           RenderSVGContainer {g} at (39,476) size 119x48 [transform={m=((1.00,0.00)(0.00,1.00)) t=(1.00,426.00)}]
             RenderSVGContainer {g} at (39,476) size 119x48
               RenderSVGRect {rect} at (39,476) size 119x48 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=150.00] [height=60.00]
-              RenderSVGContainer {g} at (43,480) size 115x37
-                RenderSVGText {text} at (5,5) size 145x45 contains 1 chunk(s)
-                  RenderSVGInlineText {#text} at (0,0) size 128x13
-                    chunk 1 text run 1 at (5.00,16.00) startOffset 0 endOffset 24 width 128.00: "This is a minimal window"
-                  RenderSVGTSpan {tspan} at (0,0) size 145x13
-                    RenderSVGInlineText {#text} at (0,16) size 145x13
-                      chunk 1 text run 1 at (5.00,32.00) startOffset 0 endOffset 29 width 144.64: "without title and status bar."
-                  RenderSVGTSpan {tspan} at (0,0) size 120x13
-                    RenderSVGInlineText {#text} at (0,32) size 120x13
-                      chunk 1 text run 1 at (5.00,48.00) startOffset 0 endOffset 23 width 119.04: "it is also not moveable"
+              RenderSVGContainer {g} at (43,480) size 114x37
+                RenderSVGText {text} at (5,5) size 144x46 contains 1 chunk(s)
+                  RenderSVGInlineText {#text} at (0,0) size 136x14
+                    chunk 1 text run 1 at (5.00,16.00) startOffset 0 endOffset 24 width 136.00: "This is a minimal window"
+                  RenderSVGTSpan {tspan} at (0,0) size 144x14
+                    RenderSVGInlineText {#text} at (0,16) size 144x14
+                      chunk 1 text run 1 at (5.00,32.00) startOffset 0 endOffset 29 width 144.00: "without title and status bar."
+                  RenderSVGTSpan {tspan} at (0,0) size 121x14
+                    RenderSVGInlineText {#text} at (0,32) size 121x14
+                      chunk 1 text run 1 at (5.00,48.00) startOffset 0 endOffset 23 width 121.00: "it is also not moveable"
             RenderSVGContainer {g} at (0,0) size 0x0
         RenderSVGContainer {g} at (38,143) size 549x15
           RenderSVGRect {rect} at (38,143) size 549x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=700.00] [height=17.00]
-          RenderSVGText {text} at (3,1) size 72x16 contains 1 chunk(s)
-            RenderSVGInlineText {#text} at (0,0) size 72x16
-              chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 10 width 71.68: "Big Window"
+          RenderSVGText {text} at (3,1) size 74x16 contains 1 chunk(s)
+            RenderSVGInlineText {#text} at (0,0) size 74x16
+              chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 10 width 74.00: "Big Window"
           RenderSVGContainer {use} at (572,145) size 10x10
             RenderSVGContainer {g} at (572,145) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(688.50,8.50)}]
               RenderSVGViewportContainer {svg} at (572,145) size 10x10
index 9e45786..34ca207 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/css/shadow-changes-expected.png and b/LayoutTests/platform/mac/svg/css/shadow-changes-expected.png differ
index 1135338..782f066 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png and b/LayoutTests/platform/mac/svg/dom/SVGPathSegList-segment-modification-expected.png differ
index dd7c9c7..9e23745 100644 (file)
@@ -1,8 +1,10 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 300x300
-  RenderSVGRoot {svg} at (10,6) size 245x74
-    RenderSVGPath {path} at (78,38) size 84x42 [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [data="M 80 40 C 80 40 120 80 160 40"]
-    RenderSVGText {text} at (10,6) size 245x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 245x18
-        chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 36 width 245.00: "There should be a smooth curve below"
+  RenderSVGRoot {svg} at (10,6) size 212x124
+    RenderSVGPath {path} at (49,38) size 113x42 [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [data="M 50 50 C 50 50 120 80 160 40"]
+    RenderSVGContainer {g} at (49,88) size 113x42 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+      RenderSVGPath {path} at (49,88) size 113x42 [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [data="M 50 50 C 50 50 120 80 160 40"]
+    RenderSVGText {text} at (10,6) size 212x18 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 212x18
+        chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 33 width 212.00: "Both shapes should look identical"
index e32e2e0..4d52aaa 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png and b/LayoutTests/platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization-expected.png differ
index 9d906d4..1cb9cef 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png and b/LayoutTests/platform/mac/svg/dom/SVGPathSegList-xml-dom-synchronization2-expected.png differ
index 7cf2d00..9c550b9 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.png and b/LayoutTests/platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.png differ
index f0e9784..5deed5e 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/filters/filter-refresh-expected.png and b/LayoutTests/platform/mac/svg/filters/filter-refresh-expected.png differ
index fbfe17b..0b96720 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/filters/filter-width-update-expected.png and b/LayoutTests/platform/mac/svg/filters/filter-width-update-expected.png differ
index 226d2c7..b49b30c 100644 (file)
@@ -11,4 +11,3 @@ layer at (0,0) size 800x600
     RenderSVGText {text} at (0,136) size 483x18 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 483x18
         chunk 1 text run 1 at (0.00,150.00) startOffset 0 endOffset 74 width 483.00: "You should see a green, blurred rectangle from 20x20 with width/height 100"
-caret: position 0 of child 0 {#text} of child 5 {text} of child 0 {svg} of document
index 4ff812e..98ee725 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/filters/invalidate-on-child-layout-expected.png and b/LayoutTests/platform/mac/svg/filters/invalidate-on-child-layout-expected.png differ
index caf0a7e..87e0fb6 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/001-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/001-expected.png differ
index c7fa5e5..0cad5a5 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/002-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/002-expected.png differ
index 620860e..e193d41 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/003-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/003-expected.png differ
index 53b6925..f5d5712 100644 (file)
@@ -5,7 +5,307 @@ layer at (0,0) size 400x400
     RenderSVGText {text} at (10,10) size 50x6 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 50x6
         chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 21 width 49.75: "SVG Performance test."
-    RenderSVGText {text} at (10,90) size 36x6 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 36x6
-        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 17 width 35.25: "Test not started."
+    RenderSVGText {text} at (10,90) size 33x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 33x6
+        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 14 width 32.75: "Test completed"
     RenderSVGRect {rect} at (0,0) size 400x400 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
+    RenderSVGText {text} at (9,37) size 3x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x6
+        chunk 1 text run 1 at (9.00,42.00) startOffset 0 endOffset 1 width 3.00: "0"
+    RenderSVGText {text} at (65,77) size 2x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x3
+        chunk 1 text run 1 at (65.00,80.00) startOffset 0 endOffset 1 width 1.50: "1"
+    RenderSVGText {text} at (92,92) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (92.00,93.00) startOffset 0 endOffset 1 width 0.50: "2"
+    RenderSVGText {text} at (30,27) size 2x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x3
+        chunk 1 text run 1 at (30.00,30.00) startOffset 0 endOffset 1 width 1.50: "3"
+    RenderSVGText {text} at (92,53) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (92.00,54.00) startOffset 0 endOffset 1 width 0.50: "4"
+    RenderSVGText {text} at (40,26) size 4x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x9
+        chunk 1 text run 1 at (40.00,33.00) startOffset 0 endOffset 1 width 4.00: "5"
+    RenderSVGText {text} at (65,69) size 4x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x9
+        chunk 1 text run 1 at (65.00,76.00) startOffset 0 endOffset 1 width 4.00: "6"
+    RenderSVGText {text} at (47,49) size 4x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x8
+        chunk 1 text run 1 at (47.00,56.00) startOffset 0 endOffset 1 width 4.00: "7"
+    RenderSVGText {text} at (79,-5) size 4x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x9
+        chunk 1 text run 1 at (79.00,2.00) startOffset 0 endOffset 1 width 4.00: "8"
+    RenderSVGText {text} at (10,74) size 3x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x6
+        chunk 1 text run 1 at (10.00,79.00) startOffset 0 endOffset 1 width 3.00: "9"
+    RenderSVGText {text} at (77,36) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (77.00,37.00) startOffset 0 endOffset 2 width 1.00: "10"
+    RenderSVGText {text} at (45,76) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (45.00,80.00) startOffset 0 endOffset 2 width 4.00: "11"
+    RenderSVGText {text} at (27,76) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (27.00,80.00) startOffset 0 endOffset 2 width 4.00: "12"
+    RenderSVGText {text} at (13,17) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (13.00,19.00) startOffset 0 endOffset 2 width 2.00: "13"
+    RenderSVGText {text} at (43,98) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (43.00,99.00) startOffset 0 endOffset 2 width 1.00: "14"
+    RenderSVGText {text} at (52,29) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (52.00,31.00) startOffset 0 endOffset 2 width 2.00: "15"
+    RenderSVGText {text} at (55,87) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (55.00,89.00) startOffset 0 endOffset 2 width 2.00: "16"
+    RenderSVGText {text} at (46,16) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (46.00,22.00) startOffset 0 endOffset 2 width 6.00: "17"
+    RenderSVGText {text} at (1,19) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (1.00,23.00) startOffset 0 endOffset 2 width 4.00: "18"
+    RenderSVGText {text} at (24,39) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (24.00,42.00) startOffset 0 endOffset 2 width 3.00: "19"
+    RenderSVGText {text} at (42,26) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (42.00,27.00) startOffset 0 endOffset 2 width 1.00: "20"
+    RenderSVGText {text} at (11,76) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (11.00,81.00) startOffset 0 endOffset 2 width 6.00: "21"
+    RenderSVGText {text} at (15,25) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (15.00,26.00) startOffset 0 endOffset 2 width 1.00: "22"
+    RenderSVGText {text} at (18,17) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (18.00,19.00) startOffset 0 endOffset 2 width 2.00: "23"
+    RenderSVGText {text} at (42,74) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (42.00,80.00) startOffset 0 endOffset 2 width 6.00: "24"
+    RenderSVGText {text} at (49,5) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (49.00,6.00) startOffset 0 endOffset 2 width 1.00: "25"
+    RenderSVGText {text} at (50,57) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (50.00,62.00) startOffset 0 endOffset 2 width 6.00: "26"
+    RenderSVGText {text} at (30,60) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (30.00,67.00) startOffset 0 endOffset 2 width 8.00: "27"
+    RenderSVGText {text} at (69,70) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (69.00,73.00) startOffset 0 endOffset 2 width 3.00: "28"
+    RenderSVGText {text} at (95,12) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (95.00,18.00) startOffset 0 endOffset 2 width 6.00: "29"
+    RenderSVGText {text} at (36,63) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (36.00,69.00) startOffset 0 endOffset 2 width 6.00: "30"
+    RenderSVGText {text} at (49,6) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (49.00,10.00) startOffset 0 endOffset 2 width 4.00: "31"
+    RenderSVGText {text} at (46,35) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (46.00,42.00) startOffset 0 endOffset 2 width 8.00: "32"
+    RenderSVGText {text} at (85,86) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (85.00,88.00) startOffset 0 endOffset 2 width 2.00: "33"
+    RenderSVGText {text} at (54,95) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (54.00,100.00) startOffset 0 endOffset 2 width 6.00: "34"
+    RenderSVGText {text} at (26,96) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (26.00,99.00) startOffset 0 endOffset 2 width 3.00: "35"
+    RenderSVGText {text} at (15,42) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (15.00,47.00) startOffset 0 endOffset 2 width 6.00: "36"
+    RenderSVGText {text} at (56,85) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (56.00,88.00) startOffset 0 endOffset 2 width 3.00: "37"
+    RenderSVGText {text} at (18,21) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (18.00,26.00) startOffset 0 endOffset 2 width 6.00: "38"
+    RenderSVGText {text} at (92,44) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (92.00,46.00) startOffset 0 endOffset 2 width 2.00: "39"
+    RenderSVGText {text} at (40,42) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (40.00,49.00) startOffset 0 endOffset 2 width 8.00: "40"
+    RenderSVGText {text} at (41,59) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (41.00,60.00) startOffset 0 endOffset 2 width 1.00: "41"
+    RenderSVGText {text} at (66,5) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (66.00,7.00) startOffset 0 endOffset 2 width 2.00: "42"
+    RenderSVGText {text} at (85,9) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (85.00,10.00) startOffset 0 endOffset 2 width 1.00: "43"
+    RenderSVGText {text} at (7,42) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (7.00,48.00) startOffset 0 endOffset 2 width 6.00: "44"
+    RenderSVGText {text} at (47,25) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (47.00,29.00) startOffset 0 endOffset 2 width 4.00: "45"
+    RenderSVGText {text} at (66,22) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (66.00,25.00) startOffset 0 endOffset 2 width 3.00: "46"
+    RenderSVGText {text} at (13,24) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (13.00,26.00) startOffset 0 endOffset 2 width 2.00: "47"
+    RenderSVGText {text} at (72,29) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (72.00,33.00) startOffset 0 endOffset 2 width 4.00: "48"
+    RenderSVGText {text} at (29,66) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (29.00,73.00) startOffset 0 endOffset 2 width 8.00: "49"
+    RenderSVGText {text} at (48,81) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (48.00,84.00) startOffset 0 endOffset 2 width 3.00: "50"
+    RenderSVGText {text} at (57,19) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (57.00,24.00) startOffset 0 endOffset 2 width 6.00: "51"
+    RenderSVGText {text} at (61,35) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (61.00,42.00) startOffset 0 endOffset 2 width 8.00: "52"
+    RenderSVGText {text} at (46,67) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (46.00,74.00) startOffset 0 endOffset 2 width 8.00: "53"
+    RenderSVGText {text} at (70,3) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (70.00,5.00) startOffset 0 endOffset 2 width 2.00: "54"
+    RenderSVGText {text} at (3,47) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (3.00,49.00) startOffset 0 endOffset 2 width 2.00: "55"
+    RenderSVGText {text} at (62,67) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (62.00,69.00) startOffset 0 endOffset 2 width 2.00: "56"
+    RenderSVGText {text} at (34,74) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (34.00,81.00) startOffset 0 endOffset 2 width 8.00: "57"
+    RenderSVGText {text} at (74,14) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (74.00,19.50) startOffset 0 endOffset 2 width 6.00: "58"
+    RenderSVGText {text} at (13,61) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (13.00,67.00) startOffset 0 endOffset 2 width 6.00: "59"
+    RenderSVGText {text} at (32,6) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (32.00,10.00) startOffset 0 endOffset 2 width 4.00: "60"
+    RenderSVGText {text} at (20,46) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (20.00,53.00) startOffset 0 endOffset 2 width 8.00: "61"
+    RenderSVGText {text} at (8,74) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (8.00,79.00) startOffset 0 endOffset 2 width 6.00: "62"
+    RenderSVGText {text} at (2,53) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (2.00,56.00) startOffset 0 endOffset 2 width 3.00: "63"
+    RenderSVGText {text} at (60,26) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (60.00,32.00) startOffset 0 endOffset 2 width 6.00: "64"
+    RenderSVGText {text} at (97,96) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (97.00,98.00) startOffset 0 endOffset 2 width 2.00: "65"
+    RenderSVGText {text} at (58,75) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (58.00,78.00) startOffset 0 endOffset 2 width 3.00: "66"
+    RenderSVGText {text} at (1,5) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (1.00,7.00) startOffset 0 endOffset 2 width 2.00: "67"
+    RenderSVGText {text} at (0,0) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (0.00,3.00) startOffset 0 endOffset 2 width 3.00: "68"
+    RenderSVGText {text} at (89,62) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (89.00,68.00) startOffset 0 endOffset 2 width 6.00: "69"
+    RenderSVGText {text} at (85,9) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (85.00,12.00) startOffset 0 endOffset 2 width 3.00: "70"
+    RenderSVGText {text} at (48,75) size 6x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x6
+        chunk 1 text run 1 at (48.00,80.00) startOffset 0 endOffset 2 width 6.00: "71"
+    RenderSVGText {text} at (52,35) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (52.00,42.00) startOffset 0 endOffset 2 width 8.00: "72"
+    RenderSVGText {text} at (98,17) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (98.00,24.00) startOffset 0 endOffset 2 width 8.00: "73"
+    RenderSVGText {text} at (12,80) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (12.00,82.00) startOffset 0 endOffset 2 width 2.00: "74"
+    RenderSVGText {text} at (26,65) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (26.00,69.00) startOffset 0 endOffset 2 width 4.00: "75"
+    RenderSVGText {text} at (5,2) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (5.00,9.00) startOffset 0 endOffset 2 width 8.00: "76"
+    RenderSVGText {text} at (5,36) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (5.00,43.00) startOffset 0 endOffset 2 width 8.00: "77"
+    RenderSVGText {text} at (48,41) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (48.00,47.00) startOffset 0 endOffset 2 width 6.00: "78"
+    RenderSVGText {text} at (19,15) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (19.00,19.00) startOffset 0 endOffset 2 width 4.00: "79"
+    RenderSVGText {text} at (22,63) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (22.00,69.00) startOffset 0 endOffset 2 width 6.00: "80"
+    RenderSVGText {text} at (34,44) size 1x1 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 1x1
+        chunk 1 text run 1 at (34.00,45.00) startOffset 0 endOffset 2 width 1.00: "81"
+    RenderSVGText {text} at (83,34) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (83.00,41.00) startOffset 0 endOffset 2 width 8.00: "82"
+    RenderSVGText {text} at (13,58) size 6x7 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 6x7
+        chunk 1 text run 1 at (13.00,64.00) startOffset 0 endOffset 2 width 6.00: "83"
+    RenderSVGText {text} at (65,-6) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (65.00,1.00) startOffset 0 endOffset 2 width 8.00: "84"
+    RenderSVGText {text} at (77,35) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (77.00,39.00) startOffset 0 endOffset 2 width 4.00: "85"
+    RenderSVGText {text} at (23,18) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (23.00,25.00) startOffset 0 endOffset 2 width 8.00: "86"
+    RenderSVGText {text} at (40,77) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (40.00,84.00) startOffset 0 endOffset 2 width 8.00: "87"
+    RenderSVGText {text} at (56,32) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (56.00,35.00) startOffset 0 endOffset 2 width 3.00: "88"
+    RenderSVGText {text} at (65,70) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (65.00,77.00) startOffset 0 endOffset 2 width 8.00: "89"
+    RenderSVGText {text} at (13,19) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (13.00,26.00) startOffset 0 endOffset 2 width 8.00: "90"
+    RenderSVGText {text} at (54,36) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (54.00,43.00) startOffset 0 endOffset 2 width 8.00: "91"
+    RenderSVGText {text} at (81,28) size 4x5 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 4x5
+        chunk 1 text run 1 at (81.00,32.00) startOffset 0 endOffset 2 width 4.00: "92"
+    RenderSVGText {text} at (10,73) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (10.00,75.00) startOffset 0 endOffset 2 width 2.00: "93"
+    RenderSVGText {text} at (53,87) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (53.00,89.00) startOffset 0 endOffset 2 width 2.00: "94"
+    RenderSVGText {text} at (25,59) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (25.00,66.00) startOffset 0 endOffset 2 width 8.00: "95"
+    RenderSVGText {text} at (93,46) size 2x2 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 2x2
+        chunk 1 text run 1 at (93.00,48.00) startOffset 0 endOffset 2 width 2.00: "96"
+    RenderSVGText {text} at (61,73) size 8x9 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x9
+        chunk 1 text run 1 at (61.00,80.00) startOffset 0 endOffset 2 width 8.00: "97"
+    RenderSVGText {text} at (14,-6) size 8x8 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 8x8
+        chunk 1 text run 1 at (14.00,1.00) startOffset 0 endOffset 2 width 8.00: "98"
+    RenderSVGText {text} at (7,67) size 3x3 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 3x3
+        chunk 1 text run 1 at (7.00,70.00) startOffset 0 endOffset 2 width 3.00: "99"
index 620860e..3408f7a 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/004-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/004-expected.png differ
index 53b6925..bc8da58 100644 (file)
@@ -5,7 +5,107 @@ layer at (0,0) size 400x400
     RenderSVGText {text} at (10,10) size 50x6 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 50x6
         chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 21 width 49.75: "SVG Performance test."
-    RenderSVGText {text} at (10,90) size 36x6 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 36x6
-        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 17 width 35.25: "Test not started."
+    RenderSVGImage {image} at (296,78) size 104x175 [transform={m=((-0.92,0.39)(-0.39,-0.92)) t=(115.56,76.49)}]
+    RenderSVGImage {image} at (0,0) size 211x286 [transform={m=((-0.79,0.62)(-0.62,-0.79)) t=(120.18,58.62)}]
+    RenderSVGImage {image} at (0,7) size 400x393 [transform={m=((0.80,0.60)(-0.60,0.80)) t=(40.16,-20.02)}]
+    RenderSVGImage {image} at (46,0) size 188x246 [transform={m=((0.97,0.22)(-0.22,0.97)) t=(12.53,-9.97)}]
+    RenderSVGImage {image} at (99,0) size 301x400 [transform={m=((0.98,-0.19)(0.19,0.98)) t=(-8.62,10.46)}]
+    RenderSVGImage {image} at (211,121) size 104x62 [transform={m=((0.12,0.99)(-0.99,0.12)) t=(93.53,-5.72)}]
+    RenderSVGImage {image} at (64,71) size 83x110 [transform={m=((-0.93,0.37)(-0.37,-0.93)) t=(115.09,77.63)}]
+    RenderSVGImage {image} at (168,124) size 110x125 [transform={m=((-0.83,-0.56)(0.56,-0.83)) t=(63.49,119.41)}]
+    RenderSVGImage {image} at (355,51) size 45x109 [transform={m=((0.83,0.56)(-0.56,0.83)) t=(36.51,-19.41)}]
+    RenderSVGImage {image} at (6,252) size 99x148 [transform={m=((0.99,-0.12)(0.12,0.99)) t=(-5.72,6.47)}]
+    RenderSVGImage {image} at (0,0) size 380x400 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}]
+    RenderSVGImage {image} at (33,185) size 182x215 [transform={m=((0.87,0.48)(-0.48,0.87)) t=(30.51,-17.97)}]
+    RenderSVGImage {image} at (158,248) size 219x152 [transform={m=((0.44,-0.90)(0.90,0.44)) t=(-16.86,73.02)}]
+    RenderSVGImage {image} at (9,184) size 391x216 [transform={m=((-0.71,-0.71)(0.71,-0.71)) t=(50.00,120.71)}]
+    RenderSVGImage {image} at (0,0) size 400x400 [transform={m=((-0.56,0.83)(-0.83,-0.56)) t=(119.41,36.51)}]
+    RenderSVGImage {image} at (85,0) size 232x327 [transform={m=((1.00,-0.09)(0.09,1.00)) t=(-4.17,4.55)}]
+    RenderSVGImage {image} at (0,112) size 281x288 [transform={m=((0.37,0.93)(-0.93,0.37)) t=(77.63,-15.09)}]
+    RenderSVGImage {image} at (26,84) size 146x130 [transform={m=((0.57,-0.82)(0.82,0.57)) t=(-19.64,62.28)}]
+    RenderSVGImage {image} at (0,158) size 89x209 [transform={m=((0.71,-0.71)(0.71,0.71)) t=(-20.71,50.00)}]
+    RenderSVGImage {image} at (209,110) size 176x280 [transform={m=((-0.98,-0.17)(0.17,-0.98)) t=(90.56,107.92)}]
+    RenderSVGImage {image} at (0,0) size 400x400 [transform={m=((-0.83,0.56)(-0.56,-0.83)) t=(119.41,63.49)}]
+    RenderSVGImage {image} at (232,319) size 162x81 [transform={m=((0.07,-1.00)(1.00,0.07)) t=(-3.37,96.39)}]
+    RenderSVGImage {image} at (77,0) size 323x400 [transform={m=((-0.97,0.22)(-0.22,-0.97)) t=(109.97,87.47)}]
+    RenderSVGImage {image} at (166,0) size 234x392 [transform={m=((-0.67,0.74)(-0.74,-0.67)) t=(120.61,46.30)}]
+    RenderSVGImage {image} at (218,224) size 146x121 [transform={m=((0.47,-0.88)(0.88,0.47)) t=(-17.62,70.67)}]
+    RenderSVGImage {image} at (0,0) size 400x400 [transform={m=((0.03,-1.00)(1.00,0.03)) t=(-1.71,98.22)}]
+    RenderSVGImage {image} at (167,151) size 162x91 [transform={m=((-0.07,-1.00)(1.00,-0.07)) t=(3.61,103.37)}]
+    RenderSVGImage {image} at (216,240) size 117x67 [transform={m=((-0.09,-1.00)(1.00,-0.09)) t=(4.55,104.17)}]
+    RenderSVGImage {image} at (104,171) size 240x229 [transform={m=((0.88,0.47)(-0.47,0.88)) t=(29.33,-17.62)}]
+    RenderSVGImage {image} at (0,136) size 43x146 [transform={m=((-0.84,-0.54)(0.54,-0.84)) t=(64.70,119.17)}]
+    RenderSVGImage {image} at (64,90) size 140x86 [transform={m=((-0.16,0.99)(-0.99,-0.16)) t=(107.21,8.44)}]
+    RenderSVGImage {image} at (0,166) size 148x132 [transform={m=((-0.17,-0.98)(0.98,-0.17)) t=(9.44,107.92)}]
+    RenderSVGImage {image} at (111,122) size 114x124 [transform={m=((0.80,-0.60)(0.60,0.80)) t=(-20.02,40.16)}]
+    RenderSVGImage {image} at (21,0) size 379x194 [transform={m=((-0.60,-0.80)(0.80,-0.60)) t=(40.16,120.02)}]
+    RenderSVGImage {image} at (0,78) size 95x131 [transform={m=((-0.36,0.93)(-0.93,-0.36)) t=(114.60,21.24)}]
+    RenderSVGImage {image} at (266,230) size 134x132 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,100.00)}]
+    RenderSVGImage {image} at (279,89) size 118x172 [transform={m=((-0.97,0.26)(-0.26,-0.97)) t=(111.24,85.36)}]
+    RenderSVGImage {image} at (95,0) size 146x183 [transform={m=((-1.00,0.05)(-0.05,-1.00)) t=(102.55,97.31)}]
+    RenderSVGImage {image} at (126,0) size 175x116 [transform={m=((0.53,0.85)(-0.85,0.53)) t=(65.91,-18.90)}]
+    RenderSVGImage {image} at (231,0) size 169x365 [transform={m=((0.98,-0.17)(0.17,0.98)) t=(-7.92,9.44)}]
+    RenderSVGImage {image} at (116,167) size 100x109 [transform={m=((0.79,-0.62)(0.62,0.79)) t=(-20.18,41.38)}]
+    RenderSVGImage {image} at (0,0) size 400x400 [transform={m=((-0.73,0.68)(-0.68,-0.73)) t=(120.67,52.47)}]
+    RenderSVGImage {image} at (37,167) size 304x233 [transform={m=((-0.96,0.29)(-0.29,-0.96)) t=(112.43,83.20)}]
+    RenderSVGImage {image} at (0,47) size 400x353 [transform={m=((0.17,0.98)(-0.98,0.17)) t=(90.56,-7.92)}]
+    RenderSVGImage {image} at (292,209) size 108x147 [transform={m=((-0.90,-0.44)(0.44,-0.90)) t=(73.02,116.86)}]
+    RenderSVGImage {image} at (163,148) size 205x212 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}]
+    RenderSVGImage {image} at (187,0) size 213x273 [transform={m=((0.94,0.34)(-0.34,0.94)) t=(20.12,-14.09)}]
+    RenderSVGImage {image} at (0,0) size 160x321 [transform={m=((1.00,-0.09)(0.09,1.00)) t=(-4.17,4.55)}]
+    RenderSVGImage {image} at (217,80) size 183x218 [transform={m=((0.85,0.53)(-0.53,0.85)) t=(34.09,-18.90)}]
+    RenderSVGImage {image} at (163,273) size 107x101 [transform={m=((0.64,-0.77)(0.77,0.64)) t=(-20.44,56.16)}]
+    RenderSVGImage {image} at (158,158) size 242x242 [transform={m=((0.63,-0.78)(0.78,0.63)) t=(-20.32,57.39)}]
+    RenderSVGImage {image} at (9,137) size 168x107 [transform={m=((-0.17,-0.98)(0.98,-0.17)) t=(9.44,107.92)}]
+    RenderSVGImage {image} at (131,193) size 89x111 [transform={m=((-0.89,0.45)(-0.45,-0.89)) t=(117.25,71.85)}]
+    RenderSVGImage {image} at (211,222) size 107x101 [transform={m=((0.63,-0.78)(0.78,0.63)) t=(-20.32,57.39)}]
+    RenderSVGImage {image} at (36,177) size 363x223 [transform={m=((-0.87,0.48)(-0.48,-0.87)) t=(117.97,69.49)}]
+    RenderSVGImage {image} at (256,25) size 144x375 [transform={m=((-0.99,-0.16)(0.16,-0.99)) t=(91.56,107.21)}]
+    RenderSVGImage {image} at (0,86) size 385x314 [transform={m=((0.62,0.79)(-0.79,0.62)) t=(58.62,-20.18)}]
+    RenderSVGImage {image} at (208,14) size 67x106 [transform={m=((-0.98,0.17)(-0.17,-0.98)) t=(107.92,90.56)}]
+    RenderSVGImage {image} at (134,0) size 154x132 [transform={m=((0.83,-0.56)(0.56,0.83)) t=(-19.41,36.51)}]
+    RenderSVGImage {image} at (253,6) size 113x147 [transform={m=((-0.92,0.39)(-0.39,-0.92)) t=(115.56,76.49)}]
+    RenderSVGImage {image} at (205,0) size 195x154 [transform={m=((0.42,0.91)(-0.91,0.42)) t=(74.18,-16.45)}]
+    RenderSVGImage {image} at (50,77) size 103x107 [transform={m=((0.75,0.66)(-0.66,0.75)) t=(45.07,-20.54)}]
+    RenderSVGImage {image} at (0,136) size 69x176 [transform={m=((0.88,0.47)(-0.47,0.88)) t=(29.33,-17.62)}]
+    RenderSVGImage {image} at (50,0) size 265x78 [transform={m=((-0.03,1.00)(-1.00,-0.03)) t=(101.71,1.78)}]
+    RenderSVGImage {image} at (199,207) size 137x80 [transform={m=((-0.10,0.99)(-0.99,-0.10)) t=(104.95,5.50)}]
+    RenderSVGImage {image} at (0,0) size 222x179 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}]
+    RenderSVGImage {image} at (149,25) size 251x214 [transform={m=((-0.34,-0.94)(0.94,-0.34)) t=(20.12,114.09)}]
+    RenderSVGImage {image} at (0,20) size 151x380 [transform={m=((0.68,-0.73)(0.73,0.68)) t=(-20.67,52.47)}]
+    RenderSVGImage {image} at (324,15) size 76x258 [transform={m=((-0.57,0.82)(-0.82,-0.57)) t=(119.64,37.72)}]
+    RenderSVGImage {image} at (73,0) size 141x107 [transform={m=((-0.69,-0.72)(0.72,-0.69)) t=(48.77,120.70)}]
+    RenderSVGImage {image} at (253,137) size 147x237 [transform={m=((0.45,0.89)(-0.89,0.45)) t=(71.85,-17.25)}]
+    RenderSVGImage {image} at (224,87) size 176x139 [transform={m=((-0.42,-0.91)(0.91,-0.42)) t=(25.82,116.45)}]
+    RenderSVGImage {image} at (163,178) size 83x110 [transform={m=((-0.93,0.37)(-0.37,-0.93)) t=(115.09,77.63)}]
+    RenderSVGImage {image} at (0,185) size 30x124 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}]
+    RenderSVGImage {image} at (0,102) size 156x298 [transform={m=((0.99,0.12)(-0.12,0.99)) t=(6.47,-5.72)}]
+    RenderSVGImage {image} at (212,1) size 135x212 [transform={m=((-0.98,0.19)(-0.19,-0.98)) t=(108.62,89.54)}]
+    RenderSVGImage {image} at (330,8) size 70x60 [transform={m=((-0.10,0.99)(-0.99,-0.10)) t=(104.95,5.50)}]
+    RenderSVGImage {image} at (258,292) size 104x106 [transform={m=((-0.72,-0.69)(0.69,-0.72)) t=(51.23,120.70)}]
+    RenderSVGImage {image} at (129,143) size 137x142 [transform={m=((-0.74,-0.67)(0.67,-0.74)) t=(53.70,120.61)}]
+    RenderSVGImage {image} at (0,262) size 170x110 [transform={m=((0.05,-1.00)(1.00,0.05)) t=(-2.55,97.31)}]
+    RenderSVGImage {image} at (0,121) size 131x145 [transform={m=((0.80,0.60)(-0.60,0.80)) t=(40.16,-20.02)}]
+    RenderSVGImage {image} at (0,0) size 400x400 [transform={m=((0.90,0.44)(-0.44,0.90)) t=(26.98,-16.86)}]
+    RenderSVGImage {image} at (252,49) size 92x111 [transform={m=((0.87,-0.48)(0.48,0.87)) t=(-17.97,30.51)}]
+    RenderSVGImage {image} at (96,292) size 146x108 [transform={m=((0.53,-0.85)(0.85,0.53)) t=(-18.90,65.91)}]
+    RenderSVGImage {image} at (334,89) size 66x109 [transform={m=((0.54,0.84)(-0.84,0.54)) t=(64.70,-19.17)}]
+    RenderSVGImage {image} at (189,166) size 211x194 [transform={m=((0.57,0.82)(-0.82,0.57)) t=(62.28,-19.64)}]
+    RenderSVGImage {image} at (285,222) size 74x120 [transform={m=((-0.99,0.16)(-0.16,-0.99)) t=(107.21,91.56)}]
+    RenderSVGImage {image} at (156,288) size 71x107 [transform={m=((0.97,-0.22)(0.22,0.97)) t=(-9.97,12.53)}]
+    RenderSVGImage {image} at (43,0) size 271x281 [transform={m=((0.75,-0.66)(0.66,0.75)) t=(-20.54,45.07)}]
+    RenderSVGImage {image} at (86,256) size 124x112 [transform={m=((0.59,0.81)(-0.81,0.59)) t=(61.06,-19.84)}]
+    RenderSVGImage {image} at (218,6) size 118x71 [transform={m=((0.12,0.99)(-0.99,0.12)) t=(93.53,-5.72)}]
+    RenderSVGImage {image} at (147,173) size 65x105 [transform={m=((-0.99,-0.16)(0.16,-0.99)) t=(91.56,107.21)}]
+    RenderSVGImage {image} at (47,0) size 212x132 [transform={m=((0.19,-0.98)(0.98,0.19)) t=(-8.62,89.54)}]
+    RenderSVGImage {image} at (0,0) size 282x197 [transform={m=((0.19,0.98)(-0.98,0.19)) t=(89.54,-8.62)}]
+    RenderSVGImage {image} at (0,105) size 267x294 [transform={m=((0.26,0.97)(-0.97,0.26)) t=(85.36,-11.24)}]
+    RenderSVGImage {image} at (180,32) size 103x107 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}]
+    RenderSVGImage {image} at (0,0) size 275x299 [transform={m=((-0.73,-0.68)(0.68,-0.73)) t=(52.47,120.67)}]
+    RenderSVGImage {image} at (35,87) size 104x107 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}]
+    RenderSVGImage {image} at (47,372) size 126x28 [transform={m=((-0.53,-0.85)(0.85,-0.53)) t=(34.09,118.90)}]
+    RenderSVGImage {image} at (0,0) size 209x177 [transform={m=((0.36,0.93)(-0.93,0.36)) t=(78.76,-14.60)}]
+    RenderSVGText {text} at (10,90) size 33x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 33x6
+        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 14 width 32.75: "Test completed"
     RenderSVGRect {rect} at (0,0) size 400x400 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
index 620860e..49fea5b 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/005-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/005-expected.png differ
index 820448e..f79fa73 100644 (file)
@@ -5,9 +5,109 @@ layer at (0,0) size 400x400
     RenderSVGText {text} at (10,10) size 50x6 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 50x6
         chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 21 width 49.75: "SVG Performance test."
-    RenderSVGText {text} at (10,90) size 36x6 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 36x6
-        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 17 width 35.25: "Test not started."
+    RenderSVGRect {rect} at (296,78) size 104x175 [transform={m=((-0.92,0.39)(-0.39,-0.92)) t=(115.56,76.49)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-0.90] [y=22.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (0,0) size 211x286 [transform={m=((-0.79,0.62)(-0.62,-0.79)) t=(120.18,58.62)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=48.50] [y=47.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,7) size 400x393 [transform={m=((0.80,0.60)(-0.60,0.80)) t=(40.16,-20.02)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=42.50] [y=-4.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (46,0) size 188x246 [transform={m=((0.97,0.22)(-0.22,0.97)) t=(12.53,-9.97)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=13.50] [y=-2.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (99,0) size 301x400 [transform={m=((0.98,-0.19)(0.19,0.98)) t=(-8.62,10.46)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=42.50] [y=-43.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (211,121) size 104x62 [transform={m=((0.12,0.99)(-0.99,0.12)) t=(93.53,-5.72)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=33.81] [y=20.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (64,71) size 83x110 [transform={m=((-0.93,0.37)(-0.37,-0.93)) t=(115.09,77.63)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=58.81] [y=63.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (168,124) size 110x125 [transform={m=((-0.83,-0.56)(0.56,-0.83)) t=(63.49,119.41)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=39.93] [y=42.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (355,51) size 45x109 [transform={m=((0.83,0.56)(-0.56,0.83)) t=(36.51,-19.41)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=72.81] [y=-10.19] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (6,252) size 99x148 [transform={m=((0.99,-0.12)(0.12,0.99)) t=(-5.72,6.47)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=0.10] [y=59.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (0,0) size 380x400 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=27.50] [y=-60.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (33,185) size 182x215 [transform={m=((0.87,0.48)(-0.48,0.87)) t=(30.51,-17.97)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=32.63] [y=55.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (158,248) size 219x152 [transform={m=((0.44,-0.90)(0.90,0.44)) t=(-16.86,73.02)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=14.63] [y=55.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (9,184) size 391x216 [transform={m=((-0.71,-0.71)(0.71,-0.71)) t=(50.00,120.71)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-11.75] [y=-29.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((-0.56,0.83)(-0.83,-0.56)) t=(119.41,36.51)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-6.50] [y=1.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (85,0) size 232x327 [transform={m=((1.00,-0.09)(0.09,1.00)) t=(-4.17,4.55)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=27.25] [y=-17.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,112) size 281x288 [transform={m=((0.37,0.93)(-0.93,0.37)) t=(77.63,-15.09)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=30.25] [y=40.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (26,84) size 146x130 [transform={m=((0.57,-0.82)(0.82,0.57)) t=(-19.64,62.28)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=37.75] [y=5.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,158) size 89x209 [transform={m=((0.71,-0.71)(0.71,0.71)) t=(-20.71,50.00)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-11.38] [y=-1.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (209,110) size 176x280 [transform={m=((-0.98,-0.17)(0.17,-0.98)) t=(90.56,107.92)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=7.50] [y=9.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((-0.83,0.56)(-0.56,-0.83)) t=(119.41,63.49)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-7.50] [y=-70.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (232,319) size 162x81 [transform={m=((0.07,-1.00)(1.00,0.07)) t=(-3.37,96.39)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=1.10] [y=61.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (77,0) size 323x400 [transform={m=((-0.97,0.22)(-0.22,-0.97)) t=(109.97,87.47)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-34.50] [y=-71.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (166,0) size 234x392 [transform={m=((-0.67,0.74)(-0.74,-0.67)) t=(120.61,46.30)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-6.75] [y=-29.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (218,224) size 146x121 [transform={m=((0.47,-0.88)(0.88,0.47)) t=(-17.62,70.67)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=33.75] [y=63.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((0.03,-1.00)(1.00,0.03)) t=(-1.71,98.22)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-0.50] [y=-91.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (167,151) size 162x91 [transform={m=((-0.07,-1.00)(1.00,-0.07)) t=(3.61,103.37)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=40.10] [y=42.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (216,240) size 117x67 [transform={m=((-0.09,-1.00)(1.00,-0.09)) t=(4.55,104.17)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=22.93] [y=53.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (104,171) size 240x229 [transform={m=((0.88,0.47)(-0.47,0.88)) t=(29.33,-17.62)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=52.50] [y=40.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,136) size 43x146 [transform={m=((-0.84,-0.54)(0.54,-0.84)) t=(64.70,119.17)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=86.75] [y=1.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (64,90) size 140x86 [transform={m=((-0.16,0.99)(-0.99,-0.16)) t=(107.21,8.44)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=27.75] [y=52.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,166) size 148x132 [transform={m=((-0.17,-0.98)(0.98,-0.17)) t=(9.44,107.92)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=36.63] [y=-14.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (111,122) size 114x124 [transform={m=((0.80,-0.60)(0.60,0.80)) t=(-20.02,40.16)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=38.93] [y=28.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (21,0) size 379x194 [transform={m=((-0.60,-0.80)(0.80,-0.60)) t=(40.16,120.02)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=60.25] [y=39.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,78) size 95x131 [transform={m=((-0.36,0.93)(-0.93,-0.36)) t=(114.60,21.24)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=44.10] [y=80.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (266,230) size 134x132 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,100.00)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=9.50] [y=66.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (279,89) size 118x172 [transform={m=((-0.97,0.26)(-0.26,-0.97)) t=(111.24,85.36)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=5.10] [y=27.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (95,0) size 146x183 [transform={m=((-1.00,0.05)(-0.05,-1.00)) t=(102.55,97.31)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=39.50] [y=55.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (126,0) size 175x116 [transform={m=((0.53,0.85)(-0.85,0.53)) t=(65.91,-18.90)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=8.10] [y=6.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (231,0) size 169x365 [transform={m=((0.98,-0.17)(0.17,0.98)) t=(-7.92,9.44)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=67.25] [y=-2.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (116,167) size 100x109 [transform={m=((0.79,-0.62)(0.62,0.79)) t=(-20.18,41.38)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=33.81] [y=36.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((-0.73,0.68)(-0.68,-0.73)) t=(120.67,52.47)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-8.50] [y=-37.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (37,167) size 304x233 [transform={m=((-0.96,0.29)(-0.29,-0.96)) t=(112.43,83.20)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=41.25] [y=-41.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,47) size 400x353 [transform={m=((0.17,0.98)(-0.98,0.17)) t=(90.56,-7.92)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=35.50] [y=-87.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (292,209) size 108x147 [transform={m=((-0.90,-0.44)(0.44,-0.90)) t=(73.02,116.86)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-1.25] [y=31.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (163,148) size 205x212 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=34.63] [y=4.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (187,0) size 213x273 [transform={m=((0.94,0.34)(-0.34,0.94)) t=(20.12,-14.09)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=49.50] [y=-7.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,0) size 160x321 [transform={m=((1.00,-0.09)(0.09,1.00)) t=(-4.17,4.55)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-11.75] [y=-22.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (217,80) size 183x218 [transform={m=((0.85,0.53)(-0.53,0.85)) t=(34.09,-18.90)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=59.63] [y=8.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (163,273) size 107x101 [transform={m=((0.64,-0.77)(0.77,0.64)) t=(-20.44,56.16)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=22.81] [y=60.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (158,158) size 242x242 [transform={m=((0.63,-0.78)(0.78,0.63)) t=(-20.32,57.39)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=31.50] [y=51.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (9,137) size 168x107 [transform={m=((-0.17,-0.98)(0.98,-0.17)) t=(9.44,107.92)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=47.10] [y=4.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (131,193) size 89x111 [transform={m=((-0.89,0.45)(-0.45,-0.89)) t=(117.25,71.85)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=54.81] [y=29.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (211,222) size 107x101 [transform={m=((0.63,-0.78)(0.78,0.63)) t=(-20.32,57.39)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=39.81] [y=61.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (36,177) size 363x223 [transform={m=((-0.87,0.48)(-0.48,-0.87)) t=(117.97,69.49)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=45.25] [y=-43.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (256,25) size 144x375 [transform={m=((-0.99,-0.16)(0.16,-0.99)) t=(91.56,107.21)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-21.75] [y=0.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,86) size 385x314 [transform={m=((0.62,0.79)(-0.79,0.62)) t=(58.62,-20.18)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=37.25] [y=20.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (208,14) size 67x106 [transform={m=((-0.98,0.17)(-0.17,-0.98)) t=(107.92,90.56)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=27.81] [y=68.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (134,0) size 154x132 [transform={m=((0.83,-0.56)(0.56,0.83)) t=(-19.41,36.51)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=64.10] [y=0.00] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (253,6) size 113x147 [transform={m=((-0.92,0.39)(-0.39,-0.92)) t=(115.56,76.49)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=4.75] [y=50.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (205,0) size 195x154 [transform={m=((0.42,0.91)(-0.91,0.42)) t=(74.18,-16.45)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=19.63] [y=-14.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (50,77) size 103x107 [transform={m=((0.75,0.66)(-0.66,0.75)) t=(45.07,-20.54)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=13.81] [y=40.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,136) size 69x176 [transform={m=((0.88,0.47)(-0.47,0.88)) t=(29.33,-17.62)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-1.90] [y=59.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (50,0) size 265x78 [transform={m=((-0.03,1.00)(-1.00,-0.03)) t=(101.71,1.78)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-14.50] [y=23.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (199,207) size 137x80 [transform={m=((-0.10,0.99)(-0.99,-0.10)) t=(104.95,5.50)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=51.75] [y=15.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,0) size 222x179 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=72.25] [y=49.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (149,25) size 251x214 [transform={m=((-0.34,-0.94)(0.94,-0.34)) t=(20.12,114.09)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=41.50] [y=45.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,20) size 151x380 [transform={m=((0.68,-0.73)(0.73,0.68)) t=(-20.67,52.47)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-23.75] [y=-41.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (324,15) size 76x258 [transform={m=((-0.57,0.82)(-0.82,-0.57)) t=(119.64,37.72)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-16.50] [y=-29.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (73,0) size 141x107 [transform={m=((-0.69,-0.72)(0.72,-0.69)) t=(48.77,120.70)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=80.75] [y=51.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (253,137) size 147x237 [transform={m=((0.45,0.89)(-0.89,0.45)) t=(71.85,-17.25)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=68.50] [y=-20.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (224,87) size 176x139 [transform={m=((-0.42,-0.91)(0.91,-0.42)) t=(25.82,116.45)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=38.10] [y=60.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (163,178) size 83x110 [transform={m=((-0.93,0.37)(-0.37,-0.93)) t=(115.09,77.63)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=45.81] [y=29.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,185) size 30x124 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=90.93] [y=10.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (0,102) size 156x298 [transform={m=((0.99,0.12)(-0.12,0.99)) t=(6.47,-5.72)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-12.75] [y=33.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (212,1) size 135x212 [transform={m=((-0.98,0.19)(-0.19,-0.98)) t=(108.62,89.54)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=13.63] [y=44.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (330,8) size 70x60 [transform={m=((-0.10,0.99)(-0.99,-0.10)) t=(104.95,5.50)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-1.19] [y=-3.19] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (258,292) size 104x106 [transform={m=((-0.72,-0.69)(0.69,-0.72)) t=(51.23,120.70)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-1.19] [y=30.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (129,143) size 137x142 [transform={m=((-0.74,-0.67)(0.67,-0.74)) t=(53.70,120.61)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=39.75] [y=30.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,262) size 170x110 [transform={m=((0.05,-1.00)(1.00,0.05)) t=(-2.55,97.31)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=6.63] [y=-5.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (0,121) size 131x145 [transform={m=((0.80,0.60)(-0.60,0.80)) t=(40.16,-20.02)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=13.75] [y=52.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((0.90,0.44)(-0.44,0.90)) t=(26.98,-16.86)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-15.50] [y=-52.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (252,49) size 92x111 [transform={m=((0.87,-0.48)(0.48,0.87)) t=(-17.97,30.51)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=76.81] [y=28.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (96,292) size 146x108 [transform={m=((0.53,-0.85)(0.85,0.53)) t=(-18.90,65.91)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=4.75] [y=47.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (334,89) size 66x109 [transform={m=((0.54,0.84)(-0.84,0.54)) t=(64.70,-19.17)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=57.93] [y=-12.93] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (189,166) size 211x194 [transform={m=((0.57,0.82)(-0.82,0.57)) t=(62.28,-19.64)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=64.63] [y=14.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (285,222) size 74x120 [transform={m=((-0.99,0.16)(-0.16,-0.99)) t=(107.21,91.56)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=15.93] [y=11.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (156,288) size 71x107 [transform={m=((0.97,-0.22)(0.22,0.97)) t=(-9.97,12.53)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=33.81] [y=71.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (43,0) size 271x281 [transform={m=((0.75,-0.66)(0.66,0.75)) t=(-20.54,45.07)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=39.50] [y=2.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (86,256) size 124x112 [transform={m=((0.59,0.81)(-0.81,0.59)) t=(61.06,-19.84)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=57.93] [y=63.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (218,6) size 118x71 [transform={m=((0.12,0.99)(-0.99,0.12)) t=(93.53,-5.72)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=5.93] [y=12.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (147,173) size 65x105 [transform={m=((-0.99,-0.16)(0.16,-0.99)) t=(91.56,107.21)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=47.81] [y=30.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (47,0) size 212x132 [transform={m=((0.19,-0.98)(0.98,0.19)) t=(-8.62,89.54)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=68.63] [y=7.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (0,0) size 282x197 [transform={m=((0.19,0.98)(-0.98,0.19)) t=(89.54,-8.62)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-14.75] [y=26.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,105) size 267x294 [transform={m=((0.26,0.97)(-0.97,0.26)) t=(85.36,-11.24)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=28.25] [y=40.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (180,32) size 103x107 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=18.81] [y=53.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,0) size 275x299 [transform={m=((-0.73,-0.68)(0.68,-0.73)) t=(52.47,120.67)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=68.25] [y=-0.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (35,87) size 104x107 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=54.81] [y=67.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (47,372) size 126x28 [transform={m=((-0.53,-0.85)(0.85,-0.53)) t=(34.09,118.90)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=6.93] [y=-12.93] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (0,0) size 209x177 [transform={m=((0.36,0.93)(-0.93,0.36)) t=(78.76,-14.60)}] [fill={[type=LINEAR-GRADIENT] [id="gradient"]}] [x=-9.50] [y=37.50] [width=33.00] [height=65.00]
+    RenderSVGText {text} at (10,90) size 33x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 33x6
+        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 14 width 32.75: "Test completed"
     RenderSVGRect {rect} at (0,0) size 400x400 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
     RenderSVGResourceLinearGradient {linearGradient} [id="gradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
       RenderSVGGradientStop {stop} [offset=0.00] [color=#0000FF]
index 620860e..77eaf7a 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/006-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/006-expected.png differ
index 4967e69..508b601 100644 (file)
@@ -5,9 +5,109 @@ layer at (0,0) size 400x400
     RenderSVGText {text} at (10,10) size 50x6 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 50x6
         chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 21 width 49.75: "SVG Performance test."
-    RenderSVGText {text} at (10,90) size 36x6 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 36x6
-        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 17 width 35.25: "Test not started."
+    RenderSVGRect {rect} at (296,78) size 104x175 [transform={m=((-0.92,0.39)(-0.39,-0.92)) t=(115.56,76.49)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-0.90] [y=22.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (0,0) size 211x286 [transform={m=((-0.79,0.62)(-0.62,-0.79)) t=(120.18,58.62)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=48.50] [y=47.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,7) size 400x393 [transform={m=((0.80,0.60)(-0.60,0.80)) t=(40.16,-20.02)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=42.50] [y=-4.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (46,0) size 188x246 [transform={m=((0.97,0.22)(-0.22,0.97)) t=(12.53,-9.97)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=13.50] [y=-2.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (99,0) size 301x400 [transform={m=((0.98,-0.19)(0.19,0.98)) t=(-8.62,10.46)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=42.50] [y=-43.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (211,121) size 104x62 [transform={m=((0.12,0.99)(-0.99,0.12)) t=(93.53,-5.72)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=33.81] [y=20.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (64,71) size 83x110 [transform={m=((-0.93,0.37)(-0.37,-0.93)) t=(115.09,77.63)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=58.81] [y=63.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (168,124) size 110x125 [transform={m=((-0.83,-0.56)(0.56,-0.83)) t=(63.49,119.41)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=39.93] [y=42.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (355,51) size 45x109 [transform={m=((0.83,0.56)(-0.56,0.83)) t=(36.51,-19.41)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=72.81] [y=-10.19] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (6,252) size 99x148 [transform={m=((0.99,-0.12)(0.12,0.99)) t=(-5.72,6.47)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=0.10] [y=59.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (0,0) size 380x400 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=27.50] [y=-60.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (33,185) size 182x215 [transform={m=((0.87,0.48)(-0.48,0.87)) t=(30.51,-17.97)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=32.63] [y=55.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (158,248) size 219x152 [transform={m=((0.44,-0.90)(0.90,0.44)) t=(-16.86,73.02)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=14.63] [y=55.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (9,184) size 391x216 [transform={m=((-0.71,-0.71)(0.71,-0.71)) t=(50.00,120.71)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-11.75] [y=-29.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((-0.56,0.83)(-0.83,-0.56)) t=(119.41,36.51)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-6.50] [y=1.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (85,0) size 232x327 [transform={m=((1.00,-0.09)(0.09,1.00)) t=(-4.17,4.55)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=27.25] [y=-17.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,112) size 281x288 [transform={m=((0.37,0.93)(-0.93,0.37)) t=(77.63,-15.09)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=30.25] [y=40.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (26,84) size 146x130 [transform={m=((0.57,-0.82)(0.82,0.57)) t=(-19.64,62.28)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=37.75] [y=5.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,158) size 89x209 [transform={m=((0.71,-0.71)(0.71,0.71)) t=(-20.71,50.00)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-11.38] [y=-1.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (209,110) size 176x280 [transform={m=((-0.98,-0.17)(0.17,-0.98)) t=(90.56,107.92)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=7.50] [y=9.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((-0.83,0.56)(-0.56,-0.83)) t=(119.41,63.49)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-7.50] [y=-70.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (232,319) size 162x81 [transform={m=((0.07,-1.00)(1.00,0.07)) t=(-3.37,96.39)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=1.10] [y=61.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (77,0) size 323x400 [transform={m=((-0.97,0.22)(-0.22,-0.97)) t=(109.97,87.47)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-34.50] [y=-71.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (166,0) size 234x392 [transform={m=((-0.67,0.74)(-0.74,-0.67)) t=(120.61,46.30)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-6.75] [y=-29.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (218,224) size 146x121 [transform={m=((0.47,-0.88)(0.88,0.47)) t=(-17.62,70.67)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=33.75] [y=63.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((0.03,-1.00)(1.00,0.03)) t=(-1.71,98.22)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-0.50] [y=-91.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (167,151) size 162x91 [transform={m=((-0.07,-1.00)(1.00,-0.07)) t=(3.61,103.37)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=40.10] [y=42.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (216,240) size 117x67 [transform={m=((-0.09,-1.00)(1.00,-0.09)) t=(4.55,104.17)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=22.93] [y=53.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (104,171) size 240x229 [transform={m=((0.88,0.47)(-0.47,0.88)) t=(29.33,-17.62)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=52.50] [y=40.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,136) size 43x146 [transform={m=((-0.84,-0.54)(0.54,-0.84)) t=(64.70,119.17)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=86.75] [y=1.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (64,90) size 140x86 [transform={m=((-0.16,0.99)(-0.99,-0.16)) t=(107.21,8.44)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=27.75] [y=52.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,166) size 148x132 [transform={m=((-0.17,-0.98)(0.98,-0.17)) t=(9.44,107.92)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=36.63] [y=-14.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (111,122) size 114x124 [transform={m=((0.80,-0.60)(0.60,0.80)) t=(-20.02,40.16)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=38.93] [y=28.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (21,0) size 379x194 [transform={m=((-0.60,-0.80)(0.80,-0.60)) t=(40.16,120.02)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=60.25] [y=39.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,78) size 95x131 [transform={m=((-0.36,0.93)(-0.93,-0.36)) t=(114.60,21.24)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=44.10] [y=80.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (266,230) size 134x132 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,100.00)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=9.50] [y=66.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (279,89) size 118x172 [transform={m=((-0.97,0.26)(-0.26,-0.97)) t=(111.24,85.36)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=5.10] [y=27.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (95,0) size 146x183 [transform={m=((-1.00,0.05)(-0.05,-1.00)) t=(102.55,97.31)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=39.50] [y=55.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (126,0) size 175x116 [transform={m=((0.53,0.85)(-0.85,0.53)) t=(65.91,-18.90)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=8.10] [y=6.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (231,0) size 169x365 [transform={m=((0.98,-0.17)(0.17,0.98)) t=(-7.92,9.44)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=67.25] [y=-2.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (116,167) size 100x109 [transform={m=((0.79,-0.62)(0.62,0.79)) t=(-20.18,41.38)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=33.81] [y=36.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((-0.73,0.68)(-0.68,-0.73)) t=(120.67,52.47)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-8.50] [y=-37.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (37,167) size 304x233 [transform={m=((-0.96,0.29)(-0.29,-0.96)) t=(112.43,83.20)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=41.25] [y=-41.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,47) size 400x353 [transform={m=((0.17,0.98)(-0.98,0.17)) t=(90.56,-7.92)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=35.50] [y=-87.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (292,209) size 108x147 [transform={m=((-0.90,-0.44)(0.44,-0.90)) t=(73.02,116.86)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-1.25] [y=31.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (163,148) size 205x212 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=34.63] [y=4.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (187,0) size 213x273 [transform={m=((0.94,0.34)(-0.34,0.94)) t=(20.12,-14.09)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=49.50] [y=-7.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,0) size 160x321 [transform={m=((1.00,-0.09)(0.09,1.00)) t=(-4.17,4.55)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-11.75] [y=-22.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (217,80) size 183x218 [transform={m=((0.85,0.53)(-0.53,0.85)) t=(34.09,-18.90)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=59.63] [y=8.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (163,273) size 107x101 [transform={m=((0.64,-0.77)(0.77,0.64)) t=(-20.44,56.16)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=22.81] [y=60.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (158,158) size 242x242 [transform={m=((0.63,-0.78)(0.78,0.63)) t=(-20.32,57.39)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=31.50] [y=51.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (9,137) size 168x107 [transform={m=((-0.17,-0.98)(0.98,-0.17)) t=(9.44,107.92)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=47.10] [y=4.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (131,193) size 89x111 [transform={m=((-0.89,0.45)(-0.45,-0.89)) t=(117.25,71.85)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=54.81] [y=29.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (211,222) size 107x101 [transform={m=((0.63,-0.78)(0.78,0.63)) t=(-20.32,57.39)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=39.81] [y=61.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (36,177) size 363x223 [transform={m=((-0.87,0.48)(-0.48,-0.87)) t=(117.97,69.49)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=45.25] [y=-43.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (256,25) size 144x375 [transform={m=((-0.99,-0.16)(0.16,-0.99)) t=(91.56,107.21)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-21.75] [y=0.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,86) size 385x314 [transform={m=((0.62,0.79)(-0.79,0.62)) t=(58.62,-20.18)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=37.25] [y=20.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (208,14) size 67x106 [transform={m=((-0.98,0.17)(-0.17,-0.98)) t=(107.92,90.56)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=27.81] [y=68.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (134,0) size 154x132 [transform={m=((0.83,-0.56)(0.56,0.83)) t=(-19.41,36.51)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=64.10] [y=0.00] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (253,6) size 113x147 [transform={m=((-0.92,0.39)(-0.39,-0.92)) t=(115.56,76.49)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=4.75] [y=50.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (205,0) size 195x154 [transform={m=((0.42,0.91)(-0.91,0.42)) t=(74.18,-16.45)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=19.63] [y=-14.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (50,77) size 103x107 [transform={m=((0.75,0.66)(-0.66,0.75)) t=(45.07,-20.54)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=13.81] [y=40.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,136) size 69x176 [transform={m=((0.88,0.47)(-0.47,0.88)) t=(29.33,-17.62)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-1.90] [y=59.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (50,0) size 265x78 [transform={m=((-0.03,1.00)(-1.00,-0.03)) t=(101.71,1.78)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-14.50] [y=23.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (199,207) size 137x80 [transform={m=((-0.10,0.99)(-0.99,-0.10)) t=(104.95,5.50)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=51.75] [y=15.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,0) size 222x179 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=72.25] [y=49.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (149,25) size 251x214 [transform={m=((-0.34,-0.94)(0.94,-0.34)) t=(20.12,114.09)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=41.50] [y=45.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (0,20) size 151x380 [transform={m=((0.68,-0.73)(0.73,0.68)) t=(-20.67,52.47)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-23.75] [y=-41.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (324,15) size 76x258 [transform={m=((-0.57,0.82)(-0.82,-0.57)) t=(119.64,37.72)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-16.50] [y=-29.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (73,0) size 141x107 [transform={m=((-0.69,-0.72)(0.72,-0.69)) t=(48.77,120.70)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=80.75] [y=51.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (253,137) size 147x237 [transform={m=((0.45,0.89)(-0.89,0.45)) t=(71.85,-17.25)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=68.50] [y=-20.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (224,87) size 176x139 [transform={m=((-0.42,-0.91)(0.91,-0.42)) t=(25.82,116.45)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=38.10] [y=60.50] [width=19.80] [height=39.00]
+    RenderSVGRect {rect} at (163,178) size 83x110 [transform={m=((-0.93,0.37)(-0.37,-0.93)) t=(115.09,77.63)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=45.81] [y=29.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,185) size 30x124 [transform={m=((-0.96,-0.28)(0.28,-0.96)) t=(84.28,111.84)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=90.93] [y=10.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (0,102) size 156x298 [transform={m=((0.99,0.12)(-0.12,0.99)) t=(6.47,-5.72)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-12.75] [y=33.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (212,1) size 135x212 [transform={m=((-0.98,0.19)(-0.19,-0.98)) t=(108.62,89.54)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=13.63] [y=44.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (330,8) size 70x60 [transform={m=((-0.10,0.99)(-0.99,-0.10)) t=(104.95,5.50)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-1.19] [y=-3.19] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (258,292) size 104x106 [transform={m=((-0.72,-0.69)(0.69,-0.72)) t=(51.23,120.70)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-1.19] [y=30.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (129,143) size 137x142 [transform={m=((-0.74,-0.67)(0.67,-0.74)) t=(53.70,120.61)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=39.75] [y=30.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,262) size 170x110 [transform={m=((0.05,-1.00)(1.00,0.05)) t=(-2.55,97.31)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=6.63] [y=-5.38] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (0,121) size 131x145 [transform={m=((0.80,0.60)(-0.60,0.80)) t=(40.16,-20.02)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=13.75] [y=52.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (0,0) size 400x400 [transform={m=((0.90,0.44)(-0.44,0.90)) t=(26.98,-16.86)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-15.50] [y=-52.50] [width=99.00] [height=195.00]
+    RenderSVGRect {rect} at (252,49) size 92x111 [transform={m=((0.87,-0.48)(0.48,0.87)) t=(-17.97,30.51)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=76.81] [y=28.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (96,292) size 146x108 [transform={m=((0.53,-0.85)(0.85,0.53)) t=(-18.90,65.91)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=4.75] [y=47.75] [width=16.50] [height=32.50]
+    RenderSVGRect {rect} at (334,89) size 66x109 [transform={m=((0.54,0.84)(-0.84,0.54)) t=(64.70,-19.17)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=57.93] [y=-12.93] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (189,166) size 211x194 [transform={m=((0.57,0.82)(-0.82,0.57)) t=(62.28,-19.64)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=64.63] [y=14.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (285,222) size 74x120 [transform={m=((-0.99,0.16)(-0.16,-0.99)) t=(107.21,91.56)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=15.93] [y=11.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (156,288) size 71x107 [transform={m=((0.97,-0.22)(0.22,0.97)) t=(-9.97,12.53)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=33.81] [y=71.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (43,0) size 271x281 [transform={m=((0.75,-0.66)(0.66,0.75)) t=(-20.54,45.07)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=39.50] [y=2.50] [width=33.00] [height=65.00]
+    RenderSVGRect {rect} at (86,256) size 124x112 [transform={m=((0.59,0.81)(-0.81,0.59)) t=(61.06,-19.84)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=57.93] [y=63.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (218,6) size 118x71 [transform={m=((0.12,0.99)(-0.99,0.12)) t=(93.53,-5.72)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=5.93] [y=12.07] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (147,173) size 65x105 [transform={m=((-0.99,-0.16)(0.16,-0.99)) t=(91.56,107.21)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=47.81] [y=30.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (47,0) size 212x132 [transform={m=((0.19,-0.98)(0.98,0.19)) t=(-8.62,89.54)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=68.63] [y=7.63] [width=24.75] [height=48.75]
+    RenderSVGRect {rect} at (0,0) size 282x197 [transform={m=((0.19,0.98)(-0.98,0.19)) t=(89.54,-8.62)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-14.75] [y=26.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (0,105) size 267x294 [transform={m=((0.26,0.97)(-0.97,0.26)) t=(85.36,-11.24)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=28.25] [y=40.25] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (180,32) size 103x107 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=18.81] [y=53.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (0,0) size 275x299 [transform={m=((-0.73,-0.68)(0.68,-0.73)) t=(52.47,120.67)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=68.25] [y=-0.75] [width=49.50] [height=97.50]
+    RenderSVGRect {rect} at (35,87) size 104x107 [transform={m=((-0.74,0.67)(-0.67,-0.74)) t=(120.61,53.70)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=54.81] [y=67.81] [width=12.38] [height=24.38]
+    RenderSVGRect {rect} at (47,372) size 126x28 [transform={m=((-0.53,-0.85)(0.85,-0.53)) t=(34.09,118.90)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=6.93] [y=-12.93] [width=14.14] [height=27.86]
+    RenderSVGRect {rect} at (0,0) size 209x177 [transform={m=((0.36,0.93)(-0.93,0.36)) t=(78.76,-14.60)}] [fill={[type=RADIAL-GRADIENT] [id="gradient"]}] [x=-9.50] [y=37.50] [width=33.00] [height=65.00]
+    RenderSVGText {text} at (10,90) size 33x6 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 33x6
+        chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 14 width 32.75: "Test completed"
     RenderSVGRect {rect} at (0,0) size 400x400 [stroke={[type=SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00]
     RenderSVGResourceRadialGradient {radialGradient} [id="gradient"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.50]
       RenderSVGGradientStop {stop} [offset=0.00] [color=#0000FF]
index 44b4f47..025dff0 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/hixie/perf/007-expected.png and b/LayoutTests/platform/mac/svg/hixie/perf/007-expected.png differ
index ec8012b..98c7d88 100644 (file)
@@ -177,6 +177,6 @@ layer at (0,0) size 800x600
     RenderSVGText {text} at (10,2) size 611x9 contains 1 chunk(s)
       RenderSVGInlineText {#text} at (0,0) size 611x9
         chunk 1 text run 1 at (10.00,9.00) startOffset 0 endOffset 179 width 611.00: "Based on map data marked \x{A9} copyright iMapping Ltd. Used without permission under the auspices of Fair Use to improve interoperability. Source: http://www.wherearewe.co.nz/svg.html"
-    RenderSVGText {text} at (280,302) size 236x35 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 236x35
-        chunk 1 text run 1 at (280.00,330.00) startOffset 0 endOffset 21 width 236.00: "Test not yet started."
+    RenderSVGText {text} at (280,302) size 182x35 contains 1 chunk(s)
+      RenderSVGInlineText {#text} at (0,0) size 182x35
+        chunk 1 text run 1 at (280.00,330.00) startOffset 0 endOffset 14 width 182.00: "Test completed"
index 2765039..95cb191 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/repaint/filter-child-repaint-expected.png and b/LayoutTests/platform/mac/svg/repaint/filter-child-repaint-expected.png differ
index 10aef64..5fc0750 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/repaint/image-href-change-expected.png and b/LayoutTests/platform/mac/svg/repaint/image-href-change-expected.png differ
index 8ce1daa..f732fd6 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/repaint/image-with-clip-path-expected.png and b/LayoutTests/platform/mac/svg/repaint/image-with-clip-path-expected.png differ
index f1feba8..6467c62 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/text/append-text-node-to-tspan-expected.png and b/LayoutTests/platform/mac/svg/text/append-text-node-to-tspan-expected.png differ
index daa8012..565545a 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/text/modify-text-node-in-tspan-expected.png and b/LayoutTests/platform/mac/svg/text/modify-text-node-in-tspan-expected.png differ
index cdabb74..a777637 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/text/remove-text-node-from-tspan-expected.png and b/LayoutTests/platform/mac/svg/text/remove-text-node-from-tspan-expected.png differ
index 1e60439..4155a40 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/text/remove-tspan-from-text-expected.png and b/LayoutTests/platform/mac/svg/text/remove-tspan-from-text-expected.png differ
index d3967ac..c07d6a5 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.png and b/LayoutTests/platform/mac/svg/text/text-text-05-t-expected.png differ
index 41ba167..630d9cb 100644 (file)
@@ -575,5 +575,5 @@ layer at (0,0) size 800x600
       RenderSVGInlineText {#text} at (0,0) size 269x47
         chunk 1 text run 1 at (10.00,350.00) startOffset 0 endOffset 16 width 268.20: "$Revision: 1.8 $"
     RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
-selection start: position 0 of child 0 {#text} of child 1 {text} of child 5 {g} of child 13 {g} of child 9 {svg} of document
-selection end:   position 16 of child 0 {#text} of child 15 {text} of child 9 {svg} of document
+selection start: position 0 of child 0 {#text} of child 1 {text} of child 5 {g} of child 15 {g} of child 9 {svg} of document
+selection end:   position 16 of child 0 {#text} of child 17 {text} of child 9 {svg} of document
index a54bb44..0e842c9 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png and b/LayoutTests/platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png differ
index 849ce47..bba2375 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png differ
index 2258de7..86ce3db 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png differ
index 6a51faf..a946d37 100644 (file)
@@ -16,3 +16,4 @@ layer at (0,0) size 800x161
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
index 5a658e5..b58f3b3 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.png differ
index e42fab7..e12b74a 100644 (file)
@@ -17,3 +17,4 @@ layer at (0,0) size 785x665
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
index 532259a..2e60ab5 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png differ
index f17646b..a15fc44 100644 (file)
@@ -13,3 +13,4 @@ layer at (0,0) size 800x400
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
index d3fc81b..6af6f36 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png differ
index ba5a6cc..92c9576 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.png differ
index cb1c3b8..2691c70 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png differ
index 20ebffc..634fafb 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-image-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-image-expected.png differ
index 86c284a..899ee13 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-object-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-object-expected.png differ
index cfd3dbe..3095b26 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.png and b/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.png differ
index 181bd63..c3c8030 100644 (file)
@@ -21,3 +21,4 @@ layer at (0,0) size 800x171
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
index cc1c827..7821e38 100644 (file)
@@ -44,3 +44,4 @@ layer at (0,0) size 800x375
         text run at (0,352) width 234: "The image of Tux should fill the entire red square."
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
index 0736c58..54646ef 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.png differ
index 0736c58..54646ef 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png differ
index 4aeb63d..f0b2cae 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png differ
index f3ae499..d87f3e1 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/zoom-foreignObject-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/zoom-foreignObject-expected.png differ
index 243c087..63b20a3 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png differ
index 6ddf938..e04bad2 100644 (file)
@@ -17,3 +17,4 @@ layer at (0,0) size 800x486
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
index 3515af1..5f146db 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png differ
index a692436..edc04f2 100644 (file)
Binary files a/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png and b/LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png differ
index 0a5fe6b..68eda18 100644 (file)
@@ -13,3 +13,4 @@ layer at (0,0) size 800x309
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
index 0b2ca94..004175e 100644 (file)
@@ -1,5 +1,18 @@
 <html>
 <head>
+  <script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  function repaintTest() {
+    if (!window.layoutTestController)
+      return;
+
+    // The animation lasts 100ms. Wait 200ms for the repaint.
+    layoutTestController.waitUntilDone();
+    setTimeout(function() {
+      layoutTestController.notifyDone();
+    }, 200);
+  }
+  </script>
   <style type="text/css" media="screen">
     div {
       background: red;
@@ -9,23 +22,8 @@
       width: 800px;
     }
   </style>
-  <script type="text/javascript" charset="utf-8">
-    if (window.layoutTestController)
-      layoutTestController.waitUntilDone();
-    
-    function pageLoaded() 
-    {
-      window.setTimeout(function() {
-        if (window.layoutTestController)
-          layoutTestController.notifyDone();
-      }, 400);    // empirically determined delay. SVG animation has 100ms duration.
-    }
-
-    window.addEventListener('load', pageLoaded, false);
-  </script>
-  </script>
 </head>
-<body style='margin: 0px'>
+<body style='margin: 0px' onload="runRepaintTest()">
 <div>&nbsp;</div>
 </body>
 </html>
index 4a51251..024fa65 100644 (file)
@@ -21,7 +21,7 @@
             <text font-size="36" x="20" y="140">6</text>
             <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000" />
             <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4" >
-              <set attributeName="width" to="30" begin="0s" fill="freeze"/> 
+              <set attributeName="width" to="30" begin="0.1s" fill="freeze"/>
             </rect>
          </g>
       </g>
index 9448210..5bc78ef 100644 (file)
@@ -9,18 +9,6 @@ div {
   width: 800px;
 }
 </style>
-<script type="text/javascript" charset="utf-8">
-  if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-    // Test image does not load immediately, so have to delay.
-    window.addEventListener('load', function() {
-      window.setTimeout(function() {
-        if (window.layoutTestController)
-          layoutTestController.notifyDone();
-      }, 250);
-    }, false);
-</script>
 </head>
 <body style='margin: 0px'>
 <div>&nbsp;</div>
index 8b321a3..d5bf3ad 100644 (file)
@@ -2,6 +2,12 @@
 <html>
 <head>
   <title>SVG img and bg test</title>
+  <script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  function repaintTest() {
+    document.getElementById('test').className = 'revealed';
+  }
+  </script>
   <style type="text/css" media="screen">
     div {
       -webkit-box-sizing: border-box;
       display: block;
     }
   </style>
-  <script type="text/javascript" charset="utf-8">
-    
-    function doTest()
-    {
-        document.body.offsetTop;
-        if (window.layoutTestController)
-          layoutTestController.display();
-        document.getElementById('test').className = 'revealed';
-    }
-    window.addEventListener('load', doTest, false)
-  </script>
 </head>
-<body>
+<body onload="runRepaintTest()">
 
 <p>You should continue see a full blue circle when part of the element is redrawn (hover to test interactively).</p>
 <div id="test">
@@ -53,4 +48,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
index af133e6..e85a9dd 100644 (file)
@@ -1,26 +1,25 @@
 <html>
 <head>
+  <script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  function repaintTest() {
+    if (!window.layoutTestController)
+      return;
+
+    // The animation lasts 100ms. Wait 200ms for the repaint.
+    layoutTestController.waitUntilDone();
+    setTimeout(function() {
+      layoutTestController.notifyDone();
+    }, 200);
+  }
+  </script>
   <style type="text/css" media="screen">
     img {
       margin: 10px;
     }
   </style>
-  <script type="text/javascript" charset="utf-8">
-    if (window.layoutTestController)
-      layoutTestController.waitUntilDone();
-    
-    function pageLoaded() 
-    {
-      window.setTimeout(function() {
-        if (window.layoutTestController)
-          layoutTestController.notifyDone();
-      }, 400);    // empirically determined delay. SVG animation has 100ms duration.
-    }
-
-    window.addEventListener('load', pageLoaded, false);
-  </script>
 </head>
-<body>
+<body onload="runRepaintTest()">
   <p>Images should redraw correctly when SVG animation runs</p>
   <img src="resources/animated-rect-fixed-size.svg">
 </body>
index 874e874..8b6ce57 100644 (file)
@@ -1,26 +1,25 @@
 <html>
 <head>
+  <script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  function repaintTest() {
+    if (!window.layoutTestController)
+      return;
+
+    // The animation lasts 100ms. Wait 200ms for the repaint.
+    layoutTestController.waitUntilDone();
+    setTimeout(function() {
+      layoutTestController.notifyDone();
+    }, 200);
+  }
+  </script>
   <style type="text/css" media="screen">
     img {
       margin: 10px;
     }
   </style>
-  <script type="text/javascript" charset="utf-8">
-    if (window.layoutTestController)
-      layoutTestController.waitUntilDone();
-
-    function pageLoaded() 
-    {
-        window.setTimeout(function() {
-        if (window.layoutTestController)
-          layoutTestController.notifyDone();
-      }, 400);    // empirically determined delay. SVG animation has 100ms duration.
-    }
-
-    window.addEventListener('load', pageLoaded, false);
-  </script>
 </head>
-<body>
+<body onload="runRepaintTest()">
   <p>Images should redraw correctly when SVG animation runs</p>
   <img height="250px" width="350px" border="2" src="resources/animated-rect-same-image.svg"><br>
   <img height="250px" width="350px" border="2" src="resources/animated-rect-same-image.svg">
index 6122ba6..609695c 100644 (file)
@@ -1,28 +1,29 @@
 <html>
 <head>
+  <script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  function repaintTest() {
+    if (!window.layoutTestController)
+      return;
+
+    // The animation lasts 100ms. Wait 200ms for the repaint.
+    layoutTestController.waitUntilDone();
+    setTimeout(function() {
+      layoutTestController.notifyDone();
+    }, 200);
+  }
+  </script>
   <style type="text/css" media="screen">
     img {
       margin: 10px;
     }
   </style>
-  <script type="text/javascript" charset="utf-8">
-    if (window.layoutTestController)
-      layoutTestController.waitUntilDone();
-    
-    function pageLoaded() 
-    {
-      window.setTimeout(function() {
-        if (window.layoutTestController)
-          layoutTestController.notifyDone();
-      }, 400);    // empirically determined delay. SVG animation has 100ms duration.
-    }
-
-    window.addEventListener('load', pageLoaded, false);
-  </script>
 </head>
-<body>
+<body onload="runRepaintTest()">
   <p>Images should redraw correctly when SVG animation runs</p>
-  <img height="250px" width="350px" border="2" src="resources/animated-rect-fixed-size.svg"><br>
+  <!-- Don't load animated-rect-fixed-size.svg, it will already be loaded, and the animation already ran if animated-svg-as-image-no-fixed-intrinsic-size.html runs before this test! -->
+  <img height="250px" width="350px" border="2" src="resources/animated-rect-fixed-size-2.svg"><br>
+  <!-- animated-rect-relative-size.svg is not loaded by any other test, so there's no problem here -->
   <img height="250px" width="350px" border="2" src="resources/animated-rect-relative-size.svg">
 </body>
 </html>
diff --git a/LayoutTests/svg/as-image/resources/animated-rect-fixed-size-2.svg b/LayoutTests/svg/as-image/resources/animated-rect-fixed-size-2.svg
new file mode 100644 (file)
index 0000000..c8b138d
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480px" height="480px" viewBox="0 0 480 360" version="1.1" baseProfile="tiny">
+   <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+   </SVGTestCase>
+   <title id="test-title">animate-elem-14-t</title>
+   <desc id="test-desc">Test possible values for 'keyTimes'</desc>
+   <g id="test-body-content">
+      <g xml:space="preserve" font-family="Arial" font-size="13.5" stroke-width="3" >
+         <g transform="translate(150,140)">
+            <text font-size="36" x="-140" y="140">Time (s):</text>
+            <text font-size="36" x="290" y="140">0</text>
+            <line x1="300" y1="0" x2="300" y2="100" fill="none" stroke="#880000" />
+            <text font-size="36" x="20" y="140">6</text>
+            <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000" />
+            <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4" >
+               <set attributeName="width" to="30" begin="0.1s" fill="freeze"/> 
+            </rect>
+         </g>
+      </g>
+   </g>
+   <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+</svg>
+
index fd06728..c8b138d 100644 (file)
@@ -21,7 +21,7 @@
             <text font-size="36" x="20" y="140">6</text>
             <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000" />
             <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4" >
-               <set attributeName="width" to="30" begin="0s" fill="freeze"/> 
+               <set attributeName="width" to="30" begin="0.1s" fill="freeze"/> 
             </rect>
          </g>
       </g>
index 4a51251..72a52e7 100644 (file)
@@ -21,7 +21,7 @@
             <text font-size="36" x="20" y="140">6</text>
             <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000" />
             <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4" >
-              <set attributeName="width" to="30" begin="0s" fill="freeze"/> 
+              <set attributeName="width" to="30" begin="0.1s" fill="freeze"/> 
             </rect>
          </g>
       </g>
index fd06728..c8b138d 100644 (file)
@@ -21,7 +21,7 @@
             <text font-size="36" x="20" y="140">6</text>
             <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000" />
             <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4" >
-               <set attributeName="width" to="30" begin="0s" fill="freeze"/> 
+               <set attributeName="width" to="30" begin="0.1s" fill="freeze"/> 
             </rect>
          </g>
       </g>
index 91213b6..7afcc90 100644 (file)
@@ -1,5 +1,11 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
+<script src="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+<script type="text/javascript">
+function repaintTest() {
+    document.getElementById("contentBox").style.setProperty("width", "600px");
+}
+</script>
 <style>
     img, div {
         width: 420px;
     }
 </style>
 </head>
-<body>
+<body onload="runRepaintTest()">
     <p>The svg image contained in the div element (red box) should not change its appearance when width is resized to be larger</p>
-    <div id="contentBox" onclick="resizeBox()">
+    <div id="contentBox">
         <img src="../as-background-image/resources/butterfly.svg"/>
     </div>
-
-    <script type="JavaScript">
-        if (window.layoutTestController)
-            layoutTestController.waitUntilDone();
-
-        if (window.eventSender) {
-            window.setTimeout(function() {
-                eventSender.mouseMoveTo(50, 250);
-                eventSender.mouseDown();
-                eventSender.mouseUp();
-            }, 0);
-        }
-
-        function resizeBox() {
-            document.getElementById("contentBox").style.setProperty("width", "600px");
-            if (window.layoutTestController)
-                layoutTestController.notifyDone();
-        }
-    </script>
 </body>
 </html>
index 17b38da..6248b09 100644 (file)
@@ -2,9 +2,7 @@
 <head>
 <script>window.enablePixelTesting = true;</script>
 <script src="../../fast/js/resources/js-test-pre.js"></script>
-</head>
-<body style="margin: 0px">
-
+<script src="../../fast/repaint/resources/repaint.js"></script>
 <script type="text/javascript">
     function completeTest() {
         var script = document.createElement("script");
         script.src = "../../fast/js/resources/js-test-post.js";
         document.body.appendChild(script);
     }
-</script>
 
-<p id="description"></p>
-<div id="console"></div>
+    function repaintTest() {
+        if (window.layoutTestController)
+            layoutTestController.waitUntilDone();
 
-<script>
-    if (window.layoutTestController)
-        layoutTestController.waitUntilDone();
+        // Test initial reported offsetWidth is 0, as we're not in the tree yet.
+        newObject = document.createElement("object");
+        newObject.setAttribute("style", "border: 1px black solid; background: red");
+        shouldBe("newObject.offsetWidth", "0");
+        shouldBe("newObject.offsetWidth", "0");
 
-    description("Tests that querying offsetWidth twice leads to the same result - no red background should be visible.");
+        // Test that the initial width is 300px + 1px border on each side.
+        document.body.insertBefore(newObject, document.getElementById("description"));
+        shouldBe("newObject.offsetWidth", "302");
+        shouldBe("newObject.offsetWidth", "302");
 
-    // Test initial reported offsetWidth is 0, as we're not in the tree yet.
-    var newObject = document.createElement("object");
-    newObject.setAttribute("style", "border: 1px black solid; background: red");
-    shouldBe("newObject.offsetWidth", "0");
-    shouldBe("newObject.offsetWidth", "0");
+        // Switch to document: "<svg xmlns="http://www.w3.org/2000/svg" width="400" height="200"><rect width="400" height="200" fill="green"/></svg>".
+        // FIXME: This currently fails in WebKit trunk. We don't react on dataAttr changes at all. When manually relayouting using eg. zoom in/out it takes affect.
+        newObject.setAttribute("data", "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0iZ3JlZW4iLz48L3N2Zz4=");
+        shouldBe("newObject.offsetWidth", "502");
+        shouldBe("newObject.offsetWidth", "502");
 
-    // Test that the initial width is 300px + 1px border on each side.
-    document.body.insertBefore(newObject, document.getElementById("description"));
-    shouldBe("newObject.offsetWidth", "302");
-    shouldBe("newObject.offsetWidth", "302");
+        completeTest();
+    }
+</script>
+</head>
+<body style="margin: 0px" onload="runRepaintTest()">
 
-    // Switch to document: "<svg xmlns="http://www.w3.org/2000/svg" width="400" height="200"><rect width="400" height="200" fill="green"/></svg>".
-    // FIXME: This currently fails in WebKit trunk. We don't react on dataAttr changes at all. When manually relayouting using eg. zoom in/out it takes affect.
-    newObject.setAttribute("data", "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iMjAwIj48cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0iZ3JlZW4iLz48L3N2Zz4=");
-    shouldBe("newObject.offsetWidth", "502");
-    shouldBe("newObject.offsetWidth", "502");
+<p id="description"></p>
+<div id="console"></div>
 
-    completeTest();
+<script>
+    description("Tests that querying offsetWidth twice leads to the same result - no red background should be visible.");
 </script>
 </body>
 </html>
index 144b106..beb9b24 100644 (file)
@@ -1,12 +1,19 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
-<body style="margin: 0px">
-
-<!-- This test is the same as embedded-svg-size-changes.html but doesn't do any query of the computed style to avoid triggering any layouts -->
-<object style="border: 1px red solid" data="resources/embedded-svg-size-changes-no-layout-triggers.svg"></object>
-
-<script>
+<head>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+<script type="text/javascript">
+function repaintTest() {
     if (window.layoutTestController)
         layoutTestController.waitUntilDone();
+    var object1 = document.getElementsByTagName("object")[0];
+    object1.setAttribute("data", "resources/embedded-svg-size-changes-no-layout-triggers.svg");
+    object1.setAttribute("style", "border: 1px red solid");
+}
 </script>
+</head>
+<body onload="runRepaintTest()" style="margin: 0px">
+
+<!-- This test is the same as embedded-svg-size-changes.html but doesn't do any query of the computed style to avoid triggering any layouts -->
+<object></object>
 </body>
 </html>
index 311c472..6a986f2 100644 (file)
@@ -2,30 +2,38 @@
 <head>
 <script>window.enablePixelTesting = true;</script>
 <script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/repaint/resources/repaint.js"></script>
 </head>
-<body style="margin: 0px">
+<body style="margin: 0px" onload="runRepaintTest()">
 
 <script type="text/javascript">
     function test1() {
+        object1 = document.getElementsByTagName("object")[0];
         debug("Check initial &lt;object&gt; size, before external resource loaded");
 
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).width", "300px");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).height", "150px");
     }
 
-    function test2() {
+    function repaintTest() {
+        object1 = document.getElementsByTagName("object")[0];
+
         debug("");
         debug("Check initial &lt;object&gt; size, after external resource loaded");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).width", "200px");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).height", "200px");
 
-        var svgDoc = object1.getSVGDocument();
-        var svgWindow = svgDoc.defaultView;
-        svgWindow.changeSize();
-        test3();
+        setTimeout(function() {
+            var svgDoc = object1.getSVGDocument();
+            var svgWindow = svgDoc.defaultView;
+            svgWindow.changeSize();
+            test3();
+        }, 0);
     }
 
     function test3() {
+        object1 = document.getElementsByTagName("object")[0];
+
         debug("");
         debug("Check final &lt;object&gt; size, after resizing finished");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).width", "400px");
@@ -39,7 +47,6 @@
 
     function completeTest() {
         var script = document.createElement("script");
-
         script.onload = function() {
             if (window.layoutTestController)
                 layoutTestController.notifyDone();
     }
 </script>
 
-<object style="border: 1px red solid" onload="test2()" data="resources/embedded-svg-size-changes.svg"></object>
+<object style="border: 1px red solid" data="resources/embedded-svg-size-changes.svg"></object>
 <p id="description"></p>
 <div id="console"></div>
 
 <script>
     if (window.layoutTestController)
         layoutTestController.waitUntilDone();
-    var object1 = document.getElementsByTagName("object")[0];
     description("This test checks that intrinsic size changes of an embedded SVG cause immediate updates of the object that embeds it.");
     test1();
 </script>
index 0560aa1..d7c16fb 100644 (file)
@@ -1,11 +1,20 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
-<body style="margin: 0px">
-<!-- This test is the same as nested-embedded-svg-size-changes.html but doesn't do any query of the computed style to avoid triggering any layouts -->
-<object style="border: 1px red solid; width: 400px; height: 200px;" data="resources/nested-embedded-svg-size-changes-target-no-layout-triggers-1.html"></object>
-
-<script>
+<head>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+<script type="text/javascript">
+function repaintTest() {
     if (window.layoutTestController)
         layoutTestController.waitUntilDone();
+    var object1 = document.getElementsByTagName("object")[0];
+    object1.setAttribute("data", "resources/nested-embedded-svg-size-changes-target-no-layout-triggers-1.html");
+    object1.setAttribute("style", "border: 1px red solid; width: 400px; height: 200px");
+}
 </script>
+</head>
+<body onload="runRepaintTest()" style="margin: 0px">
+
+<!-- This test is the same as nested-embedded-svg-size-changes.html but doesn't do any query of the computed style to avoid triggering any layouts -->
+<object></object>
+
 </body>
 </html>
index ae03b4e..afb22a4 100644 (file)
@@ -1,12 +1,20 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
-<body style="margin: 0px">
-
-<!-- This test is the same as nested-embedded-svg-size-changes.html but doesn't do any query of the computed style to avoid triggering any layouts -->
-<object style="border: 1px red solid; width: 400px; height: 200px;" data="resources/nested-embedded-svg-size-changes-target-no-layout-triggers-2.html"></object>
-
-<script>
+<head>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+<script type="text/javascript">
+function repaintTest() {
     if (window.layoutTestController)
         layoutTestController.waitUntilDone();
+    var object1 = document.getElementsByTagName("object")[0];
+    object1.setAttribute("data", "resources/nested-embedded-svg-size-changes-target-no-layout-triggers-2.html");
+    object1.setAttribute("style", "border: 1px red solid; width: 400px; height: 200px");
+}
 </script>
+</head>
+<body onload="runRepaintTest()" style="margin: 0px">
+
+<!-- This test is the same as nested-embedded-svg-size-changes.html but doesn't do any query of the computed style to avoid triggering any layouts -->
+<object></object>
+
 </body>
 </html>
index a1aa2c8..ac889c8 100644 (file)
@@ -2,30 +2,38 @@
 <head>
 <script>window.enablePixelTesting = true;</script>
 <script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/repaint/resources/repaint.js"></script>
 </head>
-<body style="margin: 0px">
+<body style="margin: 0px" onload="runRepaintTest()">
 
 <script type="text/javascript">
     function test1() {
+        object1 = document.getElementsByTagName("object")[0];
         debug("Check initial &lt;object&gt; size, before external resource loaded");
 
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).width", "400px");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).height", "200px");
     }
 
-    function test2() {
+    function repaintTest() {
+        object1 = document.getElementsByTagName("object")[0];
+
         debug("");
         debug("Check initial &lt;object&gt; size, after external resource loaded - should not change.");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).width", "400px");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).height", "200px");
 
-        var htmlDoc = object1.contentDocument;
-        var htmlWindow = htmlDoc.defaultView;
-        htmlWindow.changeSize();
-        test3();
+        setTimeout(function() {
+            var htmlDoc = object1.contentDocument;
+            var htmlWindow = htmlDoc.defaultView;
+            htmlWindow.changeSize();
+            test3();
+        }, 0);
     }
 
     function test3() {
+        object1 = document.getElementsByTagName("object")[0];
+
         debug("");
         debug("Check final &lt;object&gt; size, after resizing finished");
         shouldBeEqualToString("document.defaultView.getComputedStyle(object1).width", "400px");
@@ -39,7 +47,6 @@
 
     function completeTest() {
         var script = document.createElement("script");
-
         script.onload = function() {
             if (window.layoutTestController)
                 layoutTestController.notifyDone();
     }
 </script>
 
-<object style="border: 1px red solid; width: 400px; height: 200px;" onload="setTimeout(test2, 0)" data="resources/nested-embedded-svg-size-changes-target.html"></object>
+<object style="border: 1px red solid; width: 400px; height: 200px;"  data="resources/nested-embedded-svg-size-changes-target.html"></object>
 <p id="description"></p>
 <div id="console"></div>
 
 <script>
     if (window.layoutTestController)
         layoutTestController.waitUntilDone();
-    var object1 = document.getElementsByTagName("object")[0];
     description("This test checks that intrinsic size changes of an embedded SVG cause immediate updates of the object that embeds it.");
     test1();
 </script>
index c954f10..b7b39f1 100644 (file)
@@ -1,13 +1,13 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
+<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" onload="runTest()">
     <rect x="10" y="10" width="180" height="180" fill="green"/>
     <rect transform="translate(200, 0)" x="10" y="10" width="180" height="180" fill="green"/>
     <script>
-        setTimeout(function() {
+        function runTest() {
             var svg = document.getElementsByTagName("svg")[0];
             svg.setAttribute("width", "400");
 
             if (window.layoutTestController)
-                setTimeout(function() { layoutTestController.notifyDone(); }, 0);
-        }, 0);
+                layoutTestController.notifyDone();
+        }
     </script>
 </svg>
index 2eb84ad..c554499 100644 (file)
@@ -9,7 +9,7 @@ function changeSize() {
     svgWindow.changeSize();
 
     if (window.layoutTestController)
-        setTimeout(function() { layoutTestController.notifyDone(); }, 0);
+        layoutTestController.notifyDone();
 }
 </script>
 <object onload="changeSize()" data="embedded-svg-size-changes.svg"></object>
index 8a093ba..098316f 100644 (file)
@@ -1,17 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?AdobeSVGViewer save="snapshot"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 1024 768" onload="init()">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" viewBox="0 0 1024 768" onload="runSVGRepaintTest()">
+    <script type="text/ecmascript" xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <script type="text/ecmascript" xlink:href="resources/helper_functions.js"></script>
     <script type="text/ecmascript" xlink:href="resources/timer.js"></script>
     <script type="text/ecmascript" xlink:href="resources/tabgroup.js"></script>
     <script type="text/ecmascript">
         <![CDATA[
             var tabgroupRect;
-            function init() {
-                window.setTimeout("initTabgroup()",500);
-            }
-            function initTabgroup() {
+            function repaintTest() {
                 //first a few style array literals
                 var tabStyles = {"fill":"lightgray","stroke":"dimgray","stroke-width":1,"cursor":"pointer"};
                 var tabwindowStyles = {"fill":"aliceblue","stroke":"dimgray","stroke-width":1};
@@ -41,6 +39,8 @@
                //tabgroupTriangle.disableAllTabs();
                //tabgroupTriangle.enableSingleTab(3);
                //tabgroupTriangle.enableAllTabs();
+        if (window.layoutTestController)
+            layoutTestController.notifyDone();
     }
             function tabChanged(id,title,index) {
                 alert("tab nr "+index+" with title '"+title+"' was activated in tabgroup '"+id+"'");
index f24ddac..0500523 100644 (file)
@@ -9,7 +9,8 @@
         >
 ]>
 <?AdobeSVGViewer save="snapshot"?>
-<svg width="100%" height="100%" viewBox="0 0 1024 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:attrib="http://www.carto.net/attrib" xmlns:batik="http://xml.apache.org/batik/ext" onload="init(evt)">
+<svg width="100%" height="100%" viewBox="0 0 1024 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:attrib="http://www.carto.net/attrib" xmlns:batik="http://xml.apache.org/batik/ext" onload="runSVGRepaintTest()">
+        <script type="text/ecmascript" xlink:href="../../fast/repaint/resources/repaint.js"></script>
         <script type="text/ecmascript" xlink:href="resources/helper_functions.js"/>
         <script type="text/ecmascript" xlink:href="resources/mapApp.js"/>
         <script type="text/ecmascript" xlink:href="resources/timer.js"/>
@@ -20,8 +21,6 @@
         // to createCalled() were added to prevent a race in which the test may
         // terminate before the final window decoration is added.
         // See <https://bugs.webkit.org/show_bug.cgi?id=21531>.
-        if (window.layoutTestController) 
-            layoutTestController.waitUntilDone();
 
         var numberOfWindows = 7;
         var createCalls = 0;
@@ -33,7 +32,7 @@
 
            //global variables for map application and navigation
            var myMapApp = new mapApp(false,undefined);
-        function init(evt) {
+        function repaintTest() {
             //start a new window array in myMapApp
             myMapApp.Windows = new Array();
             //first a few styles
index 77fe13e..aa02b06 100644 (file)
@@ -1,21 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg">
-<g id="svg-shadow-example" style="-webkit-svg-shadow: rgba(106,119,64, 0.7) 5px 5px 9px;">
-    <rect x="150" y="20" width="200" height="200" fill="red"/>
-    <circle cy="190" cx="320" r="100" fill="blue"/>
-    <text x="270" y="120" fill="green" style="font-weight:bold;font-size:70pt;text-shadow:none;">SVG</text>
-</g>
-<script>
-if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-setTimeout(changeShadow, 0);
-
-function changeShadow() {
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+<script xlink:href="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+<script type="text/javascript">
+function repaintTest() {
     var group = document.getElementsByTagName('g')[0];
     group.style.WebkitSvgShadow = "rgba(64,64,64, 0.7) -9px -9px 6px";
     if (window.layoutTestController)
         layoutTestController.notifyDone();
 }
 </script>
+<g id="svg-shadow-example" style="-webkit-svg-shadow: rgba(106,119,64, 0.7) 5px 5px 9px;">
+    <rect x="150" y="20" width="200" height="200" fill="red"/>
+    <circle cy="190" cx="320" r="100" fill="blue"/>
+    <text x="270" y="120" fill="green" style="font-weight:bold;font-size:70pt;text-shadow:none;">SVG</text>
+</g>
 </svg>
index 19fc427..8a584ee 100644 (file)
@@ -1,23 +1,20 @@
-<?xml version="1.0"?>\r
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink='http://www.w3.org/1999/xlink' width="300px" height="300px" viewBox="0 0 300 300" onload="test()">\r
-    <script type="text/ecmascript"><![CDATA[\r
-        if (window.layoutTestController)\r
-            layoutTestController.notifyDone();\r
-\r
-        function test() {\r
-            var smile = document.getElementById('smile');\r
-            var segList = smile.pathSegList;\r
-            var moveSeg = segList.getItem(0);    // This represents the M 80 40 segment (Move to)\r
-            var smoothCurveSeg = segList.getItem(1); // This represents the S 20 80 80 40 segment (Smooth Curveto)\r
-            setTimeout(function() {\r
-                moveSeg.x = 50;\r
-                moveSeg.y = 50;\r
-        \r
-                if (window.layoutTestController)\r
-                    layoutTestController.notifyDone();\r
-            }, 0);\r
-        }\r
-    ]]></script>\r
-    <path id="smile" d="M 80 40 S 120 80 160 40" stroke="black" stroke-width="3" fill="none"/>\r
-    <text x="10" y="20">There should be a smooth curve below</text>\r
-</svg>\r
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink='http://www.w3.org/1999/xlink' width="300px" height="300px" viewBox="0 0 300 300" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+    <script type="text/javascript">
+    function repaintTest() {
+        var smile = document.getElementById('smile');
+        var segList = smile.pathSegList;
+        var moveSeg = segList.getItem(0);    // This represents the M 80 40 segment (Move to)
+        moveSeg.x = 50;
+        moveSeg.y = 50;
+        if (window.layoutTestController)
+            layoutTestController.notifyDone();
+    }
+    </script>
+    <path id="smile" d="M 80 40 S 120 80 160 40" stroke="black" stroke-width="3" fill="none"/>
+    <g transform="translate(0 50)">
+        <path d="M 50 50 S 120 80 160 40" stroke="black" stroke-width="3" fill="none"/>
+    </g>
+    <text x="10" y="20">Both shapes should look identical</text>
+</svg>
index a5ef998..fc1685d 100644 (file)
@@ -2,8 +2,47 @@
 <head>
 <script>window.enablePixelTesting = true;</script>
 <script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+<script type="text/javascript">
+    function completeTest() {
+        var script = document.createElement("script");
+
+        script.onload = function() {
+            if (window.layoutTestController)
+                layoutTestController.notifyDone();
+        };
+
+        script.src = "../../fast/js/resources/js-test-post.js";
+        document.body.appendChild(script);
+    }
+
+    function repaintTest() {
+        if (window.layoutTestController)
+            layoutTestController.waitUntilDone();
+
+        path = document.getElementById("path");
+        shouldBe("path.pathSegList.numberOfItems", "3");
+
+        // Check initial 'd' attribute value.
+        shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 200 0 L 100 0 L 100 100");
+
+        // Append one item, check 'd' attribute changed.
+        path.pathSegList.appendItem(path.createSVGPathSegLinetoAbs(0, 100));
+        shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 200 0 L 100 0 L 100 100 L 0 100");
+
+        // Modify first item, check 'd' attribute changed.
+        path.pathSegList.getItem(0).x -= 100;
+        shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 100 0 L 100 0 L 100 100 L 0 100");
+
+        // Modify first item, check 'd' attribute changed, now a green rectangle should be visible. 
+        path.pathSegList.getItem(0).x -= 100;
+        shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 0 0 L 100 0 L 100 100 L 0 100");
+        
+        completeTest();
+    }
+</script>
 </head>
-<body>
+<body onload="runRepaintTest()">
 <svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200">
     <path id="path" fill="green" transform="translate(10 10)" d="M 200 0 L 100 0 L 100 100"/>
 </svg>
 <![CDATA[
     description("This is a test how SVGLengthList reacts to XML DOM modifications.");
 
-    // Extend String prototype, to offer a function, that formas the d attribute in the same way across browsers
+    // Extend String prototype, to offer a function, that formats the d attribute in the same way across browsers
     String.prototype.formatDAttribute = function() {
         return this.replace(/,/g, " ")          // Remove Firefox commas
                    .replace(/([A-Z])/g, " $1 ") // "M 100 0L 50 0" -> " M 100 0 L 50 0"
                    .replace(/^\s/, "")          // " M 100 0" -> "M 100 0" 
                    .replace(/\s\s/g, " ");      // If there was already whitespace between coordinates & commands, fix it up again.      
     }
-
-    var path = document.getElementById("path");
-    shouldBe("path.pathSegList.numberOfItems", "3");
-
-    // Check initial 'd' attribute value.
-    shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 200 0 L 100 0 L 100 100");
-
-    // Append one item, check 'd' attribute changed.
-    path.pathSegList.appendItem(path.createSVGPathSegLinetoAbs(0, 100));
-    shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 200 0 L 100 0 L 100 100 L 0 100");
-
-    // Modify first item, check 'd' attribute changed.
-    path.pathSegList.getItem(0).x -= 100;
-    shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 100 0 L 100 0 L 100 100 L 0 100");
-
-    // Modify first item, check 'd' attribute changed, now a green rectangle should be visible.
-    path.pathSegList.getItem(0).x -= 100;
-    shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 0 0 L 100 0 L 100 100 L 0 100");
-
 ]]>
 </script>
-<script src="../../fast/js/resources/js-test-post.js"></script>
 </body>
 </html>
index 52d72d3..c5d90a2 100644 (file)
@@ -1,34 +1,6 @@
 <?xml version="1.0" standalone="no"?>
-<svg width="600" height="500" xmlns="http://www.w3.org/2000/svg">
-  <script type="text/javascript">
-  <![CDATA[
-    if (window.layoutTestController)
-        layoutTestController.waitUntilDone();
-
-        window.onload = function() {
-            var path = document.getElementsByTagName('path')[0];
-            var start = document.getElementById('d_start');
-            var end = document.getElementById('d_end');
-
-            var start_d = path.getAttribute('d');
-            start.textContent = start_d;
-            var list = path.pathSegList;
-            var seg = path.createSVGPathSegLinetoRel(50, 50);
-
-            setTimeout(function() {
-                list.insertItemBefore(seg, 2); 
-                var end_d = path.getAttribute('d');
-                end.textContent = end_d;
-                if(start_d == end_d) {
-                    end.textContent += ' (failed)';
-                }
-
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
-        }
-]]>
-</script>
+<svg width="600" height="500" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+  <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
   <path d="M50,150 l45,-43 l24,64 l-69,-21z" fill="#FF0000" stroke="#000000" stroke-width="5"/>
   <text x="10" y="20" style="font-weight:bold">Right after loading, a segment is added to the path.</text>
   <text x="10" y="40" style="font-weight:bold">The path and its attribute should be updated to include the new segment.</text>
 
   <text x="10" y="90">"d" after: </text>
   <text id="d_end" x="90" y="90"></text>
+
+  <script type="text/javascript">
+  <![CDATA[
+    function repaintTest() {
+        var path = document.getElementsByTagName('path')[0];
+        var start = document.getElementById('d_start');
+        var end = document.getElementById('d_end');
+
+        var start_d = path.getAttribute('d');
+        start.textContent = start_d;
+        var list = path.pathSegList;
+        var seg = path.createSVGPathSegLinetoRel(50, 50);
+
+        list.insertItemBefore(seg, 2);
+        var end_d = path.getAttribute('d');
+        end.textContent = end_d;
+        if(start_d == end_d) {
+            end.textContent += ' (failed)';
+        }
+
+        if (window.layoutTestController)
+            layoutTestController.notifyDone();
+    }
+]]>
+</script>
 </svg>
index 3fff3d1..7c4ffe7 100644 (file)
@@ -1,15 +1,13 @@
-<svg xmlns='http://www.w3.org/2000/svg'>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+  <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
   <rect width='100' height='100' fill='red'/>
   <rect id='r' width='100' height='100' rx='100' fill='green'/>
   <script>
-    function f() {
+    function repaintTest() {
       document.getElementById('r').setAttributeNS(null, "rx", "0");
-      layoutTestController.notifyDone();
-    }
-
-    if (window.layoutTestController)
-      layoutTestController.waitUntilDone();
 
-    setTimeout(f, 1);
+      if (window.layoutTestController)
+        layoutTestController.notifyDone();
+    }
   </script>
 </svg>
index a0d7ee4..3388130 100644 (file)
Binary files a/LayoutTests/svg/filters/animate-fill-expected.png and b/LayoutTests/svg/filters/animate-fill-expected.png differ
index daf8e32..22c5ab2 100644 (file)
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <title>The rectangle should rapidly animate to green.</title>
 <defs>
     <filter id="filt">
@@ -7,19 +8,11 @@
 </defs>
 <rect id="rect" width="100px" height="100px" x="0" y="0" fill="red" filter="url(#filt)" />
 <script>
-    function finish()
-    {
+    function repaintTest() {
         document.getElementById('rect').setAttribute('fill', 'green');
 
         if (window.layoutTestController)
             layoutTestController.notifyDone();
     }
-
-    if (window.layoutTestController) {
-        layoutTestController.waitUntilDone();
-        layoutTestController.display();
-    }
-    
-    setTimeout(finish, 0);
 </script>
 </svg>
index c319b37..8834406 100644 (file)
Binary files a/LayoutTests/svg/filters/feImage-reference-invalidation-expected.png and b/LayoutTests/svg/filters/feImage-reference-invalidation-expected.png differ
index fe4947d..9036654 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <title>There should be a single green square.</title>
     <defs>
         <rect id="rect" width="100" height="100" fill="red" />
     <rect x="0" y="0" width="100" height="100" filter="url(#image)" />
     <script>
     <![CDATA[
-        function runTest()
-        {
+        function repaintTest() {
             document.getElementById("feimage").setAttributeNS("http://www.w3.org/1999/xlink", "href", "#rect2");
 
             if (window.layoutTestController)
                 layoutTestController.notifyDone();
         }
-
-        if (window.layoutTestController) {
-            layoutTestController.waitUntilDone();
-        }
-
-        setTimeout(runTest, 0);
     ]]>
     </script>
 </svg>
index c319b37..8834406 100644 (file)
Binary files a/LayoutTests/svg/filters/feImage-target-add-to-document-expected.png and b/LayoutTests/svg/filters/feImage-target-add-to-document-expected.png differ
index b3c9bf5..32cdb97 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <title>There should be a single green 100x100 square.</title>
     <defs>
         <rect id="red-rect" width="100" height="100" fill="red"/>
     <rect x="0" y="0" width="100" height="100" filter="url(#filter)" />
     <script>
     <![CDATA[
-        function runTest()
+        function repaintTest()
         {
-            setTimeout(function() {
-                var newFEImage = document.createElementNS("http://www.w3.org/2000/svg", "feImage");
-                newFEImage.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#green-rect");
-                document.getElementById("filter").appendChild(newFEImage);
+            var newFEImage = document.createElementNS("http://www.w3.org/2000/svg", "feImage");
+            newFEImage.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#green-rect");
+            document.getElementById("filter").appendChild(newFEImage);
 
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.notifyDone();
         }
-
-        if (window.layoutTestController)
-            layoutTestController.waitUntilDone();
-
-        setTimeout(runTest, 0);
     ]]>
     </script>
 </svg>
index c319b37..8834406 100644 (file)
Binary files a/LayoutTests/svg/filters/feImage-target-changes-id-expected.png and b/LayoutTests/svg/filters/feImage-target-changes-id-expected.png differ
index d0871b7..ce1e17b 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <title>There should be a single green 100x100 square.</title>
     <defs>
         <rect id="notexistant" width="100" height="100" fill="green"/>
     <rect x="0" y="0" width="100" height="100" filter="url(#filter)" />
     <script>
     <![CDATA[
-        function runTest()
-        {
-            setTimeout(function() {
-                document.getElementById("notexistant").setAttribute("id", "rect");
+        function repaintTest() {
+            document.getElementById("notexistant").setAttribute("id", "rect");
 
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.notifyDone();
         }
-
-        if (window.layoutTestController)
-            layoutTestController.waitUntilDone();
-
-        setTimeout(runTest, 0);
     ]]>
     </script>
 </svg>
index c319b37..8834406 100644 (file)
Binary files a/LayoutTests/svg/filters/feImage-target-id-change-expected.png and b/LayoutTests/svg/filters/feImage-target-id-change-expected.png differ
index c52b1ea..20818c0 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <title>There should be a single green 100x100 square.</title>
     <defs>
         <rect id="rect" width="100" height="100" fill="green"/>
     <rect x="0" y="0" width="100" height="100" filter="url(#filter)" />
     <script>
     <![CDATA[
-        function runTest()
-        {
-            setTimeout(function() {
-                document.getElementById("feimage").setAttributeNS("http://www.w3.org/1999/xlink", "href", "#rect");
+        function repaintTest() {
+            document.getElementById("feimage").setAttributeNS("http://www.w3.org/1999/xlink", "href", "#rect");
 
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.notifyDone();
         }
-
-        if (window.layoutTestController)
-            layoutTestController.waitUntilDone();
-
-        setTimeout(runTest, 0);
     ]]>
     </script>
 </svg>
index c319b37..8834406 100644 (file)
Binary files a/LayoutTests/svg/filters/feImage-target-reappend-to-document-expected.png and b/LayoutTests/svg/filters/feImage-target-reappend-to-document-expected.png differ
index 29e4a5d..02f2768 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <title>There should be a single green 100x100 square.</title>
     <defs>
         <rect id="red-rect" width="100" height="100" fill="red"/>
     <rect x="0" y="0" width="100" height="100" filter="url(#filter)" />
     <script>
     <![CDATA[
-        function runTest()
-        {
-            setTimeout(function() {
-                // Move feimage-green after feimage-red
-                var greenImage = document.getElementById("feimage-green");
-                document.getElementById("filter").removeChild(greenImage);
+        function repaintTest() {
+            // Move feimage-green after feimage-red
+            var greenImage = document.getElementById("feimage-green");
+            document.getElementById("filter").removeChild(greenImage);
 
-                setTimeout(function() {
-                    document.getElementById("filter").appendChild(greenImage);
-                    if (window.layoutTestController)
-                        layoutTestController.notifyDone();
-                }, 0);
+            setTimeout(function() {
+                document.getElementById("filter").appendChild(greenImage);
+                if (window.layoutTestController)
+                    layoutTestController.notifyDone();
             }, 0);
         }
-
-        if (window.layoutTestController)
-            layoutTestController.waitUntilDone();
-
-        setTimeout(runTest, 0);
     ]]>
     </script>
 </svg>
index c319b37..8834406 100644 (file)
Binary files a/LayoutTests/svg/filters/feImage-target-remove-from-document-expected.png and b/LayoutTests/svg/filters/feImage-target-remove-from-document-expected.png differ
index 22e74e2..c6f5a5b 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <title>There should be a single green 100x100 square.</title>
     <defs>
         <rect id="red-rect" width="100" height="100" fill="red"/>
     <rect x="0" y="0" width="100" height="100" filter="url(#filter)" />
     <script>
     <![CDATA[
-        function runTest()
-        {
-            setTimeout(function() {
-                document.getElementById("filter").removeChild(document.getElementById("feimage-red"));
+        function repaintTest() {
+            document.getElementById("filter").removeChild(document.getElementById("feimage-red"));
 
-                if (window.layoutTestController)
-                    layoutTestController.notifyDone();
-            }, 0);
+            if (window.layoutTestController)
+                layoutTestController.notifyDone();
         }
-
-        if (window.layoutTestController)
-            layoutTestController.waitUntilDone();
-
-        setTimeout(runTest, 0);
     ]]>
     </script>
 </svg>
index 32e0d9c..a6deaae 100644 (file)
@@ -1,6 +1,7 @@
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-  style="width:300px;height:400px">
+  style="width:300px;height:400px" onload="runSVGRepaintTest()">
 
+<script xlink:href="../../fast/repaint/resources/repaint.js"></script>
 <!-- This tests filters failing to refresh after the initial rendering
 (https://bugs.webkit.org/show_bug.cgi?id=53088).
 There should be no red squares in the output. -->
@@ -102,27 +103,16 @@ There should be no red squares in the output. -->
     for (var i=0; i<elements.length; ++i) {
       elements[i] = document.getElementById(elements[i]);
     }
-    window.onload = wait;
-    
-    function wait() {
-      // OnLoad doesn't seem to wait for the initial painting, wait again.
-      setTimeout(change, 0);
-    }
 
-    function change() {
+    function repaintTest() {
       for (var i=0; i<elements.length; ++i) {
         elements[i].setAttribute('fill', 'green');
       }
-      document.getElementById('filtered').setAttribute('filter', 'url(#toGreen)');
 
-      if (window.layoutTestController) {
-          // Let it repaint and get screenshot.
-          setTimeout(function() { layoutTestController.notifyDone(); }, 0);
-      }
-    }
+      document.getElementById('filtered').setAttribute('filter', 'url(#toGreen)');
 
-    if (window.layoutTestController) {
-        layoutTestController.waitUntilDone();
+      if (window.layoutTestController)
+          layoutTestController.notifyDone();
     }
 ]]></script>
 
index f2b88a9..9c27c23 100644 (file)
@@ -1,27 +1,18 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+<script xlink:href="../../fast/repaint/resources/repaint.js"></script>
 <defs>
 <filter filterUnits="userSpaceOnUse" id="blur" x="0" y="0" width="40" height="140">
     <feGaussianBlur stdDeviation="10"/>
 </filter>
 </defs>
-<rect x="20" y="20" width="100" height="100" style="fill:green;filter:url(#blur);" onclick="changeFilterWidth()"/>
+<rect x="20" y="20" width="100" height="100" style="fill:green;filter:url(#blur);"/>
 <text y="150">You should see a green, blurred rectangle from 20x20 with width/height 100</text>
 
 <script>
-    function changeFilterWidth() {
+    function repaintTest() {
         document.getElementsByTagName("filter")[0].setAttribute("width", "140");
         if (window.layoutTestController)
             layoutTestController.notifyDone();
     }
-
-    if (window.layoutTestController) {
-        layoutTestController.waitUntilDone();
-
-        if (window.eventSender) {
-            eventSender.mouseMoveTo(25, 25);
-            eventSender.mouseDown();
-            eventSender.mouseUp();
-        }
-    }
 </script>
 </svg>
index ccdbfbc..46c21dd 100644 (file)
@@ -1,14 +1,8 @@
-<svg xmlns="http://www.w3.org/2000/svg">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+<script xlink:href="../../fast/repaint/resources/repaint.js"></script>
 <script>
 <![CDATA[
-if (window.layoutTestController) {
-    layoutTestController.waitUntilDone();
-    layoutTestController.display();
-}
-
-setTimeout(executeTest, 0);
-
-function executeTest() {
+function repaintTest() {
     var circle = document.getElementById("circle");
     circle.setAttribute("cx", 100);
     circle.setAttribute("cy", 100);
index eab4faf..802386c 100644 (file)
@@ -1,13 +1,12 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="-200 -200 600 600">
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-200 -200 600 600" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+ <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
  <script type="text/javascript">
   var start = new Date();
   var max = 75;
  
   // When running in DRT only bounce ten times otherwhise this test takes way too long
-  if (window.layoutTestController) {
+  if (window.layoutTestController)
     max = 10;
-    layoutTestController.waitUntilDone();
-  }
  </script>
  <rect fill="none" stroke="black" x="-190" y="-190" width="580" height="580" rx="40"/>
  <text x="-150" y="-150" font-size="10">SVG Performance test.</text>
   var dx = 5;
   var dy = -5;
   var count = 0;
-  function bounce() {
+  function repaintTest() {
    if ((cx + r + dx > 390) || (cx - r + dx < -190))
      dx =- dx;
    cx += dx;
    c.setAttribute('cy', cy);
    ++count;
    if (count < max) {
-     window.setTimeout(bounce, 0);
+     window.setTimeout(repaintTest, 0);
      t.firstChild.data = 'Test in progress... ' + count + ' of ' + max;
    } else {
      if (window.layoutTestController) {
      }
    }
   }
-  window.setTimeout(bounce, 0);
  ]]></script>
 </svg>
index ad8aff3..884a9ab 100644 (file)
@@ -1,13 +1,12 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="-200 -200 600 600">
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-200 -200 600 600" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+ <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
  <script type="text/javascript">
   var start = new Date();
   var max = 75;
 
   // When running in DRT only bounce ten times otherwhise this test takes way too long
-  if (window.layoutTestController) {
-    layoutTestController.waitUntilDone();
+  if (window.layoutTestController)
     max = 10;
-  }
  </script>
  <rect fill="none" stroke="black" x="-190" y="-190" width="580" height="580" rx="40"/>
  <text x="-150" y="-150" font-size="10">SVG Performance test.</text>
   var dx = 5;
   var dy = -5;
   var count = 0;
-  function bounce() {
+  function repaintTest() {
    if ((cx + r + dx > 390) || (cx - r + dx < -190))
      dx =- dx;
    cx += dx;
    c.setAttribute('cy', cy);
    ++count;
    if (count < max) {
-     window.setTimeout(bounce, 0);
+     window.setTimeout(repaintTest, 0);
      t.firstChild.data = 'Test in progress... ' + count + ' of ' + max;
    } else {
      if (window.layoutTestController) {
      }
    }
   }
-  window.setTimeout(bounce, 0);
  ]]></script>
 </svg>
index 11fa18a..23a2236 100644 (file)
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400">
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+ <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
  <script type="text/javascript">
   var start = new Date();
  </script>
     222, 273, 37, 26, 331, 302, 57, 55, 171, 347, 319, 54, 83, 189,
     281, 79, 75, 138, 223, 138, 238, 69);
 
-  var delay = 100;
-  var idealTime = 5000;
+  var delay = 1;
+  var idealTime = 50;
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
 
-  function runTest() {
+  function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
       var newT = document.createElementNS('http://www.w3.org/2000/svg', 'text');
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(runTest, delay);
+      window.setTimeout(repaintTest, delay);
       t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
     } else {
-      var end = new Date();
-      var elapsed = (end - start) / 1000;
-      t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
-      if (parent.reportResults) parent.reportResults(end - start);
+      if (window.layoutTestController) {
+        t.firstChild.data = 'Test completed';
+        layoutTestController.notifyDone();
+      } else {
+        var end = new Date();
+        var elapsed = (end - start) / 1000;
+        t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
+        if (parent.reportResults) parent.reportResults(end - start);
+      }
     }
   }
-  window.setTimeout(runTest, delay);
  ]]></script>
 </svg>
index d2c2a62..07925c7 100644 (file)
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400">
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+ <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
  <script type="text/javascript">
   var start = new Date();
  </script>
     222, 273, 37, 26, 331, 302, 57, 55, 171, 347, 319, 54, 83, 189,
     281, 79, 75, 138, 223, 138, 238, 69);
 
-  var delay = 100;
-  var idealTime = 5000;
+  var delay = 1;
+  var idealTime = 50;
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
 
-  function runTest() {
+  function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
       var newI = document.createElementNS('http://www.w3.org/2000/svg', 'image');
       newI.setAttribute('y', Ys[index] - (195 / Ss[index]) / 2);
       newI.setAttribute('height', 195 / Ss[index]);
       newI.setAttribute('width', 99 / Ss[index]);
-      newI.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '/resources/images/smallcats');
+      newI.setAttributeNS('http://www.w3.org/1999/xlink', 'href', 'resources/smallcats.gif');
       newI.setAttribute('transform', 'translate(50, 50) rotate(' + Rs[index] + ') translate(-50, -50)');
       newI.appendChild(document.createTextNode(index)); // 'TEST'));
       svg.insertBefore(newI, t);
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(runTest, delay);
+      window.setTimeout(repaintTest, delay);
       t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
     } else {
-      var end = new Date();
-      var elapsed = (end - start) / 1000;
-      t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
-      if (parent.reportResults) parent.reportResults(end - start);
+      if (window.layoutTestController) {
+        t.firstChild.data = 'Test completed';
+        layoutTestController.notifyDone();
+      } else {
+        var end = new Date();
+        var elapsed = (end - start) / 1000;
+        t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
+        if (parent.reportResults) parent.reportResults(end - start);
+      }
     }
   }
-  window.setTimeout(runTest, delay);
  ]]></script>
 </svg>
index 8c4dbae..e96f1e3 100644 (file)
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400">
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+ <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
  <script type="text/javascript">
   var start = new Date();
  </script>
     222, 273, 37, 26, 331, 302, 57, 55, 171, 347, 319, 54, 83, 189,
     281, 79, 75, 138, 223, 138, 238, 69);
 
-  var delay = 100;
-  var idealTime = 5000;
+  var delay = 1;
+  var idealTime = 50;
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
 
-  function runTest() {
+  function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
       var newI = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(runTest, delay);
+      window.setTimeout(repaintTest, delay);
       t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
     } else {
-      var end = new Date();
-      var elapsed = (end - start) / 1000;
-      t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
-      if (parent.reportResults) parent.reportResults(end - start);
+      if (window.layoutTestController) {
+        t.firstChild.data = 'Test completed';
+        layoutTestController.notifyDone();
+      } else {
+        var end = new Date();
+        var elapsed = (end - start) / 1000;
+        t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
+        if (parent.reportResults) parent.reportResults(end - start);
+      }
     }
   }
-  window.setTimeout(runTest, delay);
  ]]></script>
 </svg>
index c53cefa..1bea2f6 100644 (file)
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400">
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="400" height="400" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+ <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
  <script type="text/javascript">
   var start = new Date();
  </script>
     222, 273, 37, 26, 331, 302, 57, 55, 171, 347, 319, 54, 83, 189,
     281, 79, 75, 138, 223, 138, 238, 69);
 
-  var delay = 100;
-  var idealTime = 5000;
+  var delay = 1;
+  var idealTime = 50;
   var maxPerBlock = Xs.length / (idealTime / delay);
   var maxBlocks = Xs.length / maxPerBlock;
   var count = 0;
 
-  function runTest() {
+  function repaintTest() {
     for (var subcount = 0; subcount < maxPerBlock; subcount += 1) {
       var index = count * maxPerBlock + subcount;
       var newI = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
     }
     ++count;
     if (count < maxBlocks) {
-      window.setTimeout(runTest, delay);
+      window.setTimeout(repaintTest, delay);
       t.firstChild.data = 'Test in progress... ' + count + ' of ' + maxBlocks;
     } else {
-      var end = new Date();
-      var elapsed = (end - start) / 1000;
-      t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
-      if (parent.reportResults) parent.reportResults(end - start);
+      if (window.layoutTestController) {
+        t.firstChild.data = 'Test completed';
+        layoutTestController.notifyDone();
+      } else {
+        var end = new Date();
+        var elapsed = (end - start) / 1000;
+        t.firstChild.data = 'Test completed in ' + elapsed.toFixed(2) + 's.';
+        if (parent.reportResults) parent.reportResults(end - start);
+      }
     }
   }
-  window.setTimeout(runTest, delay);
  ]]></script>
 </svg>
index 7196c15..1c53f60 100644 (file)
@@ -1,4 +1,5 @@
-<svg viewBox="0 0 800 400" width="800" xmlns="http://www.w3.org/2000/svg" xmlns:country="http://example.com/">
+ <svg viewBox="0 0 800 400" width="200" xmlns="http://www.w3.org/2000/svg" xmlns:country="http://example.com/" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+ <script xlink:href="../../../fast/repaint/resources/repaint.js"></script>
  <script type="text/javascript">
   var start = new Date();
  </script>
   var t = document.getElementsByTagNameNS('http://www.w3.org/2000/svg', 'text')[2];
 
   var delay = 100;
+  if (window.layoutTestController)
+      delay = 1;
   var low = 200;
   var high = 800;
   var delta = 60;
   var current = low;
   var idealTime = ((high - low) / delta) * delay;
 
-  function runTest() {
+  function repaintTest() {
     svg.setAttribute("width", current);
     if (current < high) {
       t.firstChild.data = 'Test in progress... ' + (100 * (current - low) / (high - low)).toFixed(1) + '%';
       current += delta;
-      window.setTimeout(runTest, delay);
+      window.setTimeout(repaintTest, delay);
     } else {
-      var end = new Date();
-      var elapsed = (end - start) / 1000;
-      t.firstChild.data = 'Result: ' + elapsed.toFixed(2) + 's (target: ' + (idealTime / 1000).toFixed(1) + 's)';
-      if (parent.reportResults) parent.reportResults(end - start);
+      if (window.layoutTestController) {
+        t.firstChild.data = 'Test completed';
+        layoutTestController.notifyDone();
+      } else {
+        var end = new Date();
+        var elapsed = (end - start);
+        t.firstChild.data = 'Result: ' + elapsed.toFixed(2) + 'ms (target: ' + idealTime.toFixed(1) + 'ms)';
+        if (parent.reportResults) parent.reportResults(end - start);
+      }
     }
   }
-  window.setTimeout(runTest, delay);
  ]]></script>
 </svg>
diff --git a/LayoutTests/svg/hixie/perf/resources/smallcats.gif b/LayoutTests/svg/hixie/perf/resources/smallcats.gif
new file mode 100644 (file)
index 0000000..b6b0560
Binary files /dev/null and b/LayoutTests/svg/hixie/perf/resources/smallcats.gif differ
index b7a1b20..7cc4152 100644 (file)
Binary files a/LayoutTests/svg/repaint/container-repaint-expected.png and b/LayoutTests/svg/repaint/container-repaint-expected.png differ
index bfc27d3..f258ef7 100644 (file)
@@ -1,4 +1,12 @@
-<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+<script xlink:href="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  function repaintTest() {
+      document.getElementById('mover').setAttribute('y', 100);
+      if (window.layoutTestController)
+          layoutTestController.notifyDone();
+  }
+  </script>
   <!-- After repositioning, the red rect should be completely hidden behind the second green rect. -->
 
   <g>
 
      <rect y="100" fill="green" width="100" height="50"/>
   </g>
-
-  <script>
-    function move() {
-      document.getElementById('mover').setAttribute('y', 100);
-      if (window.layoutTestController)
-        layoutTestController.notifyDone();
-    }
-
-    window.addEventListener('load', function() { window.setTimeout(move, 0);}, false);
-    if (window.layoutTestController)
-        layoutTestController.waitUntilDone();
-  </script>
 </svg>
index 465fe07..c7b0e4b 100644 (file)
@@ -1,6 +1,15 @@
 <?xml version="1.0" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg width="128px" height="128px" version="1.1" xmlns="http://www.w3.org/2000/svg">
+<svg width="128px" height="128px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+<script xlink:href="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  function repaintTest() {
+    document.getElementById('poke').style.fill = 'green';
+    if (window.layoutTestController)
+      layoutTestController.notifyDone();
+  }
+  </script>
   <defs>
     <filter id="dropShadow">
       <feDropShadow stdDeviation="2" dx="3" dy="3" flood-color="black"/>
     <rect width="64" height="64" style="fill:green"/>
     <rect id='poke' x='32' y='32' width="64" height="64" style="fill:red"/>
   </g>
-
-  <script>
-  window.setTimeout(function() {
-    var poke = document.getElementById('poke');
-    poke.style.fill = 'green';
-
-    if (window.layoutTestController) {
-      layoutTestController.notifyDone();
-    }
-  }, 0);
-
-  if (window.layoutTestController) {
-    layoutTestController.waitUntilDone();
-  }
-  </script>
 </svg>
 
index 283f555..7485414 100644 (file)
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runSVGRepaintTest()">
+    <script xlink:href="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
     <text y="-50">200x200 green rect should be visible</text>
 
     <!-- 216x14 green rect -->
     var greenSquare = "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gWkSUNDX1BST0ZJTEUAAQEAAAWUYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAAA1ZjcHJ0AAAE0AAAADh3dHB0AAAFCAAAABRyWFlaAAAFHAAAABRnWFlaAAAFMAAAABRiWFlaAAAFRAAAABRyVFJDAAAFWAAAAA5jaGFkAAAFaAAAACxiVFJDAAAFWAAAAA5nVFJDAAAFWAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAATAAAADHB0QlIAAAAmAAAA9GZyRlUAAAAoAAABGnpoVFcAAAAWAAABQml0SVQAAAAoAAABWG5iTk8AAAAmAAABgGtvS1IAAAAWAAABpmRlREUAAAAsAAABvHN2U0UAAAAmAAABgHpoQ04AAAAWAAAB6GphSlAAAAAaAAAB/nB0UE8AAAAmAAACGG5sTkwAAAAoAAACPmVzRVMAAAAmAAACGGZpRkkAAAAoAAACZnBsUEwAAAAsAAACjnJ1UlUAAAAiAAACumFyRUcAAAAmAAAC3GVuVVMAAAAmAAADAmRhREsAAAAuAAADKABQAGUAcgBmAGkAbAAgAFIARwBCACAARwBlAG4A6QByAGkAYwBvAFAAcgBvAGYAaQBsACAAZwDpAG4A6QByAGkAcQB1AGUAIABSAFYAQpAadSgAIABSAEcAQgAggnJfaWPPj/AAUAByAG8AZgBpAGwAbwAgAFIARwBCACAAZwBlAG4AZQByAGkAYwBvAEcAZQBuAGUAcgBpAHMAawAgAFIARwBCAC0AcAByAG8AZgBpAGzHfLwYACAAUgBHAEIAINUEuFzTDMd8AEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGxmbpAaACAAUgBHAEIAIGPPj/Blh072TgCCLAAgAFIARwBCACAw1zDtMNUwoTCkMOsAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOkAcgBpAGMAbwBBAGwAZwBlAG0AZQBlAG4AIABSAEcAQgAtAHAAcgBvAGYAaQBlAGwAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBvAGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBCBkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQByAGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBHAEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGUAAHRleHQAAAAAQ29weXJpZ2h0IDIwMDcgQXBwbGUgSW5jLiwgYWxsIHJpZ2h0cyByZXNlcnZlZC4AWFlaIAAAAAAAAPNSAAEAAAABFs9YWVogAAAAAAAAdE0AAD3uAAAD0FhZWiAAAAAAAABadQAArHMAABc0WFlaIAAAAAAAACgaAAAVnwAAuDZjdXJ2AAAAAAAAAAEBzQAAc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAAwGz/4QCARXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAKgAgAEAAAAAQAAAMigAwAEAAAAAQAAAMgAAAAA/9sAQwAgFhgcGBQgHBocJCIgJjBQNDAsLDBiRko6UHRmenhyZnBugJC4nICIropucKDaoq6+xM7Qznya4vLgyPC4ys7G/9sAQwEiJCQwKjBeNDRexoRwhMbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbG/8AAEQgAyADIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8ApUUUVynGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//Z";
 
     var image = document.getElementById("image");
-    if (window.layoutTestController) {
+    if (window.layoutTestController)
         layoutTestController.dumpAsText(true);
-        layoutTestController.waitUntilDone();
-    }
 
-    function finishTest() {
-        if (window.layoutTestController)
-            layoutTestController.notifyDone();
-    }
+    function repaintTest() {
+        image.onload = function() {
+            if (window.layoutTestController)
+                layoutTestController.notifyDone();
+        };
 
-    function runTest() {
-        setTimeout(function() {
-            image.onload = function() { setTimeout(finishTest, 0); };
-            image.setAttributeNS('http://www.w3.org/1999/xlink', 'href', greenSquare);
-        }, 0);
+        image.setAttributeNS('http://www.w3.org/1999/xlink', 'href', greenSquare);
     }
-
-    setTimeout(runTest, 0);
 </script>
 </svg>
index fdab186..c71173a 100644 (file)
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="600">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="startTest()" width="1000" height="600">
+    <script xlink:href="../../fast/repaint/resources/repaint.js" type="text/javascript"></script>
     <text y="-10">Bug 76559: All red should disappear</text>
     <g id="g" transform="translate(0, 0)">
         <defs>
@@ -6,12 +7,19 @@
                 <rect id="r" x="-10" y="-10" width="20" height="20" />
             </clipPath>
         </defs>
-        <image x="-30" y="-30" width="60" height="60"  externalResourcesRequired="true" clip-path="url(#p)" xlink:href="initially-broken"/>
+        <image x="-30" y="-30" width="60" height="60" clip-path="url(#p)" xlink:href=""/>
     </g>
 <script>
     var green = "data:image/gif;base64,R0lGODlhAQABAIAAAAD/AAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==";
     var red = "data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==";
 
+       var count = 0;
+       function startTest() {
+               if (count == 0)
+                       runSVGRepaintTest();
+               count = count + 1;
+       }
+
     var r = document.querySelector('#r');
     var g = document.querySelector('#g');
     var i = document.querySelector('image');
         r.setAttribute('width', size);
         r.setAttribute('height', size);
         g.setAttribute("transform","translate(" + offset + ",50)");
+               i.setAttribute("externalResourcesRequired", "true");
         i.setAttributeNS('http://www.w3.org/1999/xlink', 'href', img);
     };
 
-    if (window.layoutTestController) {
+    if (window.layoutTestController)
         layoutTestController.dumpAsText(true);
-        layoutTestController.waitUntilDone();
-    }
 
     function finishTest() {
         if (window.layoutTestController)
             layoutTestController.notifyDone();
-       }
+    }
 
     function nextStep() {
-        if (window.layoutTestController)
-            layoutTestController.display();
-
         i.onload = function() { setTimeout(finishTest, 0); };
         update(200, 50, green);
     }
 
-    function runTest() {
+    function repaintTest() {
         i.onload = function() { setTimeout(nextStep, 0); };
         update(50, 100, red);
     }
-       setTimeout(runTest, 0);
 </script>
 </svg>
index 2a93791..73b3f07 100644 (file)
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
-<body>
+<head>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+</head>
+<body onload="runRepaintTest()">
 <svg style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px">
     <title>You should see the word PASS three times</title>
     <text transform="translate(10, 50) scale(10 10)" font-size="12">
 </svg>
 </body>
 <script>
-if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-setTimeout(function() {
+function repaintTest() {
     document.getElementById("modify").appendChild(document.createTextNode("SS"));
-    if (window.layoutTestController)
-        layoutTestController.notifyDone();
-}, 0);
+}
 </script>
 </html>
index b662332..16263e8 100644 (file)
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
-<body>
+<head>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+</head>
+<body onload="runRepaintTest()">
 <svg style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px">
     <title>You should see the word PASS three times</title>
     <text transform="translate(10, 50) scale(10 10)" font-size="12">
 </svg>
 </body>
 <script>
-if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-setTimeout(function() {
+function repaintTest() {
     document.getElementById("modify").firstChild.appendData("SS");
-    if (window.layoutTestController)
-        layoutTestController.notifyDone();
-}, 0);
+}
 </script>
 </html>
index 5668d9e..5aefb26 100644 (file)
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
-<body>
+<head>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+</head>
+<body onload="runRepaintTest()">
 <svg style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px">
     <title>You should see the word PASS two times</title>
     <text transform="translate(10, 50) scale(10 10)" font-size="12">
 </svg>
 </body>
 <script>
-if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-setTimeout(function() {
+function repaintTest() {
     document.getElementById("modify").removeChild(document.getElementById("modify").firstChild);
-    if (window.layoutTestController)
-        layoutTestController.notifyDone();
-}, 0);
+}
 </script>
 </html>
index ee3d800..4d639fd 100644 (file)
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
-<body>
+<head>
+<script src="../../fast/repaint/resources/repaint.js"></script>
+</head>
+<body onload="runRepaintTest()">
 <svg style="position: absolute; top: 0px; left: 0px; bottom: 0px; right: 0px">
     <title>You should see the word PASS two times</title>
     <text id="text" transform="translate(10, 50) scale(10 10)" font-size="12">
 </svg>
 </body>
 <script>
-if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-setTimeout(function() {
+function repaintTest() {
     document.getElementById("text").removeChild(document.getElementById("remove"));
-    if (window.layoutTestController)
-        layoutTestController.notifyDone();
-}, 0);
+}
 </script>
 </html>
index daa17b3..5186b75 100644 (file)
@@ -8,7 +8,7 @@
 <!--                                                                      -->
 <!-- Author : Vincent Hardy,  06-Jan-2004                                 --><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
 
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="tiny" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360">
+<svg onload="runSVGRepaintTest()" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="tiny" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360">
     <SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" owner="VH" desc="Tests that the viewer can handle the rotate         attribute on the text element" status="accepted" version="$Revision: 1.8 $" testname="$RCSfile: text-text-05-t.svg,v $">
         <OperatorScript>
             <Paragraph>
@@ -29,6 +29,7 @@
     <title id="test-title">text-fontSize-01-t.svg</title>
     <desc id="test-desc"/>
 
+    <script xlink:href="../../fast/repaint/resources/repaint.js"></script>
     <!--======================================================================-->
     <!--Content of Test Case follows...                  =====================-->
     <!--======================================================================-->
     <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
     
 <script>
-if (window.layoutTestController) {
-    layoutTestController.waitUntilDone();
+if (window.layoutTestController)
     layoutTestController.dumpSelectionRect();
-}
 
-setTimeout(function() { 
+function repaintTest() {
     document.execCommand("SelectAll");
     if (window.layoutTestController)
         layoutTestController.notifyDone();
-}, 0);
+}
 </script>
 </svg>
index 7919510..5584554 100644 (file)
@@ -1,6 +1,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <title>SVG inside transformed div</title>
+  <script src="../../fast/repaint/resources/repaint.js"></script>
   <style>
     body {
       background-color: white;
@@ -14,7 +15,7 @@
     }
   </style>
 </head>
-<body>
+<body onload="runRepaintTest()">
   <p>CSS Transformed HTML div with SVG inside it. Animated SVG should repaint correctly.</p>
   <div class="box">
       <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 480 360">
   </div>
 </body>
 <script>
-function doTheMoves() {
+function repaintTest() {
     document.getElementById("rect").setAttribute("x", "300");
     document.getElementById("text").setAttribute("y", "300");
     document.getElementById("image").setAttribute("x", "350");
     document.getElementById("image").setAttribute("y", "320");
-    if (window.layoutTestController)
-        layoutTestController.notifyDone();
-}
-if (window.layoutTestController)
-    layoutTestController.waitUntilDone();
-
-window.onload = function() {
-    // Delay until after the first paint
-    setTimeout(doTheMoves, 100);
 }
 </script>
 </html>
index 9353851..d58001b 100644 (file)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
 <!-- DRT uses 800x600 default, so zooming in once should not lead to visible scrollbars -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="480" height="360">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="480" height="360" onload="runSVGRepaintTest()">
     <rect x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
 
     <defs>
         <script>var zoomCount = 1;</script>
+        <script xlink:href="../../../fast/repaint/resources/repaint.js"/>
         <script xlink:href="../resources/testPageZoom.js"/>
     </defs>
 </svg>
index 3c24bb1..f6b338c 100644 (file)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
 <!-- DRT uses 800x600 default, so zooming in three times should show up scrollbars -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="480" height="360">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="480" height="360" onload="runSVGRepaintTest()">
     <rect x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
 
     <defs>
         <script>var zoomCount = 3;</script>
+        <script xlink:href="../../../fast/repaint/resources/repaint.js"/>
         <script xlink:href="../resources/testPageZoom.js"/>
     </defs>
 </svg>
index d692e91..d6b7208 100644 (file)
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
 <!-- DRT uses 800x600 default, so zooming in once should not lead to visible scrollbars -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" onload="runSVGRepaintTest()">
     <rect x="1%" y="1%" width="98%" height="98%" fill="none" stroke="#000000"/>
 
     <defs>
         <script>var zoomCount = 3;</script>
+        <script xlink:href="../../../fast/repaint/resources/repaint.js"/>
         <script xlink:href="../resources/testPageZoom.js"/>
     </defs>
 </svg>
index f376530..6120967 100644 (file)
     </style>
 </head>
 
-<body>
+<body onload="runRepaintTest()">
 <div></div>
 
 <script>var zoomCount = 4;</script>
+<script src="../../../fast/repaint/resources/repaint.js"></script>
 <script src="../resources/testPageZoom.js"></script>
 
 </body>
index 8e21ce0..87f5d93 100644 (file)
     </style>
 </head>
 
-<body>
+<body onload="runRepaintTest()">
 <div class="png"></div>
 <div class="svg"></div>
 <div class="gradient"></div>
 <img src="resources/circle.svg"></img>
 
 <script>var zoomCount = 3; window.shouldZoomOut = true;</script>
+<script src="../../../fast/repaint/resources/repaint.js"></script>
 <script src="../resources/testPageZoom.js"></script>
 
 </body>
index 5bcdec9..deac2d4 100644 (file)
@@ -28,7 +28,7 @@ fill='none' stroke='blue'/>">
 <!-- Author : Vincent Hardy                                                -->
 <!-- Modified for svg 1.1 by Ola Andersson, 07-Mar-2002                    -->
 <!--======================================================================-->
-<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360">
+<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" onload="runSVGRepaintTest()">
     <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
         <OperatorScript version="$Revision: 1.6 $" testname="coords-viewattr-01-b.svg">
             <Paragraph>
@@ -124,6 +124,7 @@ fill='none' stroke='blue'/>">
     <defs>
         <!-- Note that the zooming won't have any visible effect except for stroke size changes, as width/height is 100% -->
         <script>var zoomCount = 2;</script>
+        <script xlink:href="../../../fast/repaint/resources/repaint.js"/>
         <script xlink:href="../resources/testPageZoom.js"/>
     </defs>
 </svg>
index 389e6f3..2b3d10f 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<svg xmlns="http://www.w3.org/2000/svg"
+<svg xmlns="http://www.w3.org/2000/svg" onload="runSVGRepaintTest()"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      xmlns:xhtml="http://www.w3.org/1999/xhtml">
 <foreignObject x="10" y="10" width="580" height="380" transform="scale(5) skewY(5) skewX(5)">
@@ -10,6 +10,7 @@
 
 <defs>
   <script>var zoomCount = 2;</script>
+  <script xlink:href="../../../fast/repaint/resources/repaint.js"/>
   <script xlink:href="../resources/testPageZoom.js"/>
 </defs>
 </svg>
index 5fe117f..141dc1c 100644 (file)
@@ -1,7 +1,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 </head>
-<body style="margin:0; border:0; padding:0;">
+<body style="margin:0; border:0; padding:0;" onload="runRepaintTest()">
 
 <div style="width:500px;height=100px">
 <svg xmlns="http://www.w3.org/2000/svg" version="1.1"
@@ -69,6 +69,7 @@ function executeTest() {
 
 <script>
 if (window.layoutTestController) {
+    layoutTestController.waitUntilDone();
     window.postZoomCallback = executeTest;
 } else {
     debug("This test only works in DRT.");
@@ -77,6 +78,7 @@ if (window.layoutTestController) {
 
 <script src="../../../fast/js/resources/js-test-pre.js"></script>
 <script>var zoomCount = 2;</script>
+<script src="../../../fast/repaint/resources/repaint.js"></script>
 <script src="../resources/testPageZoom.js"></script>
 
 </body>
diff --git