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

Unified Diff: third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js

Issue 2399193002: Mark children of an SVG root as needing paint invalidation checking on resize. (Closed)
Patch Set: Created 4 years, 2 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: third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js
diff --git a/third_party/WebKit/LayoutTests/fast/repaint/resources/text-based-repaint.js b/third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js
similarity index 60%
copy from third_party/WebKit/LayoutTests/fast/repaint/resources/text-based-repaint.js
copy to third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js
index 93ce90de5005a2ddfc7aad27197f6a2ab9cb9cbc..ab910edcf9d541f6eaee72494d9ecbb15701598c 100644
--- a/third_party/WebKit/LayoutTests/fast/repaint/resources/text-based-repaint.js
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/resources/text-based-repaint.js
@@ -2,6 +2,7 @@
// time.
window.testIsAsync = false;
window.outputRepaintRects = true;
+window.outputLayerList = false;
// All repaint tests are asynchronous.
if (window.testRunner)
@@ -9,9 +10,13 @@ if (window.testRunner)
if (window.internals) {
internals.settings.setUseDefaultImageInterpolationQuality(true);
- internals.runtimeFlags.slimmingPaintUnderInvalidationCheckingEnabled = true;
+ internals.runtimeFlags.paintUnderInvalidationCheckingEnabled = true;
}
+// Add string names of objects that should be invalidated here. If you use this feature,
+// you must also include testharness.js.
+window.expectedObjectInvalidations = [];
+
function runRepaintTest()
{
if (!window.testRunner || !window.internals) {
@@ -46,6 +51,21 @@ function forceStyleRecalc()
document.documentElement.clientTop;
}
+function checkObjectPaintInvalidations(layersWithInvalidationsText)
+{
+ var layersWithInvalidations = JSON.parse(layersWithInvalidationsText);
+ var objectNameSet = new Set();
+ if (layersWithInvalidations["objectPaintInvalidations"]) {
+ 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 it was not: '" + objectName + "'");
+ });
+}
+
function finishRepaintTest()
{
if (!window.testRunner || !window.internals)
@@ -59,7 +79,12 @@ function finishRepaintTest()
if (window.layerTreeAsTextAdditionalFlags)
flags |= window.layerTreeAsTextAdditionalFlags;
- var repaintRects = window.internals.layerTreeAsText(document, flags);
+ if (window.outputLayerList)
+ flags |= window.internals.OUTPUT_CHILDREN_AS_LAYER_LIST;
+
+ var layersWithInvalidationsText = window.internals.layerTreeAsText(document, flags);
+
+ checkObjectPaintInvalidations(layersWithInvalidationsText);
internals.stopTrackingRepaints(document);
@@ -68,7 +93,7 @@ function finishRepaintTest()
window.outputRepaintRects = false;
if (window.outputRepaintRects)
- testRunner.setCustomTextOutput(repaintRects);
+ testRunner.setCustomTextOutput(layersWithInvalidationsText);
if (window.afterTest)
window.afterTest();

Powered by Google App Engine
This is Rietveld 408576698