Move TransformStreamAPIEnabled flag to Settings
[WebKit-https.git] / LayoutTests / security / block-test.html
1 <html>
2 <script>
3     // Note that port "1" is tested by the initial load.
4     var blockedPorts = [7, 9, 11, 13, 15, 17, 19, 20,
5       21, 22, 23, 25, 37, 42, 43, 53, 77, 79, 87, 95, 101, 102,
6       103, 104, 109, 110, 111, 113, 115, 117, 119, 123, 135, 139,
7       143, 179, 389, 465, 512, 513, 514, 515, 526, 530, 531, 532,
8       540, 548, 556, 563, 587, 601, 636, 993, 995, 2049, 3659, 4045,
9       4190, 6000, 6665, 6666, 6667, 6668, 6669, 6679, 6697,
10
11       // Port numbers that we consider to be invalid due to being out of range.
12       Math.pow(2, 16) - 1, Math.pow(2, 16), Math.pow(2, 32) - 1, Math.pow(2, 32)];
13
14     var allowedPorts = [0, 80, ""];
15
16     var baseURL = "255.255.255.255";
17     var currentPort = 0;
18
19     if (window.testRunner) {
20         testRunner.waitUntilDone();
21         testRunner.dumpResourceLoadCallbacks();
22     }
23
24     function nextBlockedPortTest() {
25         if (!(currentPort in blockedPorts)) {
26             currentPort = 0;
27             nextAllowedPortTest();
28             return;
29         }
30         var newURL = "http://" + baseURL + ":" + blockedPorts[currentPort] + "/test.jpg";
31         currentPort++;
32         testIMG.src = newURL;
33     }
34
35     function nextAllowedPortTest() {
36         if (!(currentPort in allowedPorts)) {
37             ftpTest();
38             return;
39         }
40         var newURL = "http://" + baseURL + ":" + allowedPorts[currentPort] + "/test.jpg";
41         currentPort++;
42         testIMG.setAttribute("onError", "nextAllowedPortTest();");
43         testIMG.src = newURL;
44     }
45
46     function ftpTest() {
47         testIMG.setAttribute("onError", "ftp21Test();");
48         var newURL = "ftp://" + baseURL + "/test.jpg";
49         testIMG.src = newURL;
50     }
51
52     function ftp21Test() {
53         testIMG.setAttribute("onError", "ftp22Test();");
54         var newURL = "ftp://" + baseURL + ":21/test.jpg";
55         testIMG.src = newURL;
56     }
57
58     function ftp22Test() {
59         testIMG.setAttribute("onError", "finishTesting();");
60         var newURL = "ftp://" + baseURL + ":22/test.jpg";
61         testIMG.src = newURL;
62     }
63
64     function finishTesting() {
65         if (window.testRunner) {
66             testRunner.dumpAsText();
67             setTimeout("testRunner.notifyDone()", 0); 
68         }
69     }
70
71     function makeImage() {
72         var image = document.createElement("img");
73         image.onerror=nextBlockedPortTest;
74         image.src="http://255.255.255.255:1/test.jpg";
75         image.id="testIMG";
76         document.body.appendChild(image);
77     }
78 </script>
79 <body onload="makeImage()">
80 <p>This test attempts to change the src of an IMG tag to all blocked ports to confirm that WebKit returns the
81 correct error for them - blocked instead of cannot find.  It also tries the FTP ports for exemptions.  Due to the 
82 nature of this test, the results can only be processed automatically via DumpRenderTree
83 </p>
84 </body>
85 </html>