js/src/tests/ecma/extensions/trapflatclosure.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 // |reftest| require-or(debugMode,skip)
michael@0 2 /*
michael@0 3 * Any copyright is dedicated to the Public Domain.
michael@0 4 * http://creativecommons.org/licenses/publicdomain/
michael@0 5 */
michael@0 6
michael@0 7 var BUGNUMBER = 549617;
michael@0 8 var summary = 'flat closure debugged via trap while still active';
michael@0 9
michael@0 10 var expect = "abc";
michael@0 11 var actual = expect;
michael@0 12
michael@0 13 function a(x, y) {
michael@0 14 return function () { return x; };
michael@0 15 }
michael@0 16
michael@0 17 var f = a("abc", 123);
michael@0 18 if (this.trap && this.setDebug) {
michael@0 19 setDebug(true);
michael@0 20 trap(f, "try {actual = x} catch (e) {actual = e}");
michael@0 21 }
michael@0 22 f();
michael@0 23
michael@0 24 reportCompare(expect, actual, summary);
michael@0 25
michael@0 26 printStatus("All tests passed!");

mercurial