Upstream version 11.39.250.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.tracingManager = WebInspector.panels.timeline._tracingManager || new WebInspector.TracingManager();
7 InspectorTest.tracingModel = new WebInspector.TracingModel();
8 InspectorTest.tracingTimelineModel = new WebInspector.TracingTimelineModel(InspectorTest.tracingManager, InspectorTest.tracingModel, new WebInspector.TimelineRecordHiddenTypeFilter([]));
9
10 InspectorTest.invokeWithTracing = function(functionName, callback, additionalCategories)
11 {
12     InspectorTest.tracingTimelineModel.addEventListener(WebInspector.TimelineModel.Events.RecordingStarted, onTracingStarted, this);
13     var categories = "-*,disabled-by-default-devtools.timeline*";
14     if (additionalCategories)
15         categories += "," + additionalCategories;
16     InspectorTest.tracingTimelineModel._startRecordingWithCategories(categories);
17
18     function onTracingStarted(event)
19     {
20         InspectorTest.tracingTimelineModel.removeEventListener(WebInspector.TimelineModel.Events.RecordingStarted, onTracingStarted, this);
21         InspectorTest.invokePageFunctionAsync(functionName, onPageActionsDone);
22     }
23
24     function onPageActionsDone()
25     {
26         InspectorTest.tracingTimelineModel.addEventListener(WebInspector.TimelineModel.Events.RecordingStopped, onTracingComplete, this);
27         InspectorTest.tracingTimelineModel.stopRecording();
28     }
29
30     function onTracingComplete(event)
31     {
32         InspectorTest.tracingTimelineModel.removeEventListener(WebInspector.TimelineModel.Events.RecordingStopped, onTracingComplete, this);
33         callback();
34     }
35 }
36
37 }