layout/forms/test/test_bug287446.html

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:a0f63f930b21
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=287446
5 -->
6 <head>
7 <title>Test for Bug 287446</title>
8 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
10 </head>
11 <body>
12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=287446">Mozilla Bug 287446</a>
13 <p id="display">
14 <iframe id="i"
15 src="http://example.com/tests/layout/forms/test/bug287446_subframe.html"></iframe>
16 </p>
17 <div id="content" style="display: none">
18
19 </div>
20 <pre id="test">
21 <script type="application/javascript">
22
23 /** Test for Bug 287446 **/
24 SimpleTest.waitForExplicitFinish();
25 addLoadEvent(function() {
26 isnot(window.location.host, "example.com", "test is not testing cross-site");
27 var accessed = false;
28 try {
29 $("i").contentDocument.documentElement;
30 accessed = true;
31 } catch(e) {}
32 is(accessed, false, "Shouldn't be able to access cross-site");
33
34 $("i").style.display = "none";
35 document.body.offsetWidth;
36 is(document.defaultView.getComputedStyle($("i"), "").display, "none",
37 "toggling display failed");
38 $("i").style.display = "";
39 document.body.offsetWidth;
40 is(document.defaultView.getComputedStyle($("i"), "").display, "inline",
41 "toggling display back failed");
42
43 $("i").contentWindow.postMessage("start", "*");
44 });
45
46 function continueTest() {
47 $("i").style.display = "none";
48 document.body.offsetWidth;
49 is(document.defaultView.getComputedStyle($("i"), "").display, "none",
50 "toggling display second time failed");
51 $("i").style.display = "";
52 document.body.offsetWidth;
53 is(document.defaultView.getComputedStyle($("i"), "").display, "inline",
54 "toggling display back second time failed");
55
56 $("i").contentWindow.postMessage("continue", "*");
57 }
58
59 window.addEventListener("message",
60 function(evt) {
61 var arr = evt.data.split(/ /).map(decodeURIComponent);
62 if (arr[0] == 't') {
63 is(arr[1], arr[2], arr[3]);
64 } else if (arr[0] == 'c') {
65 continueTest();
66 } else if (arr[0] == 'f') {
67 SimpleTest.finish();
68 }
69 },
70 false);
71
72 </script>
73 </pre>
74 </body>
75 </html>

mercurial