| var testSizes = [ |
| { width: 600, height: 500 }, // initial size |
| { width: 600, height: 250 }, // height decrease |
| { width: 400, height: 250 }, // width decrease |
| { width: 400, height: 600 }, // height increase |
| { width: 800, height: 600 } // width increase |
| ]; |
| |
| var sizeIndex = 0; |
| var repaintRects = ""; |
| |
| if (window.internals) { |
| internals.settings.setUseDefaultImageInterpolationQuality(true); |
| internals.runtimeFlags.paintUnderInvalidationCheckingEnabled = true; |
| } |
| |
| function doTest() { |
| if (sizeIndex) { |
| repaintRects += internals.layerTreeAsText(document, window.internals.LAYER_TREE_INCLUDES_PAINT_INVALIDATIONS); |
| internals.stopTrackingRepaints(document); |
| } |
| ++sizeIndex; |
| if (sizeIndex < testSizes.length) { |
| internals.startTrackingRepaints(document); |
| window.resizeTo(testSizes[sizeIndex].width, testSizes[sizeIndex].height); |
| testRunner.layoutAndPaintAsyncThen(doTest); |
| } else if (window.testRunner) { |
| testRunner.setCustomTextOutput(repaintRects); |
| testRunner.notifyDone(); |
| } |
| } |
| |
| if (window.testRunner) { |
| testRunner.useUnfortunateSynchronousResizeMode(); |
| testRunner.waitUntilDone(); |
| onload = function() { |
| window.resizeTo(testSizes[0].width, testSizes[0].height); |
| testRunner.layoutAndPaintAsyncThen(doTest); |
| }; |
| } |