mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
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.
This commit is contained in:
parent
32a6b5d8fd
commit
da2e87c2ff
39
layout/style/crashtests/972199-1.html
Normal file
39
layout/style/crashtests/972199-1.html
Normal file
@ -0,0 +1,39 @@
|
||||
<!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>
|
@ -101,4 +101,5 @@ load 927734-1.html
|
||||
load 930270-1.html
|
||||
load 930270-2.html
|
||||
load 945048-1.html
|
||||
load 972199-1.html
|
||||
load large_border_image_width.html
|
||||
|
Loading…
Reference in New Issue
Block a user