Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / timeline / timeline-network-resource.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 var scriptUrl = "timeline-network-resource.js";
8
9 function performActions() 
10 {
11     var script = document.createElement("script");
12     script.src = scriptUrl;
13     document.body.appendChild(script);
14 }
15
16 function test()
17 {
18     var requestId;
19     var scriptUrl = "timeline-network-resource.js";
20
21     WebInspector.showPanel("timeline");
22     var model = WebInspector.panels.timeline._model;
23     var presentationModel = InspectorTest.timelinePresentationModel();
24     presentationModel.setGlueRecords(true);
25
26     InspectorTest.startTimeline(step1);
27
28     function step1()
29     {
30         InspectorTest.evaluateInPage("performActions()");
31         InspectorTest.addConsoleSniffer(step2);
32     }
33
34     function step2()
35     {
36         InspectorTest.stopTimeline(step3);
37     }
38
39     function step3()
40     {
41         var lastRecordStartTime;
42         function format(record)
43         {
44             if (record.type === WebInspector.TimelineModel.RecordType.ResourceSendRequest)
45                 printSend(record._record);
46             else if (record.type === WebInspector.TimelineModel.RecordType.ResourceReceiveResponse)
47                 printReceive(record._record);
48             else if (record.type === WebInspector.TimelineModel.RecordType.ResourceFinish)
49                 printFinish(record._record);
50
51             if (record.parent && record.parent.type === WebInspector.TimelineModel.RecordType.Root && !record.isBackground) {
52                 if (lastRecordStartTime)
53                     InspectorTest.assertGreaterOrEqual(record.startTime, lastRecordStartTime, "Top level records order violation");
54                 lastRecordStartTime = record.startTime;
55             }
56         }
57         WebInspector.TimelinePresentationModel.forAllRecords([presentationModel.rootRecord()], format);
58         InspectorTest.completeTest();
59     }
60
61     function printRecord(record)
62     {
63         InspectorTest.addResult("");
64         InspectorTest.printTimelineRecordProperties(record);
65     }
66
67     function printSend(record)
68     {
69         printRecord(record);
70         requestId = record.data.requestId;
71         if (record.data.url === undefined) 
72             InspectorTest.addResult("* No 'url' property in record");
73         else if (record.data.url.indexOf(scriptUrl) === -1)
74             InspectorTest.addResult("* Didn't find URL: " + scriptUrl);
75     }
76
77     function printReceive(record)
78     {
79         printRecord(record);
80         if (requestId !== record.data.requestId)
81             InspectorTest.addResult("Didn't find matching requestId: " + requestId);
82         if (record.data.statusCode !== 0)
83             InspectorTest.addResult("Response received status: " + record.data.statusCode);
84     }
85
86     function printFinish(record)
87     {
88         printRecord(record);
89         if (requestId !== record.data.requestId)
90             InspectorTest.addResult("Didn't find matching requestId: " + requestId);
91         if (record.data.didFail)
92             InspectorTest.addResult("Request failed.");
93     }
94 }
95
96 </script>
97 </head>
98
99 <body onload="runTest()">
100 <p>
101 Tests the Timeline API instrumentation of a network resource load
102 </p>
103 </body>
104 </html>