Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector-protocol / network / resource-type.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../http/tests/inspector-protocol/inspector-protocol-test.js"></script>
5 <script>
6 function appendIframe()
7 {
8     var iframe = document.createElement("iframe");
9     iframe.src = "resources/resources-page.html";
10     document.body.appendChild(iframe);
11 }
12
13 function test()
14 {
15     InspectorTest.eventHandler["Network.responseReceived"] = onResponseReceived;
16
17     function enableNetwork()
18     {
19         InspectorTest.log("Test started");
20         InspectorTest.sendCommand("Network.enable", {}, didEnableNetwork);
21     }
22
23     function didEnableNetwork(messageObject)
24     {
25         if (messageObject.error) {
26             InspectorTest.log("FAIL: Couldn't enable network agent" + messageObject.error.message);
27             InspectorTest.completeTest();
28             return;
29         }
30         InspectorTest.log("Network agent enabled");
31         InspectorTest.sendCommand("Runtime.evaluate", { "expression": "appendIframe()"});
32     }
33
34     var resources = [
35         { url: '/resources-page.html', type: "Document" },
36         { url: '/stylesheet.css', type: "Stylesheet" },
37         { url: '/script.js', type: "Script" },
38         { url: '/abe.png', type: "Image" },
39         { url: '/test.wav', type: "Media" },
40         { url: '/test.ogv', type: "Media" },
41         { url: '/simple-captions.vtt', type: "TextTrack" },
42     ];
43     var resourcesLeft = resources.length;
44
45     function onResponseReceived(event)
46     {
47         var url = event.params.response.url;
48         var type = event.params.type;
49         for (var i = 0; i < resources.length; ++i) {
50             var resource = resources[i];
51             if (url.substring(url.length - resource.url.length) === resource.url) {
52                 if (resource.gotType) {
53                     InspectorTest.log("FAIL: Received resource " + url + " twice.");
54                     InspectorTest.completeTest();
55                 }
56                 resource.gotType = type;
57                 resource.gotUrl = url;
58                 resourcesLeft -= 1;
59                 if (resourcesLeft === 0)
60                     receivedAllResources();
61                 return;
62             }
63         }
64         InspectorTest.log("FAIL: received unexpected resource " + url);
65         InspectorTest.completeTest();
66     }
67
68     function receivedAllResources()
69     {
70         for (var i = 0; i < resources.length; ++i) {
71             var resource = resources[i];
72             InspectorTest.log("Resource " + resource.url + " got type " + resource.gotType);
73             InspectorTest.assertEquals(resource.type, resource.gotType);
74         }
75         InspectorTest.completeTest();
76     }
77
78     enableNetwork();
79 }
80 </script>
81 </head>
82 <body onload="runTest();">
83 <p>Tests that responseReceived contains the
84     <a href="https://developers.google.com/chrome-developer-tools/docs/protocol/tot/page#type-ResourceType">documented resource types</a>.
85 </p>
86 </body>