Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / timeline / timeline-window-filter.html
1 <html>
2 <head>
3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/timeline-test.js"></script>
5 <script src="resources/timeline-data.js"></script>
6 <script>
7
8 function test()
9 {
10     WebInspector.experimentsSettings.timelineFlameChart.enableForTest();
11     var timelineData = InspectorTest.timelineData();
12
13     WebInspector.inspectorView.showPanel("timeline");
14     var timeline = WebInspector.panels.timeline;
15     var overviewPane = timeline._overviewPane;
16     var model = timeline._model;
17
18     function createFileReader(file, delegate)
19     {
20         return new InspectorTest.FakeFileReader(timelineData, delegate, model.saveToFile.bind(model));
21     }
22
23     InspectorTest.override(model, "_createFileReader", createFileReader);
24
25     model.loadFromFile({}, new WebInspector.Progress());
26     timeline._currentViews[0]._refresh();
27
28     overviewPane.update();
29     InspectorTest.addResult("OverviewPane:");
30     dumpDividers(overviewPane._overviewCalculator);
31     InspectorTest.addResult("");
32
33     function dumpRecordsCountForRange(windowLeft, windowRight)
34     {
35         var view = timeline._currentViews[0];
36         overviewPane._overviewGrid.setWindow(windowLeft, windowRight);
37         view._refresh();
38         InspectorTest.addResult("mode = " + timeline._overviewModeSetting.get());
39         InspectorTest.addResult("range = " + windowLeft + " - " + windowRight);
40         InspectorTest.addResult("time range = " + view._windowStartTime + " - " + view._windowEndTime);
41         InspectorTest.addResult("records count: " + view._presentationModel.filteredRecords().length);
42         dumpDividers(view._calculator);
43         InspectorTest.addResult("");
44     }
45
46     function dumpFlameChartRecordsCountForRange(windowLeft, windowRight)
47     {
48         var mainView = timeline._currentViews[0]._mainView;
49         overviewPane._overviewGrid.setWindow(windowLeft, windowRight);
50         mainView.update();
51         InspectorTest.addResult("mode = " + timeline._overviewModeSetting.get());
52         InspectorTest.addResult("range = " + windowLeft + " - " + windowRight);
53         InspectorTest.addResult("time range = " + mainView._timeWindowLeft + " - " + mainView._timeWindowRight);
54         dumpDividers(mainView._calculator);
55         InspectorTest.addResult("");
56     }
57
58     function dumpDividers(calculator)
59     {
60         var dividers = WebInspector.TimelineGrid.calculateDividerOffsets(calculator, 450).offsets;
61         for (var i = 0; i < dividers.length; ++i)
62             dividers[i] -= calculator.zeroTime();
63         InspectorTest.addResult("divider offsets: [" + dividers.join(", ") + "]. We are expecting round numbers.");
64     }
65
66     timeline._overviewModeSetting.set(WebInspector.TimelinePanel.OverviewMode.Events);
67     timeline._onModeChanged();
68     dumpRecordsCountForRange(0, 1);
69     dumpRecordsCountForRange(0.25, 0.75);
70     dumpRecordsCountForRange(0.33, 0.66);
71
72     timeline._overviewModeSetting.set(WebInspector.TimelinePanel.OverviewMode.Frames);
73     timeline._onModeChanged();
74     dumpRecordsCountForRange(0, 1);
75     dumpRecordsCountForRange(0.25, 0.75);
76     dumpRecordsCountForRange(0.33, 0.66);
77
78     timeline._overviewModeSetting.set(WebInspector.TimelinePanel.OverviewMode.Frames);
79     timeline._flameChartEnabledSetting.set(true);
80     timeline._onModeChanged();
81     dumpFlameChartRecordsCountForRange(0, 1);
82     dumpFlameChartRecordsCountForRange(0.25, 0.5);
83     dumpFlameChartRecordsCountForRange(0.33, 0.4);
84
85     overviewPane._overviewGrid.setWindow(0.1, 0.9);
86
87     InspectorTest.addResult("--------------------------------------------------------");
88     InspectorTest.addResult("mode = " + timeline._overviewModeSetting.get());
89     InspectorTest.addResult("time range = " + timeline._windowStartTime + " - " + timeline._windowEndTime);
90
91     timeline._overviewModeSetting.set(WebInspector.TimelinePanel.OverviewMode.Events);
92     timeline._flameChartEnabledSetting.set(false);
93     timeline._onModeChanged();
94     InspectorTest.addResult("");
95
96     InspectorTest.addResult("mode = " + timeline._overviewModeSetting.get());
97     InspectorTest.addResult("time range = " + timeline._windowStartTime + " - " + timeline._windowEndTime);
98     timeline._overviewModeSetting.set(WebInspector.TimelinePanel.OverviewMode.Frames);
99     timeline._onModeChanged();
100     InspectorTest.addResult("");
101
102     InspectorTest.addResult("mode = " + timeline._overviewModeSetting.get());
103     InspectorTest.addResult("time range = " + timeline._windowStartTime + " - " + timeline._windowEndTime);
104     timeline._overviewModeSetting.set(WebInspector.TimelinePanel.OverviewMode.Frames);
105     timeline._flameChartEnabledSetting.set(true);
106     timeline._onModeChanged();
107
108     InspectorTest.completeTest();
109 }
110
111 </script>
112 </head>
113
114 <body onload="runTest()">
115 <p>
116 Tests the Timeline window filter.
117 </p>
118
119 <p>
120 It applies different ranges to the OverviewGrid and expects that current view reflects the change.
121 </p>
122 <p>
123 Also it detects that after switching to another view it gets the proper time range.
124 </p>
125
126 </body>
127 </html>