3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/timeline-test.js"></script>
7 var scriptUrl = "timeline-network-resource.js";
9 function performActions()
11 var script = document.createElement("script");
12 script.src = scriptUrl;
13 document.body.appendChild(script);
19 var scriptUrl = "timeline-network-resource.js";
21 WebInspector.showPanel("timeline");
22 var model = WebInspector.panels.timeline._model;
23 var presentationModel = InspectorTest.timelinePresentationModel();
24 presentationModel.setGlueRecords(true);
26 InspectorTest.startTimeline(step1);
30 InspectorTest.evaluateInPage("performActions()");
31 InspectorTest.addConsoleSniffer(step2);
36 InspectorTest.stopTimeline(step3);
41 var lastRecordStartTime;
42 function format(record)
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);
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;
57 WebInspector.TimelinePresentationModel.forAllRecords([presentationModel.rootRecord()], format);
58 InspectorTest.completeTest();
61 function printRecord(record)
63 InspectorTest.addResult("");
64 InspectorTest.printTimelineRecordProperties(record);
67 function printSend(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);
77 function printReceive(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);
86 function printFinish(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.");
99 <body onload="runTest()">
101 Tests the Timeline API instrumentation of a network resource load