gecko/layout/style/crashtests/972199-1.html
Brian Birtles da2e87c2ff Bug 972199 part 2 - Add a crashtest for restoring the refresh driver after an advance; r=nrc
In this crash test we restore the refresh driver after manually advancing it.
This causes a situation where a layer has an animation that has yet to start.

Prior to modifying ElementAnimations::GetPositionIteration this test case would
trip an assertion there that rejected negative elapsed times when called from
the compositor thread.
2014-03-05 10:19:15 +09:00

40 lines
958 B
HTML

<!DOCTYPE HTML>
<html class="reftest-wait">
<head>
<style type="text/css">
@keyframes anim {
0% { transform: translate(0px) }
100% { transform: translate(100px) }
}
div {
width: 100px;
height: 100px;
background-color: white;
}
</style>
</head>
<body>
<div></div>
<script type="application/javascript">
SpecialPowers.setBoolPref("layers.offmainthreadcomposition.async-animations",
true);
window.addEventListener("load", function() {
document.querySelector("div").setAttribute("style",
"animation: 100s 300s anim linear");
advance_clock(200000);
advance_clock(300000);
Promise.resolve().then(function() {
SpecialPowers.DOMWindowUtils.restoreNormalRefresh();
}).then(function() {
document.documentElement.className = "";
});
});
function advance_clock(milliseconds) {
SpecialPowers.DOMWindowUtils.advanceTimeAndRefresh(milliseconds);
}
</script>
</html>