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 // If frame.onStep returns null, debuggee catch and finally blocks are skipped.
3 var g = newGlobal();
4 g.eval("function h() { debugger; }");
6 var dbg = Debugger(g);
7 var hits = 0;
8 dbg.onDebuggerStatement = function (frame) {
9 hits++;
10 if (hits == 1) {
11 var rv = frame.eval("try {\n" +
12 " h();\n" +
13 " throw 'fail';\n" +
14 "} catch (exc) {\n" +
15 " caught = exc;\n" +
16 "} finally {\n" +
17 " finallyHit = true;\n" +
18 "}\n");
19 assertEq(rv, null);
20 } else {
21 frame.older.onStep = function () {
22 this.onStep = undefined;
23 return null;
24 };
25 }
26 };
28 g.h();
29 assertEq(hits, 2);
30 assertEq("caught" in g, false);
31 assertEq("finallyHit" in g, false);