onEnterFrame-06.js (622B)
1 // The tracejit does not prevent onEnterFrame from being called after entering 2 // a debuggee compartment from a non-debuggee compartment. 3 4 var g1 = newGlobal({newCompartment: true}); 5 var g2 = newGlobal({newCompartment: true}); 6 var dbg = Debugger(g1, g2); 7 dbg.removeDebuggee(g2); // turn off debug mode in g2 8 9 g1.eval("function f() { return 1; }\n"); 10 var N = g1.N = 11; 11 g1.eval("function h() {\n" + 12 " for (var i = 0; i < N; i += f()) {}\n" + 13 "}"); 14 g1.h(); // record loop 15 16 var log = ''; 17 dbg.onEnterFrame = function (frame) { log += frame.callee.name; }; 18 g1.h(); 19 assertEq(log, 'h' + Array(N + 1).join('f'));