Object-unwrap-02.js (626B)
1 // Debugger.Object.prototype.unwrap unwraps Debugger.Objects referring to 2 // cross-compartment wrappers. 3 4 var dbg = new Debugger(); 5 6 var g1 = newGlobal({newCompartment: true}); 7 var dg1 = dbg.addDebuggee(g1); 8 assertEq(dg1.unwrap(), dg1); 9 10 var g2 = newGlobal({newCompartment: true}); 11 var dg2 = dbg.addDebuggee(g2); 12 13 var dg1g2 = dg1.makeDebuggeeValue(g2); 14 assertEq(dg1g2.unwrap(), dg2.makeDebuggeeValue(g2)); 15 16 // Try an ordinary object, not a global. 17 var g2o = g2.Object(); 18 var dg2o = dg2.makeDebuggeeValue(g2o); 19 var dg1g2o = dg1.makeDebuggeeValue(g2o); 20 assertEq(dg1g2o.unwrap(), dg2o); 21 assertEq(dg1g2o.unwrap().unwrap(), dg2o);