2 <?xml-stylesheet type=
"text/css" href=
"chrome://global/skin"?>
3 <?xml-stylesheet type=
"text/css" href=
"chrome://mochikit/content/tests/SimpleTest/test.css"?>
5 https://bugzilla.mozilla.org/show_bug.cgi?id=858101
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"/>
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>
17 <!-- test code goes here -->
18 <script type=
"application/javascript">
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;
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");
54 <iframe id=
"ifr" onload=
"go();" type=
"content" src=
"http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html" />