blob: fdf38895036f10a1c872f94602fb5ff363468fda [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#testDiv {
transition: transform 30s linear, color 2s, left 4s linear, top 4s linear;
position: absolute;
}
</style>
</head>
<body>
<script src="../../resources/js-test.js"></script>
<div id="testDiv">TEST</div>
<script>
description("Tests that CSS animations that are created while the page is hidden are properly resumed when the page becomes visible.");
jsTestIsAsync = true;
function registerAnimation()
{
testDiv.style.transform = "rotate(170deg) scale(0.2781941414347284)";
}
onload = function() {
setTimeout(function() {
registerAnimation("170");
setTimeout(function() {
shouldBeFalse("internals.animationsAreSuspended()");
shouldBe("internals.numberOfActiveAnimations()", "1");
debug("Suspend animations");
internals.suspendAnimations();
setTimeout(function() {
shouldBeTrue("internals.animationsAreSuspended()");
pausedTransform = window.getComputedStyle(testDiv).transform;
// Change style to make sure it does not make the animation active.
testDiv.style.backgroundColor = "green";
testDiv.offsetLeft;
shouldBeTrue("internals.animationsAreSuspended()");
setTimeout(function() {
shouldBeTrue("internals.animationsAreSuspended()");
shouldBe("window.getComputedStyle(testDiv).transform", "pausedTransform");
debug("Resume animations...");
internals.resumeAnimations();
shouldBecomeEqual("window.getComputedStyle(testDiv).transform != pausedTransform", "true", finishJSTest);
}, 100);
}, 0);
}, 500);
}, 0);
}
</script>
</body>
</html>