| 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>
|
|
|