| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("Tests that SVG animations are properly paused in iframes that are inserted into hidden pages."); |
| jsTestIsAsync = true; |
| |
| document.addEventListener("visibilitychange", function() { |
| if (document.hidden) { |
| frame = document.createElement("iframe"); |
| frame.onload = function() { |
| setTimeout(function() { |
| shouldBeTrue("frame.contentWindow.internals.areSVGAnimationsPaused"); |
| shouldBeTrue("frame.contentDocument.getElementsByTagName('svg')[0].animationsPaused()"); |
| grandChildFrame = frame.contentDocument.getElementById('grandChildFrame'); |
| shouldBeTrue("grandChildFrame.contentWindow.internals.areSVGAnimationsPaused"); |
| shouldBeTrue("grandChildFrame.contentDocument.getElementsByTagName('svg')[0].animationsPaused()"); |
| |
| debug("Setting page visibility to visible"); |
| if (window.testRunner) |
| testRunner.setPageVisibility("visible"); |
| }, 0); |
| } |
| frame.src = "resources/frame-with-svg-animation.html"; |
| debug("Inserting frame in document"); |
| document.body.appendChild(frame); |
| } else { |
| shouldBeFalse("frame.contentWindow.internals.areSVGAnimationsPaused"); |
| shouldBeFalse("frame.contentDocument.getElementsByTagName('svg')[0].animationsPaused()"); |
| grandChildFrame = frame.contentDocument.getElementById('grandChildFrame'); |
| shouldBeFalse("grandChildFrame.contentWindow.internals.areSVGAnimationsPaused"); |
| shouldBeFalse("grandChildFrame.contentDocument.getElementsByTagName('svg')[0].animationsPaused()"); |
| finishJSTest(); |
| } |
| }); |
| |
| window.onload = function() { |
| debug("Setting page visibility to hidden"); |
| if (window.testRunner) |
| testRunner.setPageVisibility("hidden"); |
| } |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |