tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

principals-03.js (687B)


      1 // With arrows representing child-to-parent links, create a SavedFrame stack
      2 // like this:
      3 //
      4 //     high.a -> low.b
      5 //
      6 // in `low`'s compartment and give `low` a reference to this stack. Assert the
      7 // stack's youngest frame's properties doesn't leak information about `high.a`
      8 // that `low` shouldn't have access to, and instead returns information about
      9 // `low.b`.
     10 
     11 var low = newGlobal({ principal: 0 });
     12 var high = newGlobal({ principal: 0xfffff });
     13 
     14 low.high = high;
     15 high.low = low;
     16 
     17 high.eval("function a() { return saveStack(0, low); }");
     18 low.eval("function b() { return high.a(); }")
     19 
     20 var stack = low.b();
     21 
     22 assertEq(stack.functionDisplayName, "b");
     23 assertEq(stack.parent, null);