tor-browser

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

freeze-builtins.js (942B)


      1 var g = newGlobal({freezeBuiltins: true});
      2 
      3 g.evaluate("" + function checkFrozen(name) {
      4  // Check constructor on the global is non-writable/non-configurable.
      5  let desc = Object.getOwnPropertyDescriptor(this, name);
      6  assertEq(desc.writable, false);
      7  assertEq(desc.configurable, false);
      8 
      9  // Constructor must be frozen.
     10  let ctor = desc.value;
     11  assertEq(Object.isFrozen(ctor), true);
     12 
     13  // Prototype must be sealed.
     14  if (ctor.prototype) {
     15    assertEq(Object.isSealed(ctor.prototype), true);
     16  }
     17 });
     18 
     19 g.checkFrozen("Object");
     20 g.checkFrozen("Array");
     21 g.checkFrozen("Function");
     22 
     23 g.checkFrozen("ArrayBuffer");
     24 g.checkFrozen("Int32Array");
     25 g.checkFrozen("Number");
     26 g.checkFrozen("String");
     27 g.checkFrozen("Proxy");
     28 g.checkFrozen("Promise");
     29 g.checkFrozen("RegExp");
     30 g.checkFrozen("Map");
     31 g.checkFrozen("WeakMap");
     32 g.checkFrozen("WeakRef");
     33 g.checkFrozen("Error");
     34 g.checkFrozen("TypeError");
     35 
     36 g.checkFrozen("JSON");
     37 g.checkFrozen("Math");