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

Unified Diff: LayoutTests/inspector/tracing/timeline-style-recalc-with-invalidations.html

Issue 653283005: Implement style recalc invalidation tracking in devtools (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix minor typeo: _addInvalidationTrackingEvent Created 6 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: LayoutTests/inspector/tracing/timeline-style-recalc-with-invalidations.html
diff --git a/LayoutTests/inspector/tracing/timeline-style-recalc-invalidations.html b/LayoutTests/inspector/tracing/timeline-style-recalc-with-invalidations.html
similarity index 55%
rename from LayoutTests/inspector/tracing/timeline-style-recalc-invalidations.html
rename to LayoutTests/inspector/tracing/timeline-style-recalc-with-invalidations.html
index ae630df62479a50811817a66fe57734bbf07f2c7..c1f90a769c9e6aa4e3696b4f17c4c912bd2980a6 100644
--- a/LayoutTests/inspector/tracing/timeline-style-recalc-invalidations.html
+++ b/LayoutTests/inspector/tracing/timeline-style-recalc-with-invalidations.html
@@ -7,8 +7,9 @@
function display(callback)
{
requestAnimationFrame(function() {
- document.body.style.backgroundColor = "blue";
- document.getElementById("testElement").style.backgroundColor = "salmon";
+ document.body.style.backgroundColor = "peachpuff";
+ document.getElementById("testElement").style.width = "100px";
+ var forceLayout = document.body.offsetTop;
if (window.testRunner)
testRunner.displayAsyncThen(callback);
});
@@ -17,7 +18,9 @@ function display(callback)
function updateSubframeAndDisplay(callback)
{
requestAnimationFrame(function() {
- frames[0].document.body.children[0].style.backgroundColor = "green";
+ frames[0].document.body.style.backgroundColor = "papayawhip";
+ frames[0].document.body.children[0].style.width = "200px";
+ var forceLayout = frames[0].document.body.offsetTop;
if (window.testRunner)
testRunner.displayAsyncThen(callback);
});
@@ -33,46 +36,35 @@ function test()
function testLocalFrame(next)
{
InspectorTest.invokeAsyncWithTimeline("display", function() {
- var record = InspectorTest.findFirstTimelineRecord(WebInspector.TimelineModel.RecordType.Paint);
+ var record = InspectorTest.findFirstTimelineRecord(WebInspector.TimelineModel.RecordType.RecalculateStyles);
var invalidations = record._event.invalidationTrackingEvents;
InspectorTest.assertEquals(invalidations.length, 2);
InspectorTest.assertEquals(invalidations[0].type, WebInspector.TracingTimelineModel.RecordType.StyleRecalcInvalidationTracking);
InspectorTest.assertEquals(invalidations[0].nodeName, "BODY");
InspectorTest.assertEquals(invalidations[0].reason, "StyleSheetChange");
+ InspectorTest.assertGreaterOrEqual(invalidations[0].stackTrace.length, 1);
InspectorTest.assertEquals(invalidations[1].type, WebInspector.TracingTimelineModel.RecordType.StyleRecalcInvalidationTracking);
InspectorTest.assertEquals(invalidations[1].nodeName, "DIV id='testElement'");
InspectorTest.assertEquals(invalidations[1].reason, "StyleSheetChange");
+ InspectorTest.assertGreaterOrEqual(invalidations[1].stackTrace.length, 1);
InspectorTest.invokeAsyncWithTimeline("updateSubframeAndDisplay", next);
});
},
function testSubframe(next)
{
- var firstPaintRecord = InspectorTest.findFirstTimelineRecord(WebInspector.TimelineModel.RecordType.Paint);
- var secondPaintRecord = undefined;
+ var record = InspectorTest.findFirstTimelineRecord(WebInspector.TimelineModel.RecordType.RecalculateStyles);
- function findSecondPaint(record)
- {
- if (record.type() !== WebInspector.TimelineModel.RecordType.Paint)
- return false;
- if (record === firstPaintRecord)
- return false;
- secondPaintRecord = record;
- return true;
- }
-
- InspectorTest.timelineModel().forAllRecords(findSecondPaint);
-
- // The first paint corresponds to the local frame and should have no invalidations.
- var firstInvalidations = firstPaintRecord._event.invalidationTrackingEvents;
- InspectorTest.assertEquals(firstInvalidations, undefined);
-
- // The second paint corresponds to the subframe and should have our style invalidations.
- var secondInvalidations = secondPaintRecord._event.invalidationTrackingEvents;
- InspectorTest.assertEquals(secondInvalidations.length, 1);
- InspectorTest.assertEquals(secondInvalidations[0].type, WebInspector.TracingTimelineModel.RecordType.StyleRecalcInvalidationTracking);
- InspectorTest.assertEquals(secondInvalidations[0].nodeName, "DIV");
- InspectorTest.assertEquals(secondInvalidations[0].reason, "StyleSheetChange");
+ var invalidations = record._event.invalidationTrackingEvents;
+ InspectorTest.assertEquals(invalidations.length, 2);
+ InspectorTest.assertEquals(invalidations[0].type, WebInspector.TracingTimelineModel.RecordType.StyleRecalcInvalidationTracking);
+ InspectorTest.assertEquals(invalidations[0].nodeName, "BODY");
+ InspectorTest.assertEquals(invalidations[0].reason, "StyleSheetChange");
+ InspectorTest.assertGreaterOrEqual(invalidations[0].stackTrace.length, 1);
+ InspectorTest.assertEquals(invalidations[1].type, WebInspector.TracingTimelineModel.RecordType.StyleRecalcInvalidationTracking);
+ InspectorTest.assertEquals(invalidations[1].nodeName, "DIV");
+ InspectorTest.assertEquals(invalidations[1].reason, "StyleSheetChange");
+ InspectorTest.assertGreaterOrEqual(invalidations[1].stackTrace.length, 1);
next();
}
]);
@@ -80,7 +72,7 @@ function test()
</script>
</head>
<body onload="runTest()">
-<p>Tests the Timeline API instrumentation of style recalc invalidations.</p>
+<p>Tests the Timeline API instrumentation of style recalc events with invalidations.</p>
<div id="testElement">PASS</div>
<iframe src="resources/timeline-iframe-paint.html" style="position: absolute; left: 40px; top: 40px; width: 100px; height: 100px; border: none"></iframe>
</body>

Powered by Google App Engine
This is Rietveld 408576698