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>