Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / inspector / network / network-content-replacement-embed.html
1 <html>
2 <head>
3 <script src="../inspector-test.js"></script>
4 <script>
5
6 var loadedFirstURL = false;
7 function streamLoaded()
8 {
9     if (loadedFirstURL)
10         return;
11
12     loadedFirstURL = true;
13     loadURLs();
14 }
15
16 var snifferInstalled = false;
17 function onSnifferInstalled()
18 {
19     snifferInstalled = true;
20     loadURLs();
21 }
22
23 function loadURLs()
24 {
25     if (!snifferInstalled || !loadedFirstURL)
26         return;
27
28     if (!window.internals) {
29         console.log("This test can not be run as window.internals is not available.");
30         return;
31     }
32     internals.setInspectorResourcesDataSizeLimits(300, 200);
33
34     // Here we test replacement logic. We save first two resources content,
35     // discard third resource content once we see its size exceeds limit,
36     // and finally replace first resource content with the last resource content.
37
38     plg.getURLNotify("resources/resource.php?size=200", null, "loadURL2");
39 }
40
41 function loadURL2()
42 {
43     plg.getURLNotify("resources/resource.php?size=100", null, "loadURL3");
44 }
45
46 function loadURL3()
47 {
48     plg.getURLNotify("resources/resource.php?size=201", null, "loadURL4");
49 }
50
51 function loadURL4()
52 {
53     plg.getURLNotify("resources/resource.php?size=100", null, "allURLsLoaded");
54 }
55
56 function allURLsLoaded()
57 {
58     console.log("Done.");
59 }
60
61 function test()
62 {
63     InspectorTest.addConsoleSniffer(step1);
64     InspectorTest.evaluateInPage("onSnifferInstalled()");
65
66     function dumpRequest(request, callback)
67     {
68         if (!request)
69             return callback();
70         InspectorTest.addResult(request.url);
71
72         function contentLoaded()
73         {
74             InspectorTest.addResult("resource.content after requesting content: " + request.content);
75             callback();
76         }
77
78         request.requestContent(contentLoaded);
79     }
80
81     function step1()
82     {
83         var request = WebInspector.inspectorView.panel("network").requests[WebInspector.inspectorView.panel("network").requests.length - 4];
84         dumpRequest(request, step2);
85     }
86
87     function step2()
88     {
89         var request = WebInspector.inspectorView.panel("network").requests[WebInspector.inspectorView.panel("network").requests.length - 3];
90         dumpRequest(request, step3);
91     }
92
93     function step3()
94     {
95         var request = WebInspector.inspectorView.panel("network").requests[WebInspector.inspectorView.panel("network").requests.length - 2];
96         dumpRequest(request, step4);
97     }
98
99     function step4()
100     {
101         var request = WebInspector.inspectorView.panel("network").requests[WebInspector.inspectorView.panel("network").requests.length - 1];
102         dumpRequest(request, step5);
103     }
104
105     function step5()
106     {
107         InspectorTest.completeTest();
108     }
109 }
110 </script>
111 </head>
112 <body onload="runTest()">
113     <p>Tests NetworkResourcesData logic for embed content replacement.</p>
114     <embed name="plg" type="application/x-webkit-test-netscape" src="resources/resource.php?type=image" onstreamload="streamLoaded()"></embed>
115 </body>
116 </html>
117