Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / tracing-test.js
1 function initialize_TracingTest()
2 {
3
4 // FIXME: remove when tracing is out of experimental
5 WebInspector.inspectorView.showPanel("timeline");
6 InspectorTest.tracingModel = new WebInspector.TracingModel(WebInspector.targetManager.mainTarget());
7 InspectorTest.tracingTimelineModel = new WebInspector.TracingTimelineModel(InspectorTest.tracingModel, new WebInspector.TimelineRecordHiddenTypeFilter([]));
8
9 InspectorTest.invokeWithTracing = function(functionName, callback, additionalCategories)
10 {
11     InspectorTest.tracingTimelineModel.addEventListener(WebInspector.TimelineModel.Events.RecordingStarted, onTracingStarted, this);
12     var categories = "-*,disabled-by-default-devtools.timeline*";
13     if (additionalCategories)
14         categories += "," + additionalCategories;
15     InspectorTest.tracingTimelineModel._startRecordingWithCategories(categories);
16
17     function onTracingStarted(event)
18     {
19         InspectorTest.tracingTimelineModel.removeEventListener(WebInspector.TimelineModel.Events.RecordingStarted, onTracingStarted, this);
20         InspectorTest.invokePageFunctionAsync(functionName, onPageActionsDone);
21     }
22
23     function onPageActionsDone()
24     {
25         InspectorTest.tracingTimelineModel.addEventListener(WebInspector.TimelineModel.Events.RecordingStopped, onTracingComplete, this);
26         InspectorTest.tracingTimelineModel.stopRecording();
27     }
28
29     function onTracingComplete(event)
30     {
31         InspectorTest.tracingTimelineModel.removeEventListener(WebInspector.TimelineModel.Events.RecordingStopped, onTracingComplete, this);
32         callback();
33     }
34 }
35
36 }