46 lines
1.5 KiB
HTML
46 lines
1.5 KiB
HTML
<!-- 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) + ')';
|
|
|
|
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>
|