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

Side by Side Diff: LayoutTests/inspector/tracing/timeline-paint-with-layout-invalidations.html

Issue 715803002: DevTools: merge TracingTimelineModel into TimelineModel (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE HTML> 1 <!DOCTYPE HTML>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../http/tests/inspector/inspector-test.js"></script> 4 <script src="../../http/tests/inspector/inspector-test.js"></script>
5 <script src="../../http/tests/inspector/timeline-test.js"></script> 5 <script src="../../http/tests/inspector/timeline-test.js"></script>
6 <script> 6 <script>
7 function display(callback) 7 function display(callback)
8 { 8 {
9 requestAnimationFrame(function() { 9 requestAnimationFrame(function() {
10 document.body.style.backgroundColor = "blue"; 10 document.body.style.backgroundColor = "blue";
(...skipping 20 matching lines...) Expand all
31 InspectorTest.assertEquals(currentPanel._panelName, "timeline", "Current pan el should be the timeline."); 31 InspectorTest.assertEquals(currentPanel._panelName, "timeline", "Current pan el should be the timeline.");
32 Runtime.experiments.enableForTest("timelineInvalidationTracking"); 32 Runtime.experiments.enableForTest("timelineInvalidationTracking");
33 33
34 InspectorTest.runTestSuite([ 34 InspectorTest.runTestSuite([
35 function testLocalFrame(next) 35 function testLocalFrame(next)
36 { 36 {
37 InspectorTest.invokeAsyncWithTimeline("display", function() { 37 InspectorTest.invokeAsyncWithTimeline("display", function() {
38 var record = InspectorTest.findFirstTimelineRecord(WebInspector. TimelineModel.RecordType.Paint); 38 var record = InspectorTest.findFirstTimelineRecord(WebInspector. TimelineModel.RecordType.Paint);
39 var invalidations = record._event.invalidationTrackingEvents; 39 var invalidations = record._event.invalidationTrackingEvents;
40 InspectorTest.assertEquals(invalidations.length, 3); 40 InspectorTest.assertEquals(invalidations.length, 3);
41 InspectorTest.assertEquals(invalidations[0].type, WebInspector.T racingTimelineModel.RecordType.StyleRecalcInvalidationTracking); 41 InspectorTest.assertEquals(invalidations[0].type, WebInspector.T imelineModel.RecordType.StyleRecalcInvalidationTracking);
42 InspectorTest.assertEquals(invalidations[0].nodeName, "BODY"); 42 InspectorTest.assertEquals(invalidations[0].nodeName, "BODY");
43 InspectorTest.assertEquals(invalidations[0].reason, "StyleSheetC hange"); 43 InspectorTest.assertEquals(invalidations[0].reason, "StyleSheetC hange");
44 InspectorTest.assertEquals(invalidations[1].type, WebInspector.T racingTimelineModel.RecordType.StyleRecalcInvalidationTracking); 44 InspectorTest.assertEquals(invalidations[1].type, WebInspector.T imelineModel.RecordType.StyleRecalcInvalidationTracking);
45 InspectorTest.assertEquals(invalidations[1].nodeName, "DIV id='t estElement'"); 45 InspectorTest.assertEquals(invalidations[1].nodeName, "DIV id='t estElement'");
46 InspectorTest.assertEquals(invalidations[1].reason, "StyleSheetC hange"); 46 InspectorTest.assertEquals(invalidations[1].reason, "StyleSheetC hange");
47 InspectorTest.assertEquals(invalidations[2].type, WebInspector.T racingTimelineModel.RecordType.LayoutInvalidationTracking); 47 InspectorTest.assertEquals(invalidations[2].type, WebInspector.T imelineModel.RecordType.LayoutInvalidationTracking);
48 InspectorTest.assertEquals(invalidations[2].nodeName, "DIV id='t estElement'"); 48 InspectorTest.assertEquals(invalidations[2].nodeName, "DIV id='t estElement'");
49 InspectorTest.assertGreaterOrEqual(invalidations[2].stackTrace.l ength, 1); 49 InspectorTest.assertGreaterOrEqual(invalidations[2].stackTrace.l ength, 1);
50 50
51 next(); 51 next();
52 }); 52 });
53 }, 53 },
54 54
55 function testSubframe(next) 55 function testSubframe(next)
56 { 56 {
57 InspectorTest.invokeAsyncWithTimeline("updateSubframeAndDisplay", fu nction() { 57 InspectorTest.invokeAsyncWithTimeline("updateSubframeAndDisplay", fu nction() {
58 // The first paint corresponds to the local frame and should hav e no invalidations. 58 // The first paint corresponds to the local frame and should hav e no invalidations.
59 var firstPaintRecord = InspectorTest.findFirstTimelineRecord(Web Inspector.TimelineModel.RecordType.Paint); 59 var firstPaintRecord = InspectorTest.findFirstTimelineRecord(Web Inspector.TimelineModel.RecordType.Paint);
60 var firstInvalidations = firstPaintRecord._event.invalidationTra ckingEvents; 60 var firstInvalidations = firstPaintRecord._event.invalidationTra ckingEvents;
61 InspectorTest.assertEquals(firstInvalidations, undefined); 61 InspectorTest.assertEquals(firstInvalidations, undefined);
62 62
63 // The second paint corresponds to the subframe and should have our layout/style invalidations. 63 // The second paint corresponds to the subframe and should have our layout/style invalidations.
64 var secondPaintRecord = InspectorTest.findTimelineRecord(WebInsp ector.TimelineModel.RecordType.Paint, 1); 64 var secondPaintRecord = InspectorTest.findTimelineRecord(WebInsp ector.TimelineModel.RecordType.Paint, 1);
65 var secondInvalidations = secondPaintRecord._event.invalidationT rackingEvents; 65 var secondInvalidations = secondPaintRecord._event.invalidationT rackingEvents;
66 InspectorTest.assertEquals(secondInvalidations.length, 3); 66 InspectorTest.assertEquals(secondInvalidations.length, 3);
67 InspectorTest.assertEquals(secondInvalidations[0].type, WebInspe ctor.TracingTimelineModel.RecordType.StyleRecalcInvalidationTracking); 67 InspectorTest.assertEquals(secondInvalidations[0].type, WebInspe ctor.TimelineModel.RecordType.StyleRecalcInvalidationTracking);
68 InspectorTest.assertEquals(secondInvalidations[0].nodeName, "DIV "); 68 InspectorTest.assertEquals(secondInvalidations[0].nodeName, "DIV ");
69 InspectorTest.assertEquals(secondInvalidations[0].reason, "Style SheetChange"); 69 InspectorTest.assertEquals(secondInvalidations[0].reason, "Style SheetChange");
70 InspectorTest.assertEquals(secondInvalidations[1].type, WebInspe ctor.TracingTimelineModel.RecordType.LayoutInvalidationTracking); 70 InspectorTest.assertEquals(secondInvalidations[1].type, WebInspe ctor.TimelineModel.RecordType.LayoutInvalidationTracking);
71 InspectorTest.assertEquals(secondInvalidations[1].nodeName, "DIV "); 71 InspectorTest.assertEquals(secondInvalidations[1].nodeName, "DIV ");
72 InspectorTest.assertGreaterOrEqual(secondInvalidations[1].stackT race.length, 1); 72 InspectorTest.assertGreaterOrEqual(secondInvalidations[1].stackT race.length, 1);
73 InspectorTest.assertEquals(secondInvalidations[2].type, WebInspe ctor.TracingTimelineModel.RecordType.LayoutInvalidationTracking); 73 InspectorTest.assertEquals(secondInvalidations[2].type, WebInspe ctor.TimelineModel.RecordType.LayoutInvalidationTracking);
74 InspectorTest.assertEquals(secondInvalidations[2].nodeName, "#do cument"); 74 InspectorTest.assertEquals(secondInvalidations[2].nodeName, "#do cument");
75 InspectorTest.assertGreaterOrEqual(secondInvalidations[2].stackT race.length, 1); 75 InspectorTest.assertGreaterOrEqual(secondInvalidations[2].stackT race.length, 1);
76 76
77 next(); 77 next();
78 }); 78 });
79 } 79 }
80 ]); 80 ]);
81 } 81 }
82 </script> 82 </script>
83 </head> 83 </head>
84 <body onload="runTest()"> 84 <body onload="runTest()">
85 <p>Tests the Timeline API instrumentation of paint events with layout invalidati ons.</p> 85 <p>Tests the Timeline API instrumentation of paint events with layout invalidati ons.</p>
86 <div id="testElement">PASS</div> 86 <div id="testElement">PASS</div>
87 <iframe src="resources/timeline-iframe-paint.html" style="position: absolute; le ft: 40px; top: 40px; width: 100px; height: 100px; border: none"></iframe> 87 <iframe src="resources/timeline-iframe-paint.html" style="position: absolute; le ft: 40px; top: 40px; width: 100px; height: 100px; border: none"></iframe>
88 </body> 88 </body>
89 </html> 89 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698