blob: 5eb2e78c196746d638b6e729d0dc79e2d246fc31 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test-pre.js"></script>
<script>
description("Tests that SVG animations are properly paused in disconnected iframes.");
jsTestIsAsync = true;
window.onload = function() {
frame = document.getElementById("testFrame");
grandChildFrame = frame.contentDocument.getElementById("grandChildFrame");
frameWindow = frame.contentWindow;
grandChildWindow = grandChildFrame.contentWindow;
shouldBeFalse("frameWindow.internals.areSVGAnimationsPaused");
shouldBeFalse("frameWindow.document.getElementsByTagName('svg')[0].animationsPaused()");
shouldBeFalse("grandChildWindow.internals.areSVGAnimationsPaused");
shouldBeFalse("grandChildWindow.document.getElementsByTagName('svg')[0].animationsPaused()");
debug("Removing iframe from the document.");
frame.remove();
shouldBeTrue("frameWindow.internals.areSVGAnimationsPaused");
shouldBeTrue("frameWindow.document.getElementsByTagName('svg')[0].animationsPaused()");
shouldBeTrue("grandChildWindow.internals.areSVGAnimationsPaused");
shouldBeTrue("grandChildWindow.document.getElementsByTagName('svg')[0].animationsPaused()");
debug("Add iframe back into the document.");
frame.onload = function() {
shouldBeFalse("frame.contentWindow.internals.areSVGAnimationsPaused");
shouldBeFalse("frame.contentDocument.getElementsByTagName('svg')[0].animationsPaused()");
grandChildFrame = frame.contentDocument.getElementById("grandChildFrame");
grandChildWindow = grandChildFrame.contentWindow;
shouldBeFalse("grandChildWindow.document.getElementsByTagName('svg')[0].animationsPaused()");
finishJSTest();
}
document.body.appendChild(frame);
}
</script>
<iframe id="testFrame" src="resources/frame-with-svg-animation.html"></iframe>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>