WebCore:
[WebKit.git] / LayoutTests / http / tests / loading / redirect-methods.html
1 <html>
2 <script>
3 if (window.layoutTestController) {
4     layoutTestController.dumpAsText();
5     layoutTestController.dumpResourceLoadCallbacks();
6     layoutTestController.waitUntilDone();
7 }
8
9 function startTest()
10 {
11     window.setTimeout("createFrame(0);", 0);
12 }
13
14 var testCodes = [301, 302, 303, 307];
15
16 function createFrame(index)
17 {
18     var iframe = document.createElement("iframe");
19     iframe.setAttribute("testCode", testCodes[index]);
20     iframe.setAttribute("id", index);
21     document.body.appendChild(iframe);
22     iframe.src="resources/redirect-methods-form.html";
23     iframe.setAttribute("onload", "iframeLoaded(" + index + ");");
24 }
25
26 function iframeLoaded(frameID)
27 {
28     var iframe = document.getElementById(frameID);
29     if (iframe.hasAttribute("submitted")) {
30         if (++frameID == testCodes.length) {
31             if (window.layoutTestController)
32                 layoutTestController.notifyDone();
33             return;
34         }
35         createFrame(frameID);
36     } else {
37         submitFormForFrame(iframe);
38     }
39 }
40
41 function submitFormForFrame(iframe)
42 {
43     var testInput = iframe.contentDocument.getElementById("testFormInput");
44     testInput.value = iframe.getAttribute("testCode");
45     var testForm = iframe.contentDocument.getElementById("testForm");
46     iframe.setAttribute("submitted", "true");
47     testForm.submit();
48 }
49
50 </script>
51 </head>
52 <body onload="startTest();">
53 This test checks to see what HTTP method is used to fetch the final resource in the case where the first request results in a redirect.<br>
54 301, 302, 303, and 307 http redirects are all tested.<br>
55
56 </body>
57 </html>