Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 // An onPop handler in a disabled Debugger's frame shouldn't fire.
3 var g = newGlobal();
4 var dbg = new Debugger(g);
5 g.eval('function f() { debugger; }');
6 var log;
7 dbg.onEnterFrame = function handleEnterFrame(f) {
8 log += '(';
9 assertEq(f.callee.name, 'f');
10 f.onPop = function handlePop(c) {
11 log += ')';
12 assertEq(dbg.enabled, true);
13 };
14 };
16 var enable;
17 dbg.onDebuggerStatement = function handleDebugger(f) {
18 dbg.enabled = enable;
19 }
22 // This should fire the onEnterFrame and onPop handlers.
23 log = 'a';
24 enable = true;
25 g.f();
27 // This should fire the onEnterFrame handler, but not the onPop.
28 log += 'b';
29 enable = false;
30 g.f();
32 // This should fire neither.
33 log += 'c';
34 dbg.enabled = false;
35 enable = false;
36 g.f();
38 // This should fire both again.
39 log += 'd';
40 dbg.enabled = true;
41 enable = true;
42 g.f();
44 assertEq(log, 'a()b(cd()');