Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / tracing-test.js
1 function initialize_TracingTest()
2 {
3
4 InspectorTest.preloadPanel("timeline");
5
6 InspectorTest.tracingManager = function()
7 {
8     if (WebInspector.panels.timeline._tracingManager)
9         return WebInspector.panels.timeline._tracingManager;
10     if (!InspectorTest._tracingManager)
11         InspectorTest._tracingManager = new WebInspector.TracingManager();
12     return InspectorTest._tracingManager;
13 }
14
15 InspectorTest.tracingModel = function()
16 {
17     if (!InspectorTest._tracingModel)
18         InspectorTest._tracingModel = new WebInspector.TracingModel();
19     return InspectorTest._tracingModel;
20 }
21
22 InspectorTest.tracingTimelineModel = function()
23 {
24     if (!InspectorTest._tracingTimelineModel)
25         InspectorTest._tracingTimelineModel = new WebInspector.TracingTimelineModel(InspectorTest.tracingManager(), InspectorTest.tracingModel(), new WebInspector.TimelineRecordHiddenTypeFilter([]));
26     return InspectorTest._tracingTimelineModel;
27 }
28
29 InspectorTest.invokeWithTracing = function(functionName, callback, additionalCategories)
30 {
31     InspectorTest.tracingTimelineModel().addEventListener(WebInspector.TimelineModel.Events.RecordingStarted, onTracingStarted, this);
32     var categories = "-*,disabled-by-default-devtools.timeline*";
33     if (additionalCategories)
34         categories += "," + additionalCategories;
35     InspectorTest.tracingTimelineModel()._startRecordingWithCategories(categories);
36
37     function onTracingStarted(event)
38     {
39         InspectorTest.tracingTimelineModel().removeEventListener(WebInspector.TimelineModel.Events.RecordingStarted, onTracingStarted, this);
40         InspectorTest.invokePageFunctionAsync(functionName, onPageActionsDone);
41     }
42
43     function onPageActionsDone()
44     {
45         InspectorTest.tracingTimelineModel().addEventListener(WebInspector.TimelineModel.Events.RecordingStopped, onTracingComplete, this);
46         InspectorTest.tracingTimelineModel().stopRecording();
47     }
48
49     function onTracingComplete(event)
50     {
51         InspectorTest.tracingTimelineModel().removeEventListener(WebInspector.TimelineModel.Events.RecordingStopped, onTracingComplete, this);
52         callback();
53     }
54 }
55
56 }