js/src/jit-test/tests/debug/Frame-script-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 // |jit-test| debug
     2 // Frame.prototype.script for eval frames.
     4 var g = newGlobal();
     5 var dbg = new Debugger(g);
     7 // Apply |f| to each frame that is |skip| frames up from each frame that
     8 // executes a 'debugger' statement when evaluating |code| in the global g.
     9 function ApplyToFrameScript(code, skip, f) {
    10     dbg.onDebuggerStatement = function (frame) {
    11         while (skip-- > 0)
    12             frame = frame.older;
    13         assertEq(frame.type, "eval");
    14         f(frame.script);
    15     };
    16     g.eval(code);
    17 }
    19 ApplyToFrameScript('debugger;', 0,
    20                    function (script) {
    21                        assertEq(script instanceof Debugger.Script, true);
    22                    });
    23 ApplyToFrameScript("(function () { eval('debugger;'); })();", 0,
    24                    function (script) {
    25                        assertEq(script instanceof Debugger.Script, true);
    26                    });

mercurial