layout/forms/test/test_bug287446.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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">
    19 </div>
    20 <pre id="test">
    21 <script type="application/javascript">
    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");
    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");
    43   $("i").contentWindow.postMessage("start", "*");
    44 });
    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");
    56 $("i").contentWindow.postMessage("continue", "*");
    57 }
    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);
    72 </script>
    73 </pre>
    74 </body>
    75 </html>

mercurial