Frame-older-01.js (603B)
1 // Basic call chain. 2 3 var g = newGlobal({newCompartment: true}); 4 var result = null; 5 var dbg = new Debugger(g); 6 dbg.onDebuggerStatement = function (frame) { 7 var a = []; 8 assertEq(frame === frame.older, false); 9 for (; frame; frame = frame.older) 10 a.push(frame.type === 'call' ? frame.callee.name : frame.type); 11 a.reverse(); 12 result = a.join(", "); 13 }; 14 15 g.eval("function first() { return second(); }"); 16 g.eval("function second() { return eval('third()'); }"); 17 g.eval("function third() { debugger; }"); 18 g.evaluate("first();"); 19 assertEq(result, "global, first, second, eval, third");