// We don't record introduction scripts in a different global from the // introduced script, even if they're both debuggees. var dbg = new Debugger; var g1 = newGlobal(); g1.g1 = g1; var g1DO = dbg.addDebuggee(g1); var g2 = newGlobal(); g2.g1 = g1; var log = ''; dbg.onDebuggerStatement = function (frame) { log += 'd'; assertEq(frame.script.source.introductionScript, undefined); assertEq(frame.script.source.introductionOffset, undefined); }; g2.eval('g1.eval("debugger;");'); assertEq(log, 'd'); // Just for sanity: when it's not cross-global, we do note the introducer. log = ''; dbg.onDebuggerStatement = function (frame) { log += 'd'; assertEq(frame.script.source.introductionScript instanceof Debugger.Script, true); assertEq(typeof frame.script.source.introductionOffset, "number"); }; // Exactly as above, but with g1 instead of g2. g1.eval('g1.eval("debugger;");'); assertEq(log, 'd');