Bug 792808 - Change js/xpconnect to import and instantiate XHRs from global properties rather than using Cc.createInstance(Ci.nsIXMLHttpRequest); r?bz
MozReview-Commit-ID: DZZ9NUysT5I
--- a/js/xpconnect/tests/unit/test_sandbox_metadata.js
+++ b/js/xpconnect/tests/unit/test_sandbox_metadata.js
@@ -6,16 +6,18 @@
function run_test()
{
let sandbox = Components.utils.Sandbox("http://www.blah.com", {
metadata: "test metadata",
addonId: "12345"
});
+ Components.utils.importGlobalProperties(["XMLHttpRequest"]);
+
Assert.equal(Components.utils.getSandboxMetadata(sandbox), "test metadata");
Assert.equal(Components.utils.getSandboxAddonId(sandbox), "12345");
sandbox = Components.utils.Sandbox("http://www.blah.com", {
metadata: { foopy: { bar: 2 }, baz: "hi" }
});
let metadata = Components.utils.getSandboxMetadata(sandbox);
@@ -28,18 +30,17 @@ function run_test()
metadata = { foo: "bar" };
Components.utils.setSandboxMetadata(sandbox, metadata);
metadata.foo = "baz";
metadata = Components.utils.getSandboxMetadata(sandbox);
Assert.equal(metadata.foo, "bar");
let thrown = false;
- let reflector = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]
- .createInstance(Components.interfaces.nsIXMLHttpRequest);
+ let reflector = new XMLHttpRequest();
try {
Components.utils.setSandboxMetadata(sandbox, { foo: reflector });
} catch(e) {
thrown = true;
}
Assert.equal(thrown, true);