2 <p>This test checks cross-frame access security of window attribute setters (rdar://problem/5326791).</p>
3 <iframe src="http://localhost:8000/security/resources/cross-frame-iframe-for-put-test.html" style=""></iframe>
4 <pre id="console"></pre>
8 document.getElementById("console").appendChild(document.createTextNode(s + "\n"));
11 function setForbiddenProperty(obj, prop)
14 obj[prop] = "FAIL!! CUSTOM " + prop;
16 log("PASS: Unable to set property " + prop + ": " + ex);
20 window.targetWindow = window.frames[0];
22 window.onload = function()
24 if (window.testRunner) {
25 testRunner.dumpAsText();
26 testRunner.waitUntilDone();
29 // FIXME: This test should use fast/window/resources/window-properties.js instead of a custom list.
31 setForbiddenProperty(targetWindow, "Attr");
32 setForbiddenProperty(targetWindow, "CDATASection");
33 setForbiddenProperty(targetWindow, "CharacterData");
34 setForbiddenProperty(targetWindow, "Comment");
35 setForbiddenProperty(targetWindow, "CSSPrimitiveValue");
36 setForbiddenProperty(targetWindow, "CSSRule");
37 setForbiddenProperty(targetWindow, "CSSStyleDeclaration");
38 setForbiddenProperty(targetWindow, "CSSValue");
39 setForbiddenProperty(targetWindow, "Document");
40 setForbiddenProperty(targetWindow, "DocumentFragment");
41 setForbiddenProperty(targetWindow, "DocumentType");
42 setForbiddenProperty(targetWindow, "DOMException");
43 setForbiddenProperty(targetWindow, "DOMImplementation");
44 setForbiddenProperty(targetWindow, "DOMParser");
45 setForbiddenProperty(targetWindow, "Element");
46 setForbiddenProperty(targetWindow, "EvalError");
47 setForbiddenProperty(targetWindow, "Event");
48 setForbiddenProperty(targetWindow, "HTMLAnchorElement");
49 setForbiddenProperty(targetWindow, "HTMLAppletElement");
50 setForbiddenProperty(targetWindow, "HTMLAreaElement");
51 setForbiddenProperty(targetWindow, "HTMLBaseElement");
52 setForbiddenProperty(targetWindow, "HTMLBodyElement");
53 setForbiddenProperty(targetWindow, "HTMLBRElement");
54 setForbiddenProperty(targetWindow, "HTMLButtonElement");
55 setForbiddenProperty(targetWindow, "HTMLCanvasElement");
56 setForbiddenProperty(targetWindow, "HTMLDirectoryElement");
57 setForbiddenProperty(targetWindow, "HTMLDivElement");
58 setForbiddenProperty(targetWindow, "HTMLDListElement");
59 setForbiddenProperty(targetWindow, "HTMLDocument");
60 setForbiddenProperty(targetWindow, "HTMLElement");
61 setForbiddenProperty(targetWindow, "HTMLFieldSetElement");
62 setForbiddenProperty(targetWindow, "HTMLFontElement");
63 setForbiddenProperty(targetWindow, "HTMLFormElement");
64 setForbiddenProperty(targetWindow, "HTMLFrameElement");
65 setForbiddenProperty(targetWindow, "HTMLFrameSetElement");
66 setForbiddenProperty(targetWindow, "HTMLHeadElement");
67 setForbiddenProperty(targetWindow, "HTMLHeadingElement");
68 setForbiddenProperty(targetWindow, "HTMLHRElement");
69 setForbiddenProperty(targetWindow, "HTMLHtmlElement");
70 setForbiddenProperty(targetWindow, "HTMLIFrameElement");
71 setForbiddenProperty(targetWindow, "HTMLImageElement");
72 setForbiddenProperty(targetWindow, "HTMLInputElement");
73 setForbiddenProperty(targetWindow, "HTMLLabelElement");
74 setForbiddenProperty(targetWindow, "HTMLLegendElement");
75 setForbiddenProperty(targetWindow, "HTMLLIElement");
76 setForbiddenProperty(targetWindow, "HTMLLinkElement");
77 setForbiddenProperty(targetWindow, "HTMLMapElement");
78 setForbiddenProperty(targetWindow, "HTMLMarqueeElement");
79 setForbiddenProperty(targetWindow, "HTMLMenuElement");
80 setForbiddenProperty(targetWindow, "HTMLMetaElement");
81 setForbiddenProperty(targetWindow, "HTMLModElement");
82 setForbiddenProperty(targetWindow, "HTMLOListElement");
83 setForbiddenProperty(targetWindow, "HTMLOptGroupElement");
84 setForbiddenProperty(targetWindow, "HTMLOptionElement");
85 setForbiddenProperty(targetWindow, "HTMLParagraphElement");
86 setForbiddenProperty(targetWindow, "HTMLParamElement");
87 setForbiddenProperty(targetWindow, "HTMLPreElement");
88 setForbiddenProperty(targetWindow, "HTMLQuoteElement");
89 setForbiddenProperty(targetWindow, "HTMLScriptElement");
90 setForbiddenProperty(targetWindow, "HTMLSelectElement");
91 setForbiddenProperty(targetWindow, "HTMLStyleElement");
92 setForbiddenProperty(targetWindow, "HTMLTableCaptionElement");
93 setForbiddenProperty(targetWindow, "HTMLTableCellElement");
94 setForbiddenProperty(targetWindow, "HTMLTableColElement");
95 setForbiddenProperty(targetWindow, "HTMLTableElement");
96 setForbiddenProperty(targetWindow, "HTMLTableRowElement");
97 setForbiddenProperty(targetWindow, "HTMLTableSectionElement");
98 setForbiddenProperty(targetWindow, "HTMLTextAreaElement");
99 setForbiddenProperty(targetWindow, "HTMLTitleElement");
100 setForbiddenProperty(targetWindow, "HTMLUListElement");
101 setForbiddenProperty(targetWindow, "MutationEvent");
102 setForbiddenProperty(targetWindow, "Node");
103 setForbiddenProperty(targetWindow, "NodeFilter");
104 setForbiddenProperty(targetWindow, "Notation");
105 setForbiddenProperty(targetWindow, "ProcessingInstruction");
106 setForbiddenProperty(targetWindow, "Range");
107 setForbiddenProperty(targetWindow, "RangeError");
108 setForbiddenProperty(targetWindow, "ReferenceError");
109 setForbiddenProperty(targetWindow, "SyntaxError");
110 setForbiddenProperty(targetWindow, "Text");
111 setForbiddenProperty(targetWindow, "TypeError");
112 setForbiddenProperty(targetWindow, "URIError");
113 setForbiddenProperty(targetWindow, "XMLDocument");
114 setForbiddenProperty(targetWindow, "XMLSerializer");
115 setForbiddenProperty(targetWindow, "XPathEvaluator");
116 setForbiddenProperty(targetWindow, "XPathResult");
118 // FIXME: find a way to test these Constructors
119 // setForbiddenProperty(targetWindow, "Image");
120 // setForbiddenProperty(targetWindow, "Option");
121 // setForbiddenProperty(targetWindow, "XMLHttpRequest");
122 // setForbiddenProperty(targetWindow, "XSLTProcessor");
125 setForbiddenProperty(targetWindow, "clientInformation");
126 setForbiddenProperty(targetWindow, "closed");
127 setForbiddenProperty(targetWindow, "console");
128 setForbiddenProperty(targetWindow, "crypto");
129 setForbiddenProperty(targetWindow, "defaultStatus");
130 setForbiddenProperty(targetWindow, "defaultstatus");
131 setForbiddenProperty(targetWindow, "devicePixelRatio");
132 setForbiddenProperty(targetWindow, "document");
133 setForbiddenProperty(targetWindow, "embeds");
134 setForbiddenProperty(targetWindow, "event");
135 setForbiddenProperty(targetWindow, "frameElement");
136 setForbiddenProperty(targetWindow, "frames");
137 setForbiddenProperty(targetWindow, "history");
138 setForbiddenProperty(targetWindow, "images");
139 setForbiddenProperty(targetWindow, "innerHeight");
140 setForbiddenProperty(targetWindow, "innerWidth");
141 setForbiddenProperty(targetWindow, "length");
142 setForbiddenProperty(targetWindow, "locationbar");
143 setForbiddenProperty(targetWindow, "menubar");
144 setForbiddenProperty(targetWindow, "name");
145 setForbiddenProperty(targetWindow, "navigator");
146 setForbiddenProperty(targetWindow, "offscreenBuffering");
147 setForbiddenProperty(targetWindow, "onabort");
148 setForbiddenProperty(targetWindow, "onbeforeunload");
149 setForbiddenProperty(targetWindow, "onblur");
150 setForbiddenProperty(targetWindow, "onchange");
151 setForbiddenProperty(targetWindow, "onclick");
152 setForbiddenProperty(targetWindow, "ondblclick");
153 setForbiddenProperty(targetWindow, "onerror");
154 setForbiddenProperty(targetWindow, "onfocus");
155 setForbiddenProperty(targetWindow, "onkeydown");
156 setForbiddenProperty(targetWindow, "onkeypress");
157 setForbiddenProperty(targetWindow, "onkeyup");
158 setForbiddenProperty(targetWindow, "onload");
159 setForbiddenProperty(targetWindow, "onmousedown");
160 setForbiddenProperty(targetWindow, "onmousemove");
161 setForbiddenProperty(targetWindow, "onmouseout");
162 setForbiddenProperty(targetWindow, "onmouseover");
163 setForbiddenProperty(targetWindow, "onmouseup");
164 setForbiddenProperty(targetWindow, "onmousewheel");
165 setForbiddenProperty(targetWindow, "onreset");
166 setForbiddenProperty(targetWindow, "onresize");
167 setForbiddenProperty(targetWindow, "onscroll");
168 setForbiddenProperty(targetWindow, "onsearch");
169 setForbiddenProperty(targetWindow, "onselect");
170 setForbiddenProperty(targetWindow, "onsubmit");
171 setForbiddenProperty(targetWindow, "onunload");
172 setForbiddenProperty(targetWindow, "opener");
173 setForbiddenProperty(targetWindow, "outerHeight");
174 setForbiddenProperty(targetWindow, "outerWidth");
175 setForbiddenProperty(targetWindow, "pageXOffset");
176 setForbiddenProperty(targetWindow, "pageYOffset");
177 setForbiddenProperty(targetWindow, "personalbar");
178 setForbiddenProperty(targetWindow, "plugins");
179 setForbiddenProperty(targetWindow, "screen");
180 setForbiddenProperty(targetWindow, "screenLeft");
181 setForbiddenProperty(targetWindow, "screenTop");
182 setForbiddenProperty(targetWindow, "screenX");
183 setForbiddenProperty(targetWindow, "screenY");
184 setForbiddenProperty(targetWindow, "scrollbars");
185 setForbiddenProperty(targetWindow, "scrollX");
186 setForbiddenProperty(targetWindow, "scrollY");
187 setForbiddenProperty(targetWindow, "self");
188 setForbiddenProperty(targetWindow, "status");
189 setForbiddenProperty(targetWindow, "statusbar");
190 setForbiddenProperty(targetWindow, "toolbar");
191 setForbiddenProperty(targetWindow, "window");
192 setForbiddenProperty(targetWindow, "parent");
195 setForbiddenProperty(targetWindow, "addEventListener");
196 setForbiddenProperty(targetWindow, "alert");
197 setForbiddenProperty(targetWindow, "atob");
198 setForbiddenProperty(targetWindow, "blur");
199 setForbiddenProperty(targetWindow, "btoa");
200 setForbiddenProperty(targetWindow, "captureEvents");
201 setForbiddenProperty(targetWindow, "clearInterval");
202 setForbiddenProperty(targetWindow, "clearTimeout");
203 setForbiddenProperty(targetWindow, "close");
204 setForbiddenProperty(targetWindow, "confirm");
205 setForbiddenProperty(targetWindow, "constructor");
206 setForbiddenProperty(targetWindow, "eval");
207 setForbiddenProperty(targetWindow, "find");
208 setForbiddenProperty(targetWindow, "focus");
209 setForbiddenProperty(targetWindow, "getComputedStyle");
210 setForbiddenProperty(targetWindow, "getMatchedCSSRules");
211 setForbiddenProperty(targetWindow, "getSelection");
212 setForbiddenProperty(targetWindow, "moveBy");
213 setForbiddenProperty(targetWindow, "moveTo");
214 setForbiddenProperty(targetWindow, "open");
215 setForbiddenProperty(targetWindow, "print");
216 setForbiddenProperty(targetWindow, "prompt");
217 setForbiddenProperty(targetWindow, "releaseEvents");
218 setForbiddenProperty(targetWindow, "removeEventListener");
219 setForbiddenProperty(targetWindow, "resizeBy");
220 setForbiddenProperty(targetWindow, "resizeTo");
221 setForbiddenProperty(targetWindow, "scroll");
222 setForbiddenProperty(targetWindow, "scrollBy");
223 setForbiddenProperty(targetWindow, "scrollTo");
224 setForbiddenProperty(targetWindow, "setInterval");
225 setForbiddenProperty(targetWindow, "setTimeout");
226 setForbiddenProperty(targetWindow, "showModalDialog");
227 setForbiddenProperty(targetWindow, "stop");
229 setTimeout(function() {
230 // log(targetWindow.focus.__proto__);
231 log("MAIN WINDOW: !!-- Test ended--!!");
235 if (window.testRunner)
236 testRunner.notifyDone();