blob: 33e4bd54d20c20fcad791d2a224898a39ffec6b3 [file] [log] [blame]
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>window.enablePixelTesting = true;</script>
<script src="../../resources/js-test-pre.js"></script>
<script src="../../fast/repaint/resources/repaint.js"></script>
</head>
<body style="margin: 0px">
<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 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");
if (window.testRunner)
testRunner.waitUntilDone();
requestSizeChange();
}
function requestSizeChange() {
object1 = document.getElementsByTagName("object")[0];
var htmlDoc = object1.contentDocument;
if (!htmlDoc) {
setTimeout(requestSizeChange, 50);
return;
}
var htmlWindow = htmlDoc.defaultView;
// Wait until the embedded SVG (of the embedded HTML that we're loading), is loaded.
if (htmlWindow.canChangeSize) {
htmlWindow.changeSize();
test3();
} else
setTimeout(requestSizeChange, 50);
}
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");
shouldBeEqualToString("document.defaultView.getComputedStyle(object1).height", "200px");
debug("");
debug("Test passed if you see two green rectangles");
completeTest();
}
function completeTest() {
var script = document.createElement("script");
script.onload = function() {
if (window.testRunner)
testRunner.notifyDone();
};
script.src = "../../resources/js-test-post.js";
document.body.appendChild(script);
}
</script>
<object style="border: 1px red solid; width: 400px; height: 200px;" onload="runRepaintTest()" data="resources/nested-embedded-svg-size-changes-target.html"></object>
<p id="description"></p>
<div id="console"></div>
<script>
description("This test checks that intrinsic size changes of an embedded SVG cause immediate updates of the object that embeds it.");
test1();
</script>
</body>
</html>