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 |
index 2d9d6afd9bad4cf41e8dc5849bb7d2173b30e8ff..12a156144579fd3e56759bdfcea5cdcdfe7cec0f 100644 |
--- a/third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js |
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js |
@@ -13,6 +13,8 @@ if (window.internals) { |
internals.runtimeFlags.paintUnderInvalidationCheckingEnabled = true; |
} |
+window.expectedObjectInvalidations = []; |
fs
2016/10/06 10:51:49
Maybe document that using this part of the framewo
chrishtr
2016/10/06 16:52:04
Done.
|
+ |
function runRepaintTest() |
{ |
if (!window.testRunner || !window.internals) { |
@@ -47,6 +49,19 @@ function forceStyleRecalc() |
document.documentElement.clientTop; |
} |
+function checkObjectPaintInvalidations(layersWithInvalidationsText) |
+{ |
+ var layersWithInvalidations = JSON.parse(layersWithInvalidationsText); |
+ var objectNameSet = new Set(); |
+ layersWithInvalidations["objectPaintInvalidations"].forEach(function(obj) { |
+ objectNameSet.add(obj["object"]); |
+ }); |
+ |
+ window.expectedObjectInvalidations.forEach(function(objectName) { |
+ assert_true(objectNameSet.has(objectName), "Expected object to be invalidated, but was not: '" + objectName + "'"); |
fs
2016/10/06 10:51:49
Nit: ...but it was not
?
chrishtr
2016/10/06 16:52:04
Done.
|
+ }); |
+} |
+ |
function finishRepaintTest() |
{ |
if (!window.testRunner || !window.internals) |
@@ -63,7 +78,9 @@ function finishRepaintTest() |
if (window.outputLayerList) |
flags |= window.internals.OUTPUT_CHILDREN_AS_LAYER_LIST; |
- var repaintRects = window.internals.layerTreeAsText(document, flags); |
+ var layersWithInvalidationsText = window.internals.layerTreeAsText(document, flags); |
+ |
+ checkObjectPaintInvalidations(layersWithInvalidationsText); |
internals.stopTrackingRepaints(document); |
@@ -72,7 +89,7 @@ function finishRepaintTest() |
window.outputRepaintRects = false; |
if (window.outputRepaintRects) |
- testRunner.setCustomTextOutput(repaintRects); |
+ testRunner.setCustomTextOutput(layersWithInvalidationsText); |
if (window.afterTest) |
window.afterTest(); |