Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / security / cross-frame-access-put.html
1
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>
5 <script>
6 function log(s)
7 {
8     document.getElementById("console").appendChild(document.createTextNode(s + "\n"));
9 }
10
11 function setForbiddenProperty(obj, prop)
12 {
13     try {
14         obj[prop] = "FAIL!! CUSTOM " + prop;
15     } catch (ex) {
16         log("PASS: Unable to set property " + prop + ": " + ex);
17     }
18 }
19
20 window.targetWindow = window.frames[0];
21
22 window.onload = function()
23 {
24     if (window.testRunner) {
25         testRunner.dumpAsText();
26         testRunner.waitUntilDone();
27     }
28
29     // FIXME: This test should use fast/window/resources/window-properties.js instead of a custom list.
30     // Constructors
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");
117
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");
123
124     // Attributes
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");
193
194     // Functions
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");
228
229     setTimeout(function() {
230         // log(targetWindow.focus.__proto__);
231         log("MAIN WINDOW: !!-- Test ended--!!");
232
233         window.stop();
234
235         if (window.testRunner)
236             testRunner.notifyDone();
237     }, 1);
238 }
239 </script>