tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_bug858101.xhtml (2306B)


      1 <?xml version="1.0"?>
      2 <?xml-stylesheet type="text/css" href="chrome://global/skin"?>
      3 <?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
      4 <!--
      5 https://bugzilla.mozilla.org/show_bug.cgi?id=858101
      6 -->
      7 <window title="Mozilla Bug 858101"
      8        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
      9  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
     10 
     11  <!-- test results are displayed in the html:body -->
     12  <body xmlns="http://www.w3.org/1999/xhtml">
     13  <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=858101"
     14     target="_blank">Mozilla Bug 858101</a>
     15  </body>
     16 
     17  <!-- test code goes here -->
     18  <script type="application/javascript">
     19  <![CDATA[
     20 
     21  /** Test for [[DefaultValue]] on XrayWrappers. */
     22  SimpleTest.waitForExplicitFinish();
     23 
     24  function muckWithToString() {
     25    function tricky() { return "hah"; };
     26 
     27    window.toString = document.toString = document.body.toString = tricky;
     28    window.valueOf = document.valueOf = document.body.valueOf = tricky;
     29 
     30    Window.prototype.toString = Window.prototype.valueOf = tricky;
     31    Document.prototype.toString = Document.prototype.valueOf = tricky;
     32    HTMLBodyElement.toString = HTMLBodyElement.valueOf = tricky;
     33  }
     34 
     35  function go() {
     36    var iwin = $('ifr').contentWindow;
     37    iwin.wrappedJSObject.eval('(' + muckWithToString.toSource() + ')()');
     38 
     39    // Check behavior with vanilla CCWs.
     40    ok(!!/hah/.exec(iwin.wrappedJSObject + ""), "Waivers should get content-defined window stringification");
     41    ok(!!/hah/.exec(iwin.document.wrappedJSObject + ""), "Waivers should get content-defined document stringification");
     42    ok(!!/hah/.exec(iwin.document.body.wrappedJSObject + ""), "Waivers should get content-defined body stringification");
     43 
     44    // Check Xray behavior.
     45    ok(!/hah/.exec(iwin + ""), "Xrays should not get content-defined window stringification");
     46    ok(!/hah/.exec(iwin.document + ""), "Xrays should not get content-defined document stringification");
     47    ok(!/hah/.exec(iwin.document.body + ""), "Xrays should not get content-defined body stringification");
     48 
     49    SimpleTest.finish();
     50  }
     51 
     52  ]]>
     53  </script>
     54  <iframe id="ifr" onload="go();" type="content" src="http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html" />
     55 </window>