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

Side by Side Diff: LayoutTests/inspector/tracing/timeline-paint-and-multiple-style-invalidations.html

Issue 731293006: Implement style invalidation tracking (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address reviewer comments, cleanup Created 6 years 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
(Empty)
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <script src="../../http/tests/inspector/inspector-test.js"></script>
5 <script src="../../http/tests/inspector/timeline-test.js"></script>
6 <script>
7 function multipleStyleRecalcsAndDisplay(callback)
8 {
9 requestAnimationFrame(function() {
10 document.getElementById("testElementOne").className = "red";
11 var forceStyleRecalc1 = document.body.offsetTop;
12 document.getElementById("testElementOne").className = "snow";
13 var forceStyleRecalc2 = document.body.offsetTop;
14 if (window.testRunner)
15 testRunner.displayAsyncThen(callback);
16 });
17 }
18
19
20 function test()
21 {
22 var currentPanel = WebInspector.inspectorView.currentPanel();
23 InspectorTest.assertEquals(currentPanel._panelName, "timeline", "Current pan el should be the timeline.");
24 Runtime.experiments.enableForTest("timelineInvalidationTracking");
25 InspectorTest.invokeAsyncWithTimeline("multipleStyleRecalcsAndDisplay", test MultipleStyleRecalcs);
26
27 function testMultipleStyleRecalcs()
28 {
29 var firstRecalc = InspectorTest.findTimelineRecord(WebInspector.Timeline Model.RecordType.RecalculateStyles, 0);
30 InspectorTest.addArray(firstRecalc._event.invalidationTrackingEvents, In spectorTest.InvalidationFormatters, "", "first style recalc");
31 var secondRecalc = InspectorTest.findTimelineRecord(WebInspector.Timelin eModel.RecordType.RecalculateStyles, 1);
32 InspectorTest.addArray(secondRecalc._event.invalidationTrackingEvents, I nspectorTest.InvalidationFormatters, "", "second style recalc");
33 var firstPaint = InspectorTest.findTimelineRecord(WebInspector.TimelineM odel.RecordType.Paint, 0);
34 InspectorTest.addArray(firstPaint._event.invalidationTrackingEvents, Ins pectorTest.InvalidationFormatters, "", "first paint");
35
36 var thirdRecalc = InspectorTest.findTimelineRecord(WebInspector.Timeline Model.RecordType.RecalculateStyles, 2);
37 InspectorTest.assertTrue(thirdRecalc === undefined, "There should be no additional style recalc records.");
38 var secondPaint = InspectorTest.findTimelineRecord(WebInspector.Timeline Model.RecordType.Paint, 1);
39 InspectorTest.assertTrue(secondPaint === undefined, "There should be no additional paint records.");
40 InspectorTest.completeTest();
41 }
42 }
43 </script>
44 <style>
45 .testHolder > .red { background-color: red; }
46 .testHolder > .green { background-color: green; }
47 .testHolder > .blue { background-color: blue; }
48 .testHolder > .snow { background-color: snow; }
49 </style>
50 </head>
51 <body onload="runTest()">
52 <p>Tests the Timeline API instrumentation of multiple style recalc invalidations and ensures they are all collected on the paint event.</p>
53 <div class="testHolder">
54 <div id="testElementOne">PASS</div><div id="testElementTwo">PASS</div><div id="t estElementThree">PASS</div>
55 </div>
56 </body>
57 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698