js/src/jit-test/tests/debug/uncaughtExceptionHook-resumption-01.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 // uncaughtExceptionHook returns a resumption value.
     3 load(libdir + "asserts.js");
     5 var g = newGlobal();
     6 var dbg = new Debugger(g);
     7 var rv;
     8 dbg.onDebuggerStatement = function () { throw 15; };
     9 dbg.uncaughtExceptionHook = function (exc) {
    10     assertEq(exc, 15);
    11     return rv;
    12 };
    14 // case 1: undefined
    15 rv = undefined;
    16 g.eval("debugger");
    18 // case 2: throw
    19 rv = {throw: 57};
    20 var result;
    21 assertThrowsValue(function () { g.eval("debugger"); }, 57);
    23 // case 3: return
    24 rv = {return: 42};
    25 assertEq(g.eval("debugger;"), 42);

mercurial