LayoutTests:
[WebKit-https.git] / LayoutTests / fast / dom / plugin-attributes-enumeration.html
1 <html>
2 <head>
3 <style>
4     .invisible {
5         width: 0;
6         height: 0;
7     }
8 </style>
9
10 <script>
11 function print(message, color) 
12 {
13     var paragraph = document.createElement("div");
14     paragraph.appendChild(document.createTextNode(message));
15     paragraph.style.fontFamily = "monospace";
16     if (color)
17         paragraph.style.color = color;
18     document.getElementById("console").appendChild(paragraph);
19 }
20
21 function test() 
22 {
23     if (window.layoutTestController)
24         layoutTestController.dumpAsText();
25         
26     Array.prototype.forEach = function(f) {
27         for (var i = 0; i < this.length; i++) // >
28             f(this[i]);
29     };
30     
31     var objectHash = new Object();
32     var embedHash = new Object();
33     var appletHash = new Object();
34     var intersectionHash = new Object();
35
36     var object, embed, applet;
37
38     object = document.getElementById("object");
39     embed = document.getElementById("embed");
40     applet = document.getElementById("applet");
41
42     for (var p in object)
43         if (typeof object[p] != 'function')
44             objectHash[p] = 1;
45         
46     for (var p in embed)
47         if (typeof embed[p] != 'function')
48             embedHash[p] = 1;
49
50     for (var p in applet)
51         if (typeof applet[p] != 'function')
52             appletHash[p] = 1;
53             
54     for (var p in objectHash)
55         if (embedHash[p] && appletHash[p]) // ;
56             intersectionHash[p] = 1;
57         
58     print("[OBJECT, EMBED, APPLET] share:", "green");
59     var array = new Array();
60     for (var p in intersectionHash)
61         if (typeof document.body[p] == 'undefined') // weed out items shared by all elements
62             array.push(p);
63     array.sort();
64     array.forEach(print);
65
66     print("----------");
67     print(object.tagName + " also has:", "green");
68     var array = new Array();
69     for (var p in objectHash)
70         if (!intersectionHash[p])
71             array.push(p);
72     array.sort();
73     array.forEach(print);
74             
75     print("----------");
76     print(embed.tagName + " also has:", "green");
77     var array = new Array();
78     for (var p in embedHash)
79         if (!intersectionHash[p])
80             array.push(p);
81     array.sort();
82     array.forEach(print);
83
84     print("----------");
85     var array = new Array();
86     print(applet.tagName + " also has:", "green");
87     for (var p in appletHash)
88         if (!intersectionHash[p])
89             array.push(p);
90     array.sort();
91     array.forEach(print);
92 }
93 </script>
94 </head>
95
96 <body onload="test();">
97
98 <hr>
99 <div id='console'></div>
100
101 <object class="invisible" id="object"></object>
102 <embed class="invisible" id="embed"></embed>
103 <applet class="invisible" id="applet"></applet>
104
105 </body>
106 </html>