Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / inspector / network / network-content-replacement-xhr.html
1 <html>
2 <head>
3 <script src="../inspector-test.js"></script>
4 <script src="../network-test.js"></script>
5 <script>
6 function setInspectorResourcesDataSizeLimits()
7 {
8     if (!window.internals) {
9         console.log("This test can not be run as window.internals is not available.");
10         return;
11     }
12     internals.setInspectorResourcesDataSizeLimits(300, 200);
13     console.log("Done.");
14 }
15
16 function test()
17 {
18     InspectorTest.recordNetwork();
19     InspectorTest.addConsoleSniffer(dataSizeLimitsSet);
20     InspectorTest.evaluateInPage("setInspectorResourcesDataSizeLimits()");
21
22     function dataSizeLimitsSet()
23     {
24         // Here we test replacement logic. We save first two resources content,
25         // discard third resource content once we see its size exceeds limit,
26         // and finally replace first resource content with the last resource content.
27
28         InspectorTest.makeSimpleXHR("GET", "resources/resource.php?size=200", false, xhrLoaded1);
29     }
30
31     function xhrLoaded1()
32     {
33         InspectorTest.makeSimpleXHR("GET", "resources/resource.php?size=100", false, xhrLoaded2);
34     }
35
36     function xhrLoaded2()
37     {
38         InspectorTest.makeSimpleXHR("GET", "resources/resource.php?size=201", false, xhrLoaded3);
39     }
40
41     function xhrLoaded3()
42     {
43         InspectorTest.makeSimpleXHR("GET", "resources/resource.php?size=100", false, step1);
44     }
45
46     function dumpRequest(request, callback)
47     {
48         if (!request)
49             return callback();
50         InspectorTest.addResult(request.url);
51
52         function contentLoaded()
53         {
54             InspectorTest.addResult("resource.content: " + request.content);
55             callback();
56         }
57
58         request.requestContent(contentLoaded);
59     }
60
61     function step1()
62     {
63         var requests = InspectorTest.networkRequests();
64         dumpRequest(requests[requests.length - 4], step2);
65     }
66
67     function step2()
68     {
69         var requests = InspectorTest.networkRequests();
70         dumpRequest(requests[requests.length - 3], step3);
71     }
72
73     function step3()
74     {
75         var requests = InspectorTest.networkRequests();
76         dumpRequest(requests[requests.length - 2], step4);
77     }
78
79     function step4()
80     {
81         var requests = InspectorTest.networkRequests();
82         dumpRequest(requests[requests.length - 1], step5);
83     }
84
85     function step5()
86     {
87         InspectorTest.completeTest();
88     }
89 }
90 </script>
91 </head>
92 <body onload="runTest()">
93     <p> Tests NetworkResourcesData logic for XHR content replacement.</p>
94 </body>
95 </html>
96