Thu, 15 Jan 2015 21:03:48 +0100
Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)
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()');