<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<svg></svg>
<script>
const svgNs = 'http://www.w3.org/2000/svg';
function makeImage(test) {
var image = document.createElementNS(svgNs, 'image');
image.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', 'resources/red-checker.png');
image.setAttribute('width', 10);
image.setAttribute('height', 10);
image.onload = test.step_func(function() {
assert_true(true);
setTimeout(function() { test.done(); }, 0);
});
return image;
}
function makeSvg(test) {
var svgRoot = document.createElementNS(svgNs, 'svg');
svgRoot.onload = test.unreached_func("SVG 'load' should not be fired after document 'load'");
return svgRoot;
}
function makeSvgWithImage(test) {
var svgRoot = makeSvg(test);
svgRoot.appendChild(makeImage(test));
return svgRoot;
}
var t0 = async_test("No 'load' event fired after document load for outer SVG root.");
var t1 = async_test("No 'load' event fired after document load for outer SVG root w/ image.");
var t2 = async_test("No 'load' event fired after document load for inner SVG root.");
var t3 = async_test("No 'load' event fired after document load for inner SVG root w/ image.");
window.onload = function() {
var parsedSvg = document.querySelector('svg');
t0.step(function() { document.body.appendChild(makeSvg(t0)); });
t1.step(function() { document.body.appendChild(makeSvgWithImage(t1)); });
t2.step(function() { parsedSvg.appendChild(makeSvg(t2)); });
t3.step(function() { parsedSvg.appendChild(makeSvgWithImage(t3)); });
setTimeout(function() {
t0.done();
t2.done();
}, 0);
};
</script>