Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / timeline / timeline-filtering.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>
6
7 function test()
8 {
9     var records = [
10         {"startTime":1000,"data":{},"endTime":1990,"type":"Program","children":[
11             {"startTime":1010,"data":{"message":"bar01"},"endTime":1180,"type":"TimeStamp","children":[
12                 {"startTime":1020,"data":{"message":"bar02"},"endTime":1070,"type":"TimeStamp"},
13                 {"startTime":1120,"data":{"message":"bar03"},"endTime":1170,"type":"TimeStamp"}
14             ]},
15             {"startTime":1210,"data":{"message":"bar04"},"endTime":1380,"type":"TimeStamp","children":[
16                 {"startTime":1220,"data":{"message":"foo05"},"endTime":1270,"type":"TimeStamp"},
17                 {"startTime":1320,"data":{"message":"bar06"},"endTime":1370,"type":"TimeStamp"}
18             ]},
19             {"startTime":1410,"data":{"message":"bar07"},"endTime":1580,"type":"TimeStamp","children":[
20                 {"startTime":1420,"data":{"message":"foo08"},"endTime":1470,"type":"TimeStamp"},
21                 {"startTime":1520,"data":{"message":"foo09"},"endTime":1570,"type":"TimeStamp"}
22             ]}
23         ]},
24         {"startTime":2000,"data":{},"endTime":2590,"type":"Program","children":[
25             {"startTime":2010,"data":{"message":"foo10"},"endTime":2180,"type":"TimeStamp","children":[
26                 {"startTime":2020,"data":{"message":"bar11"},"endTime":2070,"type":"TimeStamp"},
27                 {"startTime":2120,"data":{"message":"bar12"},"endTime":2170,"type":"TimeStamp"}
28             ]},
29             {"startTime":2210,"data":{"message":"foo13"},"endTime":2380,"type":"TimeStamp","children":[
30                 {"startTime":2220,"data":{"message":"foo14"},"endTime":2270,"type":"TimeStamp"},
31                 {"startTime":2320,"data":{"message":"bar15"},"endTime":2370,"type":"TimeStamp"}
32             ]},
33             {"startTime":2410,"data":{"message":"foo16"},"endTime":2580,"type":"TimeStamp","children":[
34                 {"startTime":2420,"data":{"message":"foo17"},"endTime":2470,"type":"TimeStamp"},
35                 {"startTime":2520,"data":{"message":"foo18"},"endTime":2570,"type":"TimeStamp"}
36             ]}
37         ]}
38     ];
39
40     var panel = WebInspector.inspectorView.showPanel("timeline");
41     var view = panel._currentViews[0];
42     var model = view._presentationModel;
43
44     function printRecord(record)
45     {
46         var prefix = [];
47         var current = record.presentationParent();
48         while (current) {
49             current = current.presentationParent();
50             prefix.push(" ");
51         }
52         var mark = record.expandable() ? (record.collapsed() ? "+" : "-") : " ";
53         InspectorTest.addResult(prefix.join("") + mark + record.record().data().message);
54     }
55
56     function dumpRecords()
57     {
58         var records = model.filteredRecords();
59         for (var i = 0; i < records.length; ++i)
60             printRecord(records[i]);
61         InspectorTest.addResult("");
62     }
63
64     InspectorTest.loadTimelineRecords(records);
65
66     InspectorTest.addResult("Initial:");
67     dumpRecords();
68
69     InspectorTest.addResult("Filtered by 'bar':");
70     panel._filters._textFilterUI.setValue("bar");
71     dumpRecords();
72
73     InspectorTest.addResult("Collapsed 'bar04' and 'foo13':");
74     var records = model.filteredRecords();
75     var collapseList = {"bar04":true, "foo13": true};
76     for (var i = 0; i < records.length; ++i) {
77         var record = records[i];
78         if (collapseList[record.record().data().message])
79             record.setCollapsed(true);
80     }
81     model.invalidateFilteredRecords();
82     dumpRecords();
83
84     InspectorTest.addResult("Filtered by 'foo':");
85     panel._filters._textFilterUI.setValue("foo");
86     dumpRecords();
87
88     InspectorTest.completeTest();
89 }
90
91 </script>
92 </head>
93
94 <body onload="runTest()">
95 <p>
96 Test filtering on timeline panel.</a>
97 </p>
98
99 </body>
100 </html>