Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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()');