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

Side by Side Diff: LayoutTests/inspector-protocol/timeline/timeline-raf.html

Issue 391413003: DevTools: [Timeline] extract common infrastructure from tracing tests. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: comments addressed Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto r-protocol-test.js"></script> 3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto r-protocol-test.js"></script>
4 <script type="text/javascript" src="../../http/tests/inspector-protocol/tracing- test.js"></script>
4 <script> 5 <script>
5 6
6 function testFunction() 7 function performActions(callback)
7 { 8 {
8 var rafId1 = requestAnimationFrame(function() 9 var rafId1 = requestAnimationFrame(function()
9 { 10 {
10 evaluateInFrontend("InspectorTest.testFunctionRequestAnimationFrame(" + rafId1 + ", " + rafId2 + ")"); 11 evaluateInFrontend("InspectorTest.testFunctionRequestAnimationFrame(" + rafId1 + ", " + rafId2 + ")");
12 callback();
11 }); 13 });
12 14
13 var rafId2 = requestAnimationFrame(function() { }); 15 var rafId2 = requestAnimationFrame(function() { });
14 cancelAnimationFrame(rafId2); 16 cancelAnimationFrame(rafId2);
15 } 17 }
16 18
17 function test() 19 function test()
18 { 20 {
19 InspectorTest.eventHandler["Tracing.dataCollected"] = dataCollected; 21 InspectorTest.invokeAsyncWithTracing("performActions", finish);
20 InspectorTest.eventHandler["Tracing.tracingComplete"] = tracingComplete;
21 InspectorTest.sendCommand("Tracing.start", { "categories" : "disabled-by-def ault-devtools.timeline", "type": "" }, onStart);
22 22
23 var firedRaf; 23 var firedRaf;
24 var canceledRaf; 24 var canceledRaf;
25 InspectorTest.testFunctionRequestAnimationFrame = function(rafId1, rafId2) 25 InspectorTest.testFunctionRequestAnimationFrame = function(rafId1, rafId2)
26 { 26 {
27 firedRaf = rafId1; 27 firedRaf = rafId1;
28 canceledRaf = rafId2; 28 canceledRaf = rafId2;
29 InspectorTest.log("SUCCESS: testFunctionRequestAnimationFrame"); 29 InspectorTest.log("SUCCESS: testFunctionRequestAnimationFrame");
30 InspectorTest.sendCommand("Tracing.end", { }, onStop);
31 } 30 }
32 31
33 function onStart(response) 32 function finish(devtoolsEvents)
34 { 33 {
35 InspectorTest.log("Recording started");
36 InspectorTest.sendCommand("Runtime.evaluate", { "expression": "testFunct ion()" });
37 }
38
39 var devtoolsEvents = [];
40 function dataCollected(reply)
41 {
42 var allEvents = reply.params.value;
43 devtoolsEvents = devtoolsEvents.concat(allEvents.filter(function(e)
44 {
45 return e.cat === "disabled-by-default-devtools.timeline";
46 }));
47 }
48
49 function tracingComplete(event)
50 {
51 InspectorTest.log("Tracing complete");
52
53 function hasRafId(id, e) { return e.args.data.id === id} 34 function hasRafId(id, e) { return e.args.data.id === id}
54 35
55 var raf1 = findEvent("RequestAnimationFrame", "I", hasRafId.bind(this, f iredRaf)); 36 var raf1 = InspectorTest.findEvent("RequestAnimationFrame", "I", hasRafI d.bind(this, firedRaf));
56 var raf2 = findEvent("RequestAnimationFrame", "I", hasRafId.bind(this, c anceledRaf)); 37 var raf2 = InspectorTest.findEvent("RequestAnimationFrame", "I", hasRafI d.bind(this, canceledRaf));
57 38
58 InspectorTest.assert(!!raf1.args.data.frame, "RequestAnimationFrame fram e"); 39 InspectorTest.assert(!!raf1.args.data.frame, "RequestAnimationFrame fram e");
59 InspectorTest.assertEquals(raf1.args.data.frame, raf2.args.data.frame, " RequestAnimationFrame frame match"); 40 InspectorTest.assertEquals(raf1.args.data.frame, raf2.args.data.frame, " RequestAnimationFrame frame match");
60 41
61 findEvent("CancelAnimationFrame", "I", hasRafId.bind(this, canceledRaf)) ; 42 InspectorTest.findEvent("CancelAnimationFrame", "I", hasRafId.bind(this, canceledRaf));
62 findEvent("FireAnimationFrame", "X", hasRafId.bind(this, firedRaf)); 43 InspectorTest.findEvent("FireAnimationFrame", "X", hasRafId.bind(this, f iredRaf));
63 44
64 InspectorTest.log("SUCCESS: found all expected events."); 45 InspectorTest.log("SUCCESS: found all expected events.");
65 InspectorTest.completeTest(); 46 InspectorTest.completeTest();
66 } 47 }
67
68 function findEvent(name, ph, condition)
69 {
70 for (var i = 0; i < devtoolsEvents.length; i++) {
71 var e = devtoolsEvents[i];
72 if (e.name === name && e.ph === ph && (!condition || condition(e)))
73 return e;
74 }
75 throw new Error("Couldn't find event " + name + " / " + ph + "\n\n in " + JSON.stringify(devtoolsEvents, null, 2));
76 }
77
78 function onStop(response)
79 {
80 InspectorTest.log("Recording stopped");
81 }
82 } 48 }
83 </script> 49 </script>
84 </head> 50 </head>
85 <body onLoad="runTest();"> 51 <body onLoad="runTest();">
86 <div id="myDiv">DIV</div> 52 <div id="myDiv">DIV</div>
87 </body> 53 </body>
88 </html> 54 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698