Debugger-debuggees-10.js (596B)
1 // Allow diamonds in the graph of the compartment "debugs" relation. 2 var program = newGlobal({newCompartment: true}); 3 var d1 = newGlobal({newCompartment: true}); 4 d1.top = this; 5 var d2 = newGlobal({newCompartment: true}); 6 d2.top = this; 7 var dbg = new Debugger(d1, d2); 8 d1.eval("var dbg = new Debugger(top.program)"); 9 d2.eval("var dbg = new Debugger(top.program)"); 10 11 // mess with the edges a little bit -- all this should be fine, no cycles 12 d1.dbg.removeDebuggee(program); 13 d1.dbg.addDebuggee(program); 14 dbg.addDebuggee(program); 15 d1.dbg.addDebuggee(d2); 16 dbg.removeDebuggee(d2); 17 dbg.addDebuggee(d2);