js/src/jit-test/tests/jaeger/bug832670.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 enableOsiPointRegisterChecks();
     3 gczeal(4);
     4 eval("(function() { " + "\
     5 for ( var CHARCODE = 1024; CHARCODE < 65536; CHARCODE+= 1234 ) {\
     6 	unescape( '%u'+(ToUnicodeString(CHARCODE)).substring(0,3) )\
     7 }\
     8 function ToUnicodeString( n ) {\
     9   var string = ToHexString(n);\
    10   return string;\
    11 }\
    12 function ToHexString( n ) {\
    13   var hex = new Array();\
    14   for ( var mag = 1; Math.pow(16,mag) <= n ; mag++ ) {}\
    15   for ( index = 0, mag -= 1; mag > 0; index++, mag-- ) {\
    16     hex[index] = Math.floor( n / Math.pow(16,mag) );\
    17   var string ='';\
    18       string <<=  'A';\
    19       string += hex[index];\
    20   }\
    21   if ( 'var MYVAR=Number.NEGATIVE_INFINITY;MYVAR++;MYVAR' )\
    22     string = '0' + string;\
    23   return string;\
    24 }\
    25 " + " })();");

mercurial