js/src/jit-test/tests/debug/Debugger-findScripts-05.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.

michael@0 1 // findScripts' result includes scripts for nested functions.
michael@0 2 var g = newGlobal();
michael@0 3 var dbg = new Debugger();
michael@0 4 var gw = dbg.addDebuggee(g);
michael@0 5 var log;
michael@0 6
michael@0 7 g.eval('function f() { return function g() { return function h() { return "Squee!"; } } }');
michael@0 8 var fw = gw.makeDebuggeeValue(g.f);
michael@0 9 var gw = gw.makeDebuggeeValue(g.f());
michael@0 10 var hw = gw.makeDebuggeeValue(g.f()());
michael@0 11
michael@0 12 assertEq(fw.script != gw.script, true);
michael@0 13 assertEq(fw.script != hw.script, true);
michael@0 14
michael@0 15 var scripts = dbg.findScripts();
michael@0 16 assertEq(scripts.indexOf(fw.script) != -1, true);
michael@0 17 assertEq(scripts.indexOf(gw.script) != -1, true);
michael@0 18 assertEq(scripts.indexOf(hw.script) != -1, true);

mercurial