js/xpconnect/tests/chrome/test_bug858101.xul

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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 type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
    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>
    17   <!-- test code goes here -->
    18   <script type="application/javascript">
    19   <![CDATA[
    21   /** Test for [[DefaultValue]] on XrayWrappers. **/
    22   SimpleTest.waitForExplicitFinish();
    24   function muckWithToString() {
    25     function tricky() { return "hah"; };
    27     window.toString = document.toString = document.body.toString = tricky;
    28     window.valueOf = document.valueOf = document.body.valueOf = tricky;
    30     Window.prototype.toString = Window.prototype.valueOf = tricky;
    31     Document.prototype.toString = Document.prototype.valueOf = tricky;
    32     HTMLBodyElement.toString = HTMLBodyElement.valueOf = tricky;
    33   }
    35   function go() {
    36     var iwin = $('ifr').contentWindow;
    37     iwin.wrappedJSObject.eval('(' + muckWithToString.toSource() + ')()');
    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");
    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");
    49     SimpleTest.finish();
    50   }
    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>

mercurial