WebKitTools:
[WebKit-https.git] / LayoutTests / http / tests / security / local-CSS-from-remote.html
1 <html>
2 <head>
3 <script>
4     function test() {
5         if (window.layoutTestController) {
6             layoutTestController.dumpAsText();
7             layoutTestController.waitUntilDone();
8         }
9
10         var localStyleSheetLocation = "file:///tmp/LayoutTests/http/tests/security/resources/cssStyle.css";
11         if (window.layoutTestController)
12             localStyleSheetLocation = layoutTestController.pathToLocalResource(localStyleSheetLocation);
13
14         var localLinkElement = document.createElement("link");
15         localLinkElement.setAttribute("type", "text/css");
16         localLinkElement.setAttribute("rel", "stylesheet");
17         localLinkElement.setAttribute("href", localStyleSheetLocation);
18
19         document.documentElement.firstChild.appendChild(localLinkElement);
20
21         // Unfortunately link tags do not have load events, so we cannot simply make a load handler.
22         window.setTimeout(backgroundCheck, 1);
23         window.setTimeout(function() {
24             if (window.layoutTestController)
25                 layoutTestController.notifyDone();
26         }, 5000);
27     }
28
29     function backgroundCheck() {
30         var result = document.getElementById("result");
31         var myBody = document.getElementById("myBody");
32         var style = document.defaultView.getComputedStyle(myBody, null);
33         var bgColor = style.getPropertyValue("background-color");
34         if (bgColor[4] == 2) {
35             result.innerHTML = "Test Failed: Local CSS remotely loaded.";
36             window.setTimeout(backgroundCheck, 1);
37         } else {
38             result.innerHTML = "Test Passed: Local CSS not remotely loaded.";
39             if (window.layoutTestController)
40                 layoutTestController.notifyDone();
41         }
42     }
43 </script>
44 </head>
45 <body id="myBody" onload="test()">
46     <div id="other">
47         This test is to see if a remote file can include a local CSS style.
48         <br/>
49         Currently this test cannot be run manually on Windows because we do not have
50         a function like pathToLocalResource() outside of DRT.
51         <br/>
52         <br/>
53         If the background is yellow then the CSS was loaded.
54     </div>
55     </br>
56     <div id="result">
57         Test not run correctly.
58     </div>
59 </body>
60 </html>