js/src/jit-test/tests/basic/testBug895774.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 var g1 = newGlobal();
michael@0 2 var g2 = newGlobal();
michael@0 3 g1.eval("function f1() { debugger; evaluate('debugger', {newContext:true}) }");
michael@0 4 g2.eval("function f2() { f1(); assertEq(Number(this), 42) }");
michael@0 5 g2.f1 = g1.f1;
michael@0 6
michael@0 7 var dbg = new Debugger(g1,g2);
michael@0 8 dbg.onDebuggerStatement = function(frame) {
michael@0 9 var target = frame.older;
michael@0 10 dbg.onDebuggerStatement = function(frame) {
michael@0 11 assertEq(Number(target.this.unsafeDereference()), 42);
michael@0 12 }
michael@0 13 }
michael@0 14 g2.f2.call(42);

mercurial