| Index: third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js
|
| diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js b/third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d799d0f0843e8f21a182656eadc9e199768ffd68
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js
|
| @@ -0,0 +1,79 @@
|
| +// Asynchronous tests should manually call finishRepaintTest at the appropriate
|
| +// time.
|
| +window.testIsAsync = false;
|
| +window.outputRepaintRects = true;
|
| +
|
| +// All repaint tests are asynchronous.
|
| +if (window.testRunner)
|
| + testRunner.waitUntilDone();
|
| +
|
| +if (window.internals) {
|
| + internals.settings.setUseDefaultImageInterpolationQuality(true);
|
| + internals.runtimeFlags.paintUnderInvalidationCheckingEnabled = true;
|
| +}
|
| +
|
| +function runRepaintTest()
|
| +{
|
| + if (!window.testRunner || !window.internals) {
|
| + setTimeout(repaintTest, 500);
|
| + return;
|
| + }
|
| +
|
| + if (window.enablePixelTesting)
|
| + testRunner.dumpAsTextWithPixelResults();
|
| + else
|
| + testRunner.dumpAsText();
|
| +
|
| + testRunner.layoutAndPaintAsyncThen(function() {
|
| + window.internals.startTrackingRepaints(document);
|
| + repaintTest();
|
| + if (!window.testIsAsync)
|
| + finishRepaintTest();
|
| + });
|
| +}
|
| +
|
| +function runRepaintAndPixelTest()
|
| +{
|
| + window.enablePixelTesting = true;
|
| + runRepaintTest();
|
| +}
|
| +
|
| +function forceStyleRecalc()
|
| +{
|
| + if (document.body)
|
| + document.body.clientTop;
|
| + else if (document.documentElement)
|
| + document.documentElement.clientTop;
|
| +}
|
| +
|
| +function finishRepaintTest()
|
| +{
|
| + if (!window.testRunner || !window.internals)
|
| + return;
|
| +
|
| + // Force a style recalc.
|
| + forceStyleRecalc();
|
| +
|
| + var flags = window.internals.LAYER_TREE_INCLUDES_PAINT_INVALIDATIONS;
|
| +
|
| + if (window.layerTreeAsTextAdditionalFlags)
|
| + flags |= window.layerTreeAsTextAdditionalFlags;
|
| +
|
| + var repaintRects = window.internals.layerTreeAsText(document, flags);
|
| +
|
| + internals.stopTrackingRepaints(document);
|
| +
|
| + // Play nice with JS tests which may want to print out assert results.
|
| + if (window.isJsTest)
|
| + window.outputRepaintRects = false;
|
| +
|
| + if (window.outputRepaintRects)
|
| + testRunner.setCustomTextOutput(repaintRects);
|
| +
|
| + if (window.afterTest)
|
| + window.afterTest();
|
| +
|
| + // Play nice with async JS tests which want to notifyDone themselves.
|
| + if (!window.jsTestIsAsync)
|
| + testRunner.notifyDone();
|
| +}
|
|
|