tor-browser

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

seal-set.js (1203B)


      1 // Copyright (C) 2020 Rick Waldron. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-object.seal
      6 description: >
      7    Object.seal Set
      8 info: |
      9  If Type(O) is not Object, return O.
     10  Let status be ? SetIntegrityLevel(O, sealed).
     11 
     12  SetIntegrityLevel ( O, level )
     13 
     14  Assert: Type(O) is Object.
     15  Assert: level is either sealed or frozen.
     16  Let status be ? O.[[PreventExtensions]]().
     17  If status is false, return false.
     18  Let keys be ? O.[[OwnPropertyKeys]]().
     19  If level is sealed, then
     20    For each element k of keys, do
     21      Perform ? DefinePropertyOrThrow(O, k, PropertyDescriptor { [[Configurable]]: false }).
     22  Else,
     23    Assert: level is frozen.
     24    For each element k of keys, do
     25      Let currentDesc be ? O.[[GetOwnProperty]](k).
     26      If currentDesc is not undefined, then
     27        If IsAccessorDescriptor(currentDesc) is true, then
     28          Let desc be the PropertyDescriptor { [[Configurable]]: false }.
     29        Else,
     30          Let desc be the PropertyDescriptor { [[Configurable]]: false, [[Writable]]: false }.
     31        Perform ? DefinePropertyOrThrow(O, k, desc).
     32  Return true.
     33 
     34 ---*/
     35 
     36 Object.seal(new Set());
     37 
     38 reportCompare(0, 0);