mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
da2e87c2ff
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.
40 lines
958 B
HTML
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>
|