blob: ab064ca3916278f0eb10130a67e738a6b6de7dca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
<!-- reftest-wait because it takes at least two changes of the transform style before it becomes active -->
<html class='reftest-wait'>
<head>
<script>
let num = 0;
let numMs = 50;
var changesLeft = 10;
function go() {
window.setTimeout(changeit, 0);
}
function changeit() {
var a = document.getElementById("a");
a.style.transform = 'scale(' + (256.1 + Math.random()*0.01) + ') rotate(1deg)';
num++;
if (changesLeft > 0) {
--changesLeft;
window.setTimeout(changeit, numMs);
}
if (changesLeft == 0) {
// 75-100ms is the timeout for expirty from the active layer tracker.
// Increase the time between transform tweaks to 74ms to give the reftest the best
// chance of running the mozafterpaint handler and checking that there are no more
// paints pending so it can finish.
numMs = 74;
if (num >= 100 && navigator.appVersion.includes("Android")) {
// That's not enough time on Android, so give it a bit more time. This still
// reproduces the original bug with the original patch backed out, even though
// one would think anything over 100ms would not reproduce, I'm not sure why.
// It's better to run the this with this timeout then have the test disabled.
numMs = 200;
}
window.setTimeout(changeit, numMs);
document.documentElement.classList.remove("reftest-wait");
}
}
</script>
</head>
<body onload="go();">
<div id="a" style="width: 1px; height: 1px; position: absolute; left: 200px; top: 200px;">
<img style="width: 1px; height: 1px;" src="repeatable-diagonal-gradient.png">
</div>
</body>
</html>
|