Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Unified Diff: LayoutTests/fast/repaint/resources/text-based-repaint.js

Issue 184213004: Fix fast/repaint/block-layout-inline-children-replaced.html (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Re-added the post-test hook as it is needed by svg/dynamic-updates/ tests. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/fast/repaint/resources/text-based-repaint.js
diff --git a/LayoutTests/fast/repaint/resources/text-based-repaint.js b/LayoutTests/fast/repaint/resources/text-based-repaint.js
index 2170cda5d353dada52ca8531dbb8319931c4d009..6f7dbea497682a977faced4c9a8429c65a6ad5c5 100644
--- a/LayoutTests/fast/repaint/resources/text-based-repaint.js
+++ b/LayoutTests/fast/repaint/resources/text-based-repaint.js
@@ -1,34 +1,50 @@
+// Asynchronous tests should manually call finishRepaintTest at the appropriate time.
+window.testIsAsync = false;
+
function runRepaintTest()
{
- if (window.testRunner && window.internals) {
- if (window.enablePixelTesting)
- window.testRunner.dumpAsTextWithPixelResults();
- else
- window.testRunner.dumpAsText();
+ if (!window.testRunner || !window.internals) {
+ setTimeout(repaintTest, 100);
+ return;
+ }
- if (document.body)
- document.body.offsetTop;
- else if (document.documentElement)
- document.documentElement.offsetTop;
+ if (window.enablePixelTesting)
+ testRunner.dumpAsTextWithPixelResults();
+ else
+ testRunner.dumpAsText();
- window.internals.startTrackingRepaints(document);
+ if (window.testIsAsync)
+ testRunner.waitUntilDone();
- repaintTest();
+ if (document.body)
+ document.body.offsetTop;
+ else if (document.documentElement)
+ document.documentElement.offsetTop;
- // force a style recalc.
- var dummy = document.body.offsetTop;
+ window.internals.startTrackingRepaints(document);
- var repaintRects = window.internals.repaintRectsAsText(document);
+ repaintTest();
- window.internals.stopTrackingRepaints(document);
+ if (!window.testIsAsync)
+ finishRepaintTest();
+}
- var pre = document.createElement('pre');
- document.body.appendChild(pre);
- pre.textContent += repaintRects;
+function finishRepaintTest()
+{
+ // Force a style recalc.
+ var dummy = document.body.offsetTop;
- if (window.afterTest)
- window.afterTest();
- } else {
- setTimeout(repaintTest, 100);
- }
+ var repaintRects = window.internals.repaintRectsAsText(document);
+
+ internals.stopTrackingRepaints(document);
+
+ var pre = document.createElement('pre');
+ document.body.appendChild(pre);
+ pre.textContent += repaintRects;
+
+ if (window.afterTest)
+ window.afterTest();
+
+ if (window.testIsAsync)
+ testRunner.notifyDone();
}

Powered by Google App Engine
This is Rietveld 408576698