Fix some async repaint tests

Some async layout tests use waitUntilDone() and notifyDone() by
themselves, without setting window.testIsAsync to true.

This may be either unnecessary or incorrect, depending on which of the
test's notifyDone() and text-based-repaint.js's notifyDone() executes
first. If the latter executes first, the test may finish before it's
done causing what the test want to test not fully executed.

BUG=381242

Review URL: https://codereview.chromium.org/316193003

git-svn-id: svn://svn.chromium.org/blink/trunk@175599 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 2d8be25d
...@@ -1045,6 +1045,11 @@ crbug.com/366442 svg/custom/masking-clipping-hidpi.svg [ Pass Failure ] ...@@ -1045,6 +1045,11 @@ crbug.com/366442 svg/custom/masking-clipping-hidpi.svg [ Pass Failure ]
crbug.com/375565 [ Mac ] fast/repaint/caret-with-transformation.html [ Pass Failure ] crbug.com/375565 [ Mac ] fast/repaint/caret-with-transformation.html [ Pass Failure ]
crbug.com/381242 fast/repaint/bugzilla-6473.html [ NeedsRebaseline ]
crbug.com/381242 svg/custom/use-detach.svg [ NeedsRebaseline ]
crbug.com/381242 svg/custom/mask-invalidation.svg [ NeedsRebaseline ]
crbug.com/381242 svg/custom/resource-client-removal.svg [ NeedsRebaseline ]
crbug.com/375567 web-animations-api/w3c/simple-keyframes.html [ Pass Failure ] crbug.com/375567 web-animations-api/w3c/simple-keyframes.html [ Pass Failure ]
crbug.com/376597 web-animations-api/player.html [ Pass Failure ] crbug.com/376597 web-animations-api/player.html [ Pass Failure ]
......
...@@ -5,6 +5,15 @@ ...@@ -5,6 +5,15 @@
(bounds 800.00 600.00) (bounds 800.00 600.00)
(contentsOpaque 1) (contentsOpaque 1)
(drawsContent 1) (drawsContent 1)
(repaint rects
(rect 8.00 156.00 784.00 32.00)
(rect 8.00 156.00 784.00 32.00)
(rect 8.00 152.00 784.00 20.00)
(rect 8.00 136.00 784.00 52.00)
(rect 8.00 136.00 784.00 20.00)
(rect 8.00 136.00 784.00 20.00)
(rect 0.00 172.00 800.00 24.00)
)
) )
) )
) )
......
...@@ -4,20 +4,9 @@ ...@@ -4,20 +4,9 @@
<head> <head>
<script src="resources/text-based-repaint.js"></script> <script src="resources/text-based-repaint.js"></script>
<script type="text/javascript"> <script type="text/javascript">
function finish()
{
document.getElementById('allcontent').style.overflow = '';
if (window.testRunner)
testRunner.notifyDone();
}
function repaintTest() function repaintTest()
{ {
if (window.testRunner) document.getElementById('allcontent').style.overflow = '';
testRunner.waitUntilDone();
window.setTimeout(finish, 1);
} }
</script> </script>
</head> </head>
......
<!DOCTYPE html> <!DOCTYPE html>
<script src="resources/text-based-repaint.js"></script> <script src="resources/text-based-repaint.js"></script>
<script src="../../resources/run-after-display.js"></script>
<script> <script>
if (window.testRunner)
window.jsTestIsAsync = true;
function repaintTest() function repaintTest()
{ {
document.getElementById('node').remove(); document.getElementById('node').remove();
if (window.testRunner) {
runAfterDisplay(function() {
testRunner.notifyDone();
});
}
} }
onload = runRepaintTest; onload = runRepaintTest;
</script> </script>
......
<!DOCTYPE html> <!DOCTYPE html>
<script src="resources/text-based-repaint.js"></script> <script src="resources/text-based-repaint.js"></script>
<script src="../../resources/run-after-display.js"></script>
<script> <script>
if (window.testRunner)
window.jsTestIsAsync = true;
function repaintTest() function repaintTest()
{ {
document.getElementById('remove').style.display='none'; document.getElementById('remove').style.display='none';
if (window.testRunner) {
runAfterDisplay(function() {
testRunner.notifyDone();
});
}
} }
onload = runRepaintTest; onload = runRepaintTest;
</script> </script>
......
<!DOCTYPE html> <!DOCTYPE html>
<script src="resources/text-based-repaint.js"></script> <script src="resources/text-based-repaint.js"></script>
<script src="../../resources/run-after-display.js"></script>
<script> <script>
if (window.testRunner)
window.jsTestIsAsync = true;
function repaintTest() function repaintTest()
{ {
document.getElementById('node').remove(); document.getElementById('node').remove();
if (window.testRunner) {
runAfterDisplay(function() {
testRunner.notifyDone();
});
}
} }
onload = runRepaintTest; onload = runRepaintTest;
</script> </script>
......
<!DOCTYPE html> <!DOCTYPE html>
<script src="resources/text-based-repaint.js"></script> <script src="resources/text-based-repaint.js"></script>
<script src="../../resources/run-after-display.js"></script>
<script> <script>
if (window.testRunner)
window.jsTestIsAsync = true;
function repaintTest() function repaintTest()
{ {
document.getElementById('node').remove(); document.getElementById('node').remove();
if (window.testRunner) {
runAfterDisplay(function() {
testRunner.notifyDone();
});
}
} }
onload = runRepaintTest; onload = runRepaintTest;
</script> </script>
......
...@@ -29,15 +29,12 @@ ...@@ -29,15 +29,12 @@
frame.scrollBy(100, 100); frame.scrollBy(100, 100);
</script> </script>
<script> <script>
window.testIsAsync = true;
function repaintTest() function repaintTest()
{ {
if (window.testRunner) { frame.onscroll = function() {
testRunner.waitUntilDone(); finishRepaintTest();
frame.onscroll = function() { };
if (window.testRunner)
testRunner.notifyDone();
};
}
frame.scrollBy(-90, -90); frame.scrollBy(-90, -90);
} }
</script> </script>
......
...@@ -48,6 +48,9 @@ function forceStyleRecalc() ...@@ -48,6 +48,9 @@ function forceStyleRecalc()
function finishRepaintTest() function finishRepaintTest()
{ {
if (!window.testRunner || !window.internals)
return;
// Force a style recalc. // Force a style recalc.
forceStyleRecalc(); forceStyleRecalc();
......
...@@ -10,12 +10,32 @@ ...@@ -10,12 +10,32 @@
(rect 218.00 94.00 28.00 28.00) (rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00) (rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00) (rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 218.00 94.00 28.00 28.00)
(rect 210.00 57.00 44.00 65.00)
(rect 210.00 57.00 44.00 65.00)
(rect 210.00 57.00 44.00 65.00) (rect 210.00 57.00 44.00 65.00)
(rect 210.00 57.00 44.00 39.00) (rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00) (rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00) (rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00) (rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00) (rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
(rect 210.00 57.00 44.00 39.00)
) )
) )
) )
......
...@@ -6,10 +6,10 @@ ...@@ -6,10 +6,10 @@
(contentsOpaque 1) (contentsOpaque 1)
(drawsContent 1) (drawsContent 1)
(repaint rects (repaint rects
(rect 200.00 100.00 460.00 316.00) (rect 100.00 100.00 460.00 316.00)
(rect 200.00 100.00 403.00 249.00) (rect 100.00 100.00 403.00 249.00)
(rect 200.00 100.00 403.00 249.00) (rect 100.00 100.00 403.00 249.00)
(rect 200.00 100.00 403.00 249.00) (rect 100.00 100.00 403.00 249.00)
(rect 50.00 50.00 460.00 316.00) (rect 50.00 50.00 460.00 316.00)
(rect 50.00 50.00 453.00 299.00) (rect 50.00 50.00 453.00 299.00)
(rect 50.00 50.00 453.00 299.00) (rect 50.00 50.00 453.00 299.00)
......
...@@ -19,13 +19,13 @@ ...@@ -19,13 +19,13 @@
style="fill:red; stroke:blue;"/> style="fill:red; stroke:blue;"/>
</g> </g>
<script> <script>
window.testIsAsync = true;
function repaintTest() { function repaintTest() {
if (window.eventSender) { if (window.eventSender) {
testRunner.waitUntilDone();
eventSender.mouseMoveTo(100, 100); eventSender.mouseMoveTo(100, 100);
eventSender.mouseUp(); eventSender.mouseUp();
eventSender.mouseDown(); eventSender.mouseDown();
setTimeout("testRunner.notifyDone()", 0); setTimeout(finishRepaintTest, 0);
} }
} }
</script> </script>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runRepaintAndPixelTest()"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runRepaintAndPixelTest()">
<script xlink:href="../../fast/repaint/resources/text-based-repaint.js"/> <script xlink:href="../../fast/repaint/resources/text-based-repaint.js"/>
<script> <script>
window.testIsAsync = true;
function draw(x, y) { function draw(x, y) {
var maskrect = document.getElementById("maskRect"); var maskrect = document.getElementById("maskRect");
maskrect.setAttribute("transform", "translate(" + x + "," + y + ")"); maskrect.setAttribute("transform", "translate(" + x + "," + y + ")");
...@@ -22,14 +23,10 @@ function draw(x, y) { ...@@ -22,14 +23,10 @@ function draw(x, y) {
} }
function repaintTest() { function repaintTest() {
if (window.testRunner)
testRunner.waitUntilDone();
draw(150, 50); draw(150, 50);
requestAnimationFrame(function() { requestAnimationFrame(function() {
draw(50, 50); draw(50, 50);
if (window.testRunner) finishRepaintTest();
testRunner.notifyDone();
}); });
} }
......
...@@ -5,6 +5,63 @@ ...@@ -5,6 +5,63 @@
(bounds 800.00 600.00) (bounds 800.00 600.00)
(contentsOpaque 1) (contentsOpaque 1)
(drawsContent 1) (drawsContent 1)
(repaint rects
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
(rect 0.00 0.00 100.00 100.00)
)
) )
) )
) )
......
...@@ -2,11 +2,10 @@ ...@@ -2,11 +2,10 @@
<script xlink:href="../../fast/repaint/resources/text-based-repaint.js"/> <script xlink:href="../../fast/repaint/resources/text-based-repaint.js"/>
<script> <script>
<![CDATA[ <![CDATA[
window.testIsAsync = true;
function repaintTest() { function repaintTest() {
container = document.getElementById("inneruse"); container = document.getElementById("inneruse");
stop = document.getElementById("offset"); stop = document.getElementById("offset");
if (window.testRunner)
testRunner.waitUntilDone();
setTimeout(offset, 0); setTimeout(offset, 0);
} }
var turns = 5; var turns = 5;
...@@ -16,8 +15,8 @@ function offset(){ ...@@ -16,8 +15,8 @@ function offset(){
turns--; turns--;
if (turns > 0) if (turns > 0)
window.setTimeout("offset()", 0) window.setTimeout("offset()", 0)
else if (window.testRunner) else
testRunner.notifyDone(); finishRepaintTest();
} }
]]> ]]>
</script> </script>
......
...@@ -4,12 +4,10 @@ ...@@ -4,12 +4,10 @@
<script xlink:href="../../fast/repaint/resources/text-based-repaint.js"/> <script xlink:href="../../fast/repaint/resources/text-based-repaint.js"/>
<script type="text/javascript"> <script type="text/javascript">
<![CDATA[ <![CDATA[
window.testIsAsync = true;
function repaintTest() { function repaintTest() {
var elem = document.getElementById('use'); var elem = document.getElementById('use');
elem.setAttributeNS(null,'display','inline'); elem.setAttributeNS(null,'display','inline');
if (window.testRunner)
testRunner.waitUntilDone();
window.setTimeout("step2()", 0); window.setTimeout("step2()", 0);
} }
function step2() { function step2() {
...@@ -20,8 +18,7 @@ ...@@ -20,8 +18,7 @@
function step3() { function step3() {
var elem = document.getElementById('use'); var elem = document.getElementById('use');
elem.setAttributeNS(null,'display','inline'); elem.setAttributeNS(null,'display','inline');
if (window.testRunner) finishRepaintTest();
testRunner.notifyDone();
} }
]]> ]]>
</script> </script>
......
...@@ -11,15 +11,10 @@ ...@@ -11,15 +11,10 @@
var greenSquare = "data:image/jpg;base64,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BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8ApUUUVynGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//Z"; var greenSquare = "data:image/jpg;base64,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BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8ApUUUVynGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//Z";
var image = document.getElementById("image"); var image = document.getElementById("image");
if (window.testRunner) { window.testIsAsync = true;
testRunner.dumpAsTextWithPixelResults();
testRunner.waitUntilDone();
}
function repaintTest() { function repaintTest() {
image.onload = function() { image.onload = function() {
if (window.testRunner) finishRepaintTest();
testRunner.notifyDone();
}; };
image.setAttributeNS('http://www.w3.org/1999/xlink', 'href', greenSquare); image.setAttributeNS('http://www.w3.org/1999/xlink', 'href', greenSquare);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment