| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("Tests that we do not crash when scrolling after a paused animated GIF's CachedImage gets destroyed."); |
| jsTestIsAsync = true; |
| |
| onload = function() { |
| image = document.querySelector("img"); |
| |
| debug("Initially outside the viewport"); |
| shouldBecomeEqual("internals.isImageAnimating(image)", "false", function() { |
| debug("Scrolling animation into view"); |
| internals.scrollElementToRect(image, 0, 0, 300, 300); |
| shouldBecomeEqual("internals.isImageAnimating(image)", "true", function() { |
| debug("Scrolling animation out of view"); |
| scroll(0, 0); |
| shouldBecomeEqual("internals.isImageAnimating(image)", "false", function() { |
| image.src = "resources/animated2.gif"; |
| gc(); |
| internals.clearMemoryCache(); |
| |
| setTimeout(function() { |
| gc(); |
| debug("Scrolling back down after image removal"); |
| scroll(500, 500); |
| setTimeout(finishJSTest, 30); |
| }, 0); |
| }); |
| }); |
| }); |
| } |
| </script> |
| <div style="position: relative; width: 1600px; height: 2400px;"> |
| <img src="resources/animated.gif" style="position:absolute; left: 600px; top: 800px;"> |
| </div> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |