// |reftest| skip-if(!xulRuntime.shell) -- needs newGlobal() // Any copyright is dedicated to the Public Domain. // http://creativecommons.org/licenses/publicdomain/ var g1 = newGlobal(); g1.evaluate("function f() { return f.caller; }"); var g2 = newGlobal(); g2.f = g1.f; try { g2.evaluate("function g() { 'use strict'; return f(); } g()"); throw new Error("failed to throw"); } catch (e) { assertEq(e.constructor.name, "TypeError", "expected TypeError accessing strict .caller across globals, got " + e); } /******************************************************************************/ if (typeof reportCompare === "function") reportCompare(true, true); print("Tests complete");