// Creating a global within an onNewGlobalObject handler causes a recursive handler invocation. // // This isn't really desirable behavior, as presumably a global created while a // handler is running is one the debugger is creating for its own purposes and // should not be observed, but if this behavior changes, we sure want to know. var dbg = new Debugger; var log; var depth; dbg.onNewGlobalObject = function (global) { log += '('; depth++; assertEq(global.seen, undefined); global.seen = true; if (depth < 3) newGlobal(); log += ')'; depth--; }; log = ''; depth = 0; newGlobal(); assertEq(log, '((()))');