JS Test Harness: Insert the stylesheet dynamically
[WebKit-https.git] / LayoutTests / fast / dom / Window / window-lookup-precedence.html
1 <html>
2 <head>
3 <script src="../../js/resources/js-test-pre.js"></script>
4 <script type="text/javascript" src="resources/window-properties.js"></script>
5 </head>
6 <body>
7 <p id="description"></p>
8
9 <br>
10 <iframe src="about:blank"></iframe>
11
12 <br>
13 <form>
14 <input id="MYINPUT" value="Hello World" type="text"/>
15 </form>
16
17 <div id="console"></div>
18
19 <script>
20 description('Tests lookup precedence for properties on DOMWindow objects in the presence of a child frame, and that IDL properties defined in the prototype (window.location, window.focus, etc) have higher lookup precedence than named document elements (such as input elements).');
21
22 var win = window.window;
23 var myInput = document.getElementById("MYINPUT");
24 var subframe = win.frames[0];
25
26 function checkValue(name, original) {
27     // Handle a correct Location, as well as any numerical values (screenX and
28     // so on), separately to avoid depending on the test file or window
29     // location.
30     if ((name.toLowerCase() == "location" || typeof original == "number")
31         && win[name] == original)
32         testPassed("win['" + name + "'] matched original");
33     else
34         shouldEvaluateTo("win['" + name + "']", original);
35 }
36
37 function check(prop) {
38     var name = prop[0];
39     var original = win[name];
40     // showModalDialog is not currently implemented in DumpRenderTree for all platforms.
41     if (name == "showModalDialog")
42       return;
43     if (name != "location") { // Avoid navigating the subframe.
44       // Check subframe precedence.
45       try {
46         subframe[name] = name;
47       } catch (e) {
48         debug("Unable to set subframe[" + name + "]: " + e);
49       }
50     }
51     checkValue(name, original);
52
53     // Check prototype precedence.
54     myInput.setAttribute("id", name);
55     checkValue(name, original);
56 }
57
58 for (var i = 0; i < propertyInfo.length; ++i) {
59     check(propertyInfo[i]);
60 }
61
62 var successfullyParsed = true;
63 </script>
64 <script src="../../js/resources/js-test-post.js"></script>
65 </body>
66 </html>