js/src/jit-test/tests/basic/bug729364.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 function f() {
     2   try {} catch (e) {}
     3 }
     4 function g(code) {
     5   function m() {
     6     return "(function(){return " + code + "})()"
     7   }
     8   var codeNestedDeep = m(codeNestedDeep)
     9   h(m(code), "same-compartment")
    10   h(codeNestedDeep, "same-compartment")
    11 }
    12 function h(code, globalType) {
    13   try {
    14     evalcx(code, newGlobal(globalType))
    15   } catch (e) {
    16     "" + f()
    17   }
    18 }
    19 function p()(function() function() {})
    20 g("print(let(x=verifyprebarriers(),q)((x(\"\",l('')))?(\"\"):(\"\")))()")

mercurial