gecko/dom/xbl/test/file_bug950909.xml

38 lines
1.5 KiB
XML

<?xml version="1.0"?>
<bindings id="chromeTestBindings" xmlns="http://www.mozilla.org/xbl">
<binding id="testBinding" bindToUntrustedContent="true">
<implementation implements="nsIObserver">
<constructor>
<![CDATA[
// This binding gets applied to a content object, and thus is actually
// running in a content XBL scope.
var win = XPCNativeWrapper.unwrap(window);
var SpecialPowers = win.SpecialPowers;
var ok = SpecialPowers.unwrap(SpecialPowers.wrap(window).parent.ok);
ok(win != window, "Should be running in an XBL scope with Xrays");
// Generate an XPCWrappedJS for the reflector. We need to do this
// explicitly with a testing helper, because we're converging on
// removing XPConnect from the web, which means that it won't be
// possible to generate an XPCWrappedJS from content (or XBL) code.
var scope = {};
var holder = SpecialPowers.Cu.generateXPCWrappedJS(this, scope);
// Now, QI |this|, which will generate an aggregated native.
this.QueryInterface(Components.interfaces.nsIObserver);
ok(true, "Didn't assert or crash");
SpecialPowers.wrap(window).parent.SimpleTest.finish();
]]>
</constructor>
<method name="observe">
<parameter name="aSubject"/>
<parameter name="aTopic"/>
<parameter name="aData"/>
<body><![CDATA[]]></body>
</method>
</implementation>
</binding>
</bindings>