tor-browser

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

test_interfaces.js (129882B)


      1 /** Test for Bug 766694 */
      2 
      3 // This is a list of all interfaces that are exposed to every webpage.
      4 // Please only add things to this list with great care and proper review
      5 // from the associated module peers.
      6 //
      7 // The test is supposed to check whether our actual exposure behavior
      8 // matches what we expect, with the latter expressed in terms of outside
      9 // observables like type of build (nightly, release), platform, secure
     10 // context, etc. Testing based on prefs is thus the wrong check, as this
     11 // means we'd also have to test whether the pref value matches what we
     12 // expect in terms of outside observables.
     13 
     14 // This file lists global interfaces we want exposed and verifies they
     15 // are what we intend. Each entry in the arrays below can either be a
     16 // simple string with the interface name, or an object with a 'name'
     17 // property giving the interface name as a string, and additional
     18 // properties which qualify the exposure of that interface. For example:
     19 //
     20 // [
     21 //   "AGlobalInterface", // secure context only
     22 //   { name: "DesktopOnlyThing", desktop: true },
     23 //   { name: "DisabledEverywhere", disabled: true },
     24 //   { name: "ExperimentalThing", release: false },
     25 //   { name: "ReallyExperimentalThing", nightly: true },
     26 // ];
     27 //
     28 // Note that the items are alphabetically sorted. This is a requirement.
     29 // See createInterfaceMap() in interface_exposure_checker.js for a complete
     30 // list of properties.
     31 //
     32 // The values of the properties need to be either literal true/false
     33 // (e.g. indicating whether something is enabled on a particular
     34 // channel/OS) or one of the is* constants in interface_exposure_checker.js
     35 // (in cases when exposure is affected by channel or OS in a nontrivial way).
     36 
     37 // IMPORTANT: Do not change this list without review from
     38 //            a JavaScript Engine peer!
     39 let wasmGlobalEntry = {
     40  name: "WebAssembly",
     41  insecureContext: true,
     42  disabled:
     43    !SpecialPowers.Cu.getJSTestingFunctions().wasmIsSupportedByHardware(),
     44 };
     45 let wasmGlobalInterfaces = [
     46  { name: "Module", insecureContext: true },
     47  { name: "Instance", insecureContext: true },
     48  { name: "Memory", insecureContext: true },
     49  { name: "Table", insecureContext: true },
     50  { name: "Global", insecureContext: true },
     51  { name: "CompileError", insecureContext: true },
     52  { name: "LinkError", insecureContext: true },
     53  { name: "RuntimeError", insecureContext: true },
     54  { name: "Function", insecureContext: true, nightly: true },
     55  { name: "Exception", insecureContext: true },
     56  { name: "Tag", insecureContext: true },
     57  { name: "JSTag", insecureContext: true },
     58  { name: "compile", insecureContext: true },
     59  { name: "compileStreaming", insecureContext: true },
     60  { name: "instantiate", insecureContext: true },
     61  { name: "instantiateStreaming", insecureContext: true },
     62  { name: "validate", insecureContext: true },
     63 ];
     64 // IMPORTANT: Do not change this list without review from
     65 //            a JavaScript Engine peer!
     66 let ecmaGlobals = [
     67  { name: "AggregateError", insecureContext: true },
     68  { name: "Array", insecureContext: true },
     69  { name: "ArrayBuffer", insecureContext: true },
     70  { name: "AsyncDisposableStack", insecureContext: true },
     71  { name: "Atomics", insecureContext: true },
     72  { name: "BigInt", insecureContext: true },
     73  { name: "BigInt64Array", insecureContext: true },
     74  { name: "BigUint64Array", insecureContext: true },
     75  { name: "Boolean", insecureContext: true },
     76  { name: "DataView", insecureContext: true },
     77  { name: "Date", insecureContext: true },
     78  { name: "DisposableStack", insecureContext: true },
     79  { name: "Error", insecureContext: true },
     80  { name: "EvalError", insecureContext: true },
     81  { name: "FinalizationRegistry", insecureContext: true },
     82  { name: "Float16Array", insecureContext: true },
     83  { name: "Float32Array", insecureContext: true },
     84  { name: "Float64Array", insecureContext: true },
     85  { name: "Function", insecureContext: true },
     86  { name: "Infinity", insecureContext: true },
     87  { name: "Int16Array", insecureContext: true },
     88  { name: "Int32Array", insecureContext: true },
     89  { name: "Int8Array", insecureContext: true },
     90  { name: "InternalError", insecureContext: true },
     91  { name: "Intl", insecureContext: true },
     92  { name: "Iterator", insecureContext: true },
     93  { name: "JSON", insecureContext: true },
     94  { name: "Map", insecureContext: true },
     95  { name: "Math", insecureContext: true },
     96  { name: "NaN", insecureContext: true },
     97  { name: "Number", insecureContext: true },
     98  { name: "Object", insecureContext: true },
     99  { name: "Promise", insecureContext: true },
    100  { name: "Proxy", insecureContext: true },
    101  { name: "RangeError", insecureContext: true },
    102  { name: "ReferenceError", insecureContext: true },
    103  { name: "Reflect", insecureContext: true },
    104  { name: "RegExp", insecureContext: true },
    105  { name: "Set", insecureContext: true },
    106  {
    107    name: "SharedArrayBuffer",
    108    insecureContext: true,
    109    crossOriginIsolated: true,
    110  },
    111  { name: "String", insecureContext: true },
    112  { name: "SuppressedError", insecureContext: true },
    113  { name: "Symbol", insecureContext: true },
    114  { name: "SyntaxError", insecureContext: true },
    115  { name: "Temporal", insecureContext: true },
    116  { name: "TypeError", insecureContext: true },
    117  { name: "URIError", insecureContext: true },
    118  { name: "Uint16Array", insecureContext: true },
    119  { name: "Uint32Array", insecureContext: true },
    120  { name: "Uint8Array", insecureContext: true },
    121  { name: "Uint8ClampedArray", insecureContext: true },
    122  { name: "WeakMap", insecureContext: true },
    123  { name: "WeakRef", insecureContext: true },
    124  { name: "WeakSet", insecureContext: true },
    125  wasmGlobalEntry,
    126  { name: "decodeURI", insecureContext: true },
    127  { name: "decodeURIComponent", insecureContext: true },
    128  { name: "encodeURI", insecureContext: true },
    129  { name: "encodeURIComponent", insecureContext: true },
    130  { name: "escape", insecureContext: true },
    131  { name: "eval", insecureContext: true },
    132  { name: "globalThis", insecureContext: true },
    133  { name: "isFinite", insecureContext: true },
    134  { name: "isNaN", insecureContext: true },
    135  { name: "parseFloat", insecureContext: true },
    136  { name: "parseInt", insecureContext: true },
    137  { name: "undefined", insecureContext: true },
    138  { name: "unescape", insecureContext: true },
    139 ];
    140 // IMPORTANT: Do not change the list above without review from
    141 //            a JavaScript Engine peer!
    142 
    143 // IMPORTANT: Do not change the list below without review from a DOM peer!
    144 // (You can request review on Phabricator via r=#webidl)
    145 let interfaceNamesInGlobalScope = [
    146  // IMPORTANT: Do not change this list without review from a DOM peer!
    147  { name: "AbortController", insecureContext: true },
    148  // IMPORTANT: Do not change this list without review from a DOM peer!
    149  { name: "AbortSignal", insecureContext: true },
    150  // IMPORTANT: Do not change this list without review from a DOM peer!
    151  { name: "AbstractRange", insecureContext: true },
    152  // IMPORTANT: Do not change this list without review from a DOM peer!
    153  { name: "AnalyserNode", insecureContext: true },
    154  // IMPORTANT: Do not change this list without review from a DOM peer!
    155  { name: "Animation", insecureContext: true },
    156  // IMPORTANT: Do not change this list without review from a DOM peer!
    157  { name: "AnimationEffect", insecureContext: true },
    158  // IMPORTANT: Do not change this list without review from a DOM peer!
    159  { name: "AnimationEvent", insecureContext: true },
    160  // IMPORTANT: Do not change this list without review from a DOM peer!
    161  { name: "AnimationPlaybackEvent", insecureContext: true },
    162  // IMPORTANT: Do not change this list without review from a DOM peer!
    163  { name: "AnimationTimeline", insecureContext: true },
    164  // IMPORTANT: Do not change this list without review from a DOM peer!
    165  { name: "Attr", insecureContext: true },
    166  // IMPORTANT: Do not change this list without review from a DOM peer!
    167  { name: "Audio", insecureContext: true },
    168  // IMPORTANT: Do not change this list without review from a DOM peer!
    169  { name: "AudioBuffer", insecureContext: true },
    170  // IMPORTANT: Do not change this list without review from a DOM peer!
    171  { name: "AudioBufferSourceNode", insecureContext: true },
    172  // IMPORTANT: Do not change this list without review from a DOM peer!
    173  { name: "AudioContext", insecureContext: true },
    174  // IMPORTANT: Do not change this list without review from a DOM peer!
    175  { name: "AudioData", insecureContext: true, nightlyAndroid: true },
    176  // IMPORTANT: Do not change this list without review from a DOM peer!
    177  { name: "AudioDecoder", nightlyAndroid: true },
    178  // IMPORTANT: Do not change this list without review from a DOM peer!
    179  { name: "AudioDestinationNode", insecureContext: true },
    180  // IMPORTANT: Do not change this list without review from a DOM peer!
    181  { name: "AudioEncoder", nightlyAndroid: true },
    182  // IMPORTANT: Do not change this list without review from a DOM peer!
    183  { name: "AudioListener", insecureContext: true },
    184  // IMPORTANT: Do not change this list without review from a DOM peer!
    185  { name: "AudioNode", insecureContext: true },
    186  // IMPORTANT: Do not change this list without review from a DOM peer!
    187  { name: "AudioParam", insecureContext: true },
    188  // IMPORTANT: Do not change this list without review from a DOM peer!
    189  { name: "AudioParamMap", insecureContext: false },
    190  // IMPORTANT: Do not change this list without review from a DOM peer!
    191  { name: "AudioProcessingEvent", insecureContext: true },
    192  // IMPORTANT: Do not change this list without review from a DOM peer!
    193  { name: "AudioScheduledSourceNode", insecureContext: true },
    194  // IMPORTANT: Do not change this list without review from a DOM peer!
    195  { name: "AudioWorklet", insecureContext: false },
    196  // IMPORTANT: Do not change this list without review from a DOM peer!
    197  { name: "AudioWorkletNode", insecureContext: false },
    198  // IMPORTANT: Do not change this list without review from a DOM peer!
    199  { name: "AuthenticatorAssertionResponse" },
    200  // IMPORTANT: Do not change this list without review from a DOM peer!
    201  { name: "AuthenticatorAttestationResponse" },
    202  // IMPORTANT: Do not change this list without review from a DOM peer!
    203  { name: "AuthenticatorResponse" },
    204  // IMPORTANT: Do not change this list without review from a DOM peer!
    205  { name: "BarProp", insecureContext: true },
    206  // IMPORTANT: Do not change this list without review from a DOM peer!
    207  { name: "BaseAudioContext", insecureContext: true },
    208  // IMPORTANT: Do not change this list without review from a DOM peer!
    209  { name: "BeforeUnloadEvent", insecureContext: true },
    210  // IMPORTANT: Do not change this list without review from a DOM peer!
    211  { name: "BiquadFilterNode", insecureContext: true },
    212  // IMPORTANT: Do not change this list without review from a DOM peer!
    213  { name: "Blob", insecureContext: true },
    214  // IMPORTANT: Do not change this list without review from a DOM peer!
    215  { name: "BlobEvent", insecureContext: true },
    216  // IMPORTANT: Do not change this list without review from a DOM peer!
    217  { name: "BroadcastChannel", insecureContext: true },
    218  // IMPORTANT: Do not change this list without review from a DOM peer!
    219  { name: "ByteLengthQueuingStrategy", insecureContext: true },
    220  // IMPORTANT: Do not change this list without review from a DOM peer!
    221  { name: "CDATASection", insecureContext: true },
    222  // IMPORTANT: Do not change this list without review from a DOM peer!
    223  { name: "CSS", insecureContext: true },
    224  // IMPORTANT: Do not change this list without review from a DOM peer!
    225  { name: "CSSAnimation", insecureContext: true },
    226  // IMPORTANT: Do not change this list without review from a DOM peer!
    227  { name: "CSSConditionRule", insecureContext: true },
    228  // IMPORTANT: Do not change this list without review from a DOM peer!
    229  { name: "CSSContainerRule", insecureContext: true },
    230  // IMPORTANT: Do not change this list without review from a DOM peer!
    231  { name: "CSSCounterStyleRule", insecureContext: true },
    232  // IMPORTANT: Do not change this list without review from a DOM peer!
    233  { name: "CSSFontFaceRule", insecureContext: true },
    234  // IMPORTANT: Do not change this list without review from a DOM peer!
    235  { name: "CSSFontFeatureValuesRule", insecureContext: true },
    236  // IMPORTANT: Do not change this list without review from a DOM peer!
    237  { name: "CSSFontPaletteValuesRule", insecureContext: true },
    238  // IMPORTANT: Do not change this list without review from a DOM peer!
    239  { name: "CSSGroupingRule", insecureContext: true },
    240  // IMPORTANT: Do not change this list without review from a DOM peer!
    241  { name: "CSSImportRule", insecureContext: true },
    242  // IMPORTANT: Do not change this list without review from a DOM peer!
    243  { name: "CSSKeyframeRule", insecureContext: true },
    244  // IMPORTANT: Do not change this list without review from a DOM peer!
    245  { name: "CSSKeyframesRule", insecureContext: true },
    246  // IMPORTANT: Do not change this list without review from a DOM peer!
    247  { name: "CSSLayerBlockRule", insecureContext: true },
    248  // IMPORTANT: Do not change this list without review from a DOM peer!
    249  { name: "CSSLayerStatementRule", insecureContext: true },
    250  // IMPORTANT: Do not change this list without review from a DOM peer!
    251  { name: "CSSMediaRule", insecureContext: true },
    252  // IMPORTANT: Do not change this list without review from a DOM peer!
    253  { name: "CSSMozDocumentRule", insecureContext: true },
    254  // IMPORTANT: Do not change this list without review from a DOM peer!
    255  { name: "CSSNamespaceRule", insecureContext: true },
    256  // IMPORTANT: Do not change this list without review from a DOM peer!
    257  { name: "CSSNestedDeclarations", insecureContext: true },
    258  // IMPORTANT: Do not change this list without review from a DOM peer!
    259  { name: "CSSPageDescriptors", insecureContext: true },
    260  // IMPORTANT: Do not change this list without review from a DOM peer!
    261  { name: "CSSPageRule", insecureContext: true },
    262  // IMPORTANT: Do not change this list without review from a DOM peer!
    263  { name: "CSSPositionTryDescriptors", insecureContext: true },
    264  // IMPORTANT: Do not change this list without review from a DOM peer!
    265  { name: "CSSPositionTryRule", insecureContext: true },
    266  // IMPORTANT: Do not change this list without review from a DOM peer!
    267  { name: "CSSPropertyRule", insecureContext: true },
    268  // IMPORTANT: Do not change this list without review from a DOM peer!
    269  { name: "CSSPseudoElement", insecureContext: true, disabled: true },
    270  // IMPORTANT: Do not change this list without review from a DOM peer!
    271  { name: "CSSRule", insecureContext: true },
    272  // IMPORTANT: Do not change this list without review from a DOM peer!
    273  { name: "CSSRuleList", insecureContext: true },
    274  // IMPORTANT: Do not change this list without review from a DOM peer!
    275  { name: "CSSScopeRule", insecureContext: true },
    276  // IMPORTANT: Do not change this list without review from a DOM peer!
    277  { name: "CSSStartingStyleRule", insecureContext: true },
    278  // IMPORTANT: Do not change this list without review from a DOM peer!
    279  { name: "CSSStyleDeclaration", insecureContext: true },
    280  // IMPORTANT: Do not change this list without review from a DOM peer!
    281  { name: "CSSStyleProperties", insecureContext: true },
    282  // IMPORTANT: Do not change this list without review from a DOM peer!
    283  { name: "CSSStyleRule", insecureContext: true },
    284  // IMPORTANT: Do not change this list without review from a DOM peer!
    285  { name: "CSSStyleSheet", insecureContext: true },
    286  // IMPORTANT: Do not change this list without review from a DOM peer!
    287  { name: "CSSSupportsRule", insecureContext: true },
    288  // IMPORTANT: Do not change this list without review from a DOM peer!
    289  { name: "CSSTransition", insecureContext: true },
    290  // IMPORTANT: Do not change this list without review from a DOM peer!
    291  "Cache",
    292  // IMPORTANT: Do not change this list without review from a DOM peer!
    293  "CacheStorage",
    294  // IMPORTANT: Do not change this list without review from a DOM peer!
    295  { name: "CanvasCaptureMediaStream", insecureContext: true },
    296  // IMPORTANT: Do not change this list without review from a DOM peer!
    297  { name: "CanvasGradient", insecureContext: true },
    298  // IMPORTANT: Do not change this list without review from a DOM peer!
    299  { name: "CanvasPattern", insecureContext: true },
    300  // IMPORTANT: Do not change this list without review from a DOM peer!
    301  { name: "CanvasRenderingContext2D", insecureContext: true },
    302  // IMPORTANT: Do not change this list without review from a DOM peer!
    303  { name: "CaretPosition", insecureContext: true },
    304  // IMPORTANT: Do not change this list without review from a DOM peer!
    305  { name: "ChannelMergerNode", insecureContext: true },
    306  // IMPORTANT: Do not change this list without review from a DOM peer!
    307  { name: "ChannelSplitterNode", insecureContext: true },
    308  // IMPORTANT: Do not change this list without review from a DOM peer!
    309  { name: "CharacterData", insecureContext: true },
    310  // IMPORTANT: Do not change this list without review from a DOM peer!
    311  { name: "Clipboard" },
    312  // IMPORTANT: Do not change this list without review from a DOM peer!
    313  { name: "ClipboardEvent", insecureContext: true },
    314  // IMPORTANT: Do not change this list without review from a DOM peer!
    315  { name: "ClipboardItem" },
    316  // IMPORTANT: Do not change this list without review from a DOM peer!
    317  { name: "CloseEvent", insecureContext: true },
    318  // IMPORTANT: Do not change this list without review from a DOM peer!
    319  {
    320    name: "CloseWatcher",
    321    insecureContext: true,
    322    nightly: true,
    323    android: false,
    324  },
    325  // IMPORTANT: Do not change this list without review from a DOM peer!
    326  { name: "CommandEvent", insecureContext: true },
    327  // IMPORTANT: Do not change this list without review from a DOM peer!
    328  { name: "Comment", insecureContext: true },
    329  // IMPORTANT: Do not change this list without review from a DOM peer!
    330  { name: "CompositionEvent", insecureContext: true },
    331  // IMPORTANT: Do not change this list without review from a DOM peer!
    332  { name: "CompressionStream", insecureContext: true },
    333  // IMPORTANT: Do not change this list without review from a DOM peer!
    334  { name: "ConstantSourceNode", insecureContext: true },
    335  // IMPORTANT: Do not change this list without review from a DOM peer!
    336  { name: "ContentVisibilityAutoStateChangeEvent", insecureContext: true },
    337  // IMPORTANT: Do not change this list without review from a DOM peer!
    338  { name: "ConvolverNode", insecureContext: true },
    339  // IMPORTANT: Do not change this list without review from a DOM peer!
    340  "CookieChangeEvent",
    341  // IMPORTANT: Do not change this list without review from a DOM peer!
    342  "CookieStore",
    343  // IMPORTANT: Do not change this list without review from a DOM peer!
    344  "CookieStoreManager",
    345  // IMPORTANT: Do not change this list without review from a DOM peer!
    346  { name: "CountQueuingStrategy", insecureContext: true },
    347  // IMPORTANT: Do not change this list without review from a DOM peer!
    348  { name: "Credential" },
    349  // IMPORTANT: Do not change this list without review from a DOM peer!
    350  { name: "CredentialsContainer" },
    351  // IMPORTANT: Do not change this list without review from a DOM peer!
    352  { name: "Crypto", insecureContext: true },
    353  // IMPORTANT: Do not change this list without review from a DOM peer!
    354  { name: "CryptoKey" },
    355  // IMPORTANT: Do not change this list without review from a DOM peer!
    356  { name: "CustomElementRegistry", insecureContext: true },
    357  // IMPORTANT: Do not change this list without review from a DOM peer!
    358  { name: "CustomEvent", insecureContext: true },
    359  // IMPORTANT: Do not change this list without review from a DOM peer!
    360  { name: "CustomStateSet", insecureContext: true },
    361  // IMPORTANT: Do not change this list without review from a DOM peer!
    362  { name: "DOMException", insecureContext: true },
    363  // IMPORTANT: Do not change this list without review from a DOM peer!
    364  { name: "DOMImplementation", insecureContext: true },
    365  // IMPORTANT: Do not change this list without review from a DOM peer!
    366  { name: "DOMMatrix", insecureContext: true },
    367  // IMPORTANT: Do not change this list without review from a DOM peer!
    368  { name: "DOMMatrixReadOnly", insecureContext: true },
    369  // IMPORTANT: Do not change this list without review from a DOM peer!
    370  { name: "DOMParser", insecureContext: true },
    371  // IMPORTANT: Do not change this list without review from a DOM peer!
    372  { name: "DOMPoint", insecureContext: true },
    373  // IMPORTANT: Do not change this list without review from a DOM peer!
    374  { name: "DOMPointReadOnly", insecureContext: true },
    375  // IMPORTANT: Do not change this list without review from a DOM peer!
    376  { name: "DOMQuad", insecureContext: true },
    377  // IMPORTANT: Do not change this list without review from a DOM peer!
    378  { name: "DOMRect", insecureContext: true },
    379  // IMPORTANT: Do not change this list without review from a DOM peer!
    380  { name: "DOMRectList", insecureContext: true },
    381  // IMPORTANT: Do not change this list without review from a DOM peer!
    382  { name: "DOMRectReadOnly", insecureContext: true },
    383  // IMPORTANT: Do not change this list without review from a DOM peer!
    384  { name: "DOMStringList", insecureContext: true },
    385  // IMPORTANT: Do not change this list without review from a DOM peer!
    386  { name: "DOMStringMap", insecureContext: true },
    387  // IMPORTANT: Do not change this list without review from a DOM peer!
    388  { name: "DOMTokenList", insecureContext: true },
    389  // IMPORTANT: Do not change this list without review from a DOM peer!
    390  { name: "DataTransfer", insecureContext: true },
    391  // IMPORTANT: Do not change this list without review from a DOM peer!
    392  { name: "DataTransferItem", insecureContext: true },
    393  // IMPORTANT: Do not change this list without review from a DOM peer!
    394  { name: "DataTransferItemList", insecureContext: true },
    395  // IMPORTANT: Do not change this list without review from a DOM peer!
    396  { name: "DecompressionStream", insecureContext: true },
    397  // IMPORTANT: Do not change this list without review from a DOM peer!
    398  { name: "DelayNode", insecureContext: true },
    399  // IMPORTANT: Do not change this list without review from a DOM peer!
    400  { name: "DeviceLightEvent", insecureContext: true, disabled: true },
    401  // IMPORTANT: Do not change this list without review from a DOM peer!
    402  { name: "DeviceMotionEvent", insecureContext: true },
    403  // IMPORTANT: Do not change this list without review from a DOM peer!
    404  { name: "DeviceOrientationEvent", insecureContext: true },
    405  // IMPORTANT: Do not change this list without review from a DOM peer!
    406  { name: "DeviceProximityEvent", insecureContext: true, disabled: true },
    407  // IMPORTANT: Do not change this list without review from a DOM peer!
    408  { name: "Directory", insecureContext: true },
    409  // IMPORTANT: Do not change this list without review from a DOM peer!
    410  { name: "Document", insecureContext: true },
    411  // IMPORTANT: Do not change this list without review from a DOM peer!
    412  { name: "DocumentFragment", insecureContext: true },
    413  // IMPORTANT: Do not change this list without review from a DOM peer!
    414  {
    415    name: "DocumentPictureInPicture",
    416    insecureContext: false,
    417    nightly: true,
    418    android: false,
    419  },
    420  // IMPORTANT: Do not change this list without review from a DOM peer!
    421  {
    422    name: "DocumentPictureInPictureEvent",
    423    insecureContext: false,
    424    nightly: true,
    425    android: false,
    426  },
    427  // IMPORTANT: Do not change this list without review from a DOM peer!
    428  { name: "DocumentTimeline", insecureContext: true },
    429  // IMPORTANT: Do not change this list without review from a DOM peer!
    430  { name: "DocumentType", insecureContext: true },
    431  // IMPORTANT: Do not change this list without review from a DOM peer!
    432  { name: "DragEvent", insecureContext: true },
    433  // IMPORTANT: Do not change this list without review from a DOM peer!
    434  { name: "DynamicsCompressorNode", insecureContext: true },
    435  // IMPORTANT: Do not change this list without review from a DOM peer!
    436  { name: "Element", insecureContext: true },
    437  // IMPORTANT: Do not change this list without review from a DOM peer!
    438  { name: "ElementInternals", insecureContext: true },
    439  // IMPORTANT: Do not change this list without review from a DOM peer!
    440  { name: "EncodedAudioChunk", insecureContext: true, nightlyAndroid: true },
    441  // IMPORTANT: Do not change this list without review from a DOM peer!
    442  { name: "EncodedVideoChunk", insecureContext: true, nightlyAndroid: true },
    443  // IMPORTANT: Do not change this list without review from a DOM peer!
    444  { name: "ErrorEvent", insecureContext: true },
    445  // IMPORTANT: Do not change this list without review from a DOM peer!
    446  { name: "Event", insecureContext: true },
    447  // IMPORTANT: Do not change this list without review from a DOM peer!
    448  { name: "EventCounts", insecureContext: true },
    449  // IMPORTANT: Do not change this list without review from a DOM peer!
    450  { name: "EventSource", insecureContext: true },
    451  // IMPORTANT: Do not change this list without review from a DOM peer!
    452  { name: "EventTarget", insecureContext: true },
    453  // IMPORTANT: Do not change this list without review from a DOM peer!
    454  { name: "File", insecureContext: true },
    455  // IMPORTANT: Do not change this list without review from a DOM peer!
    456  { name: "FileList", insecureContext: true },
    457  // IMPORTANT: Do not change this list without review from a DOM peer!
    458  { name: "FileReader", insecureContext: true },
    459  // IMPORTANT: Do not change this list without review from a DOM peer!
    460  { name: "FileSystem", insecureContext: true },
    461  // IMPORTANT: Do not change this list without review from a DOM peer!
    462  { name: "FileSystemDirectoryEntry", insecureContext: true },
    463  // IMPORTANT: Do not change this list without review from a DOM peer!
    464  { name: "FileSystemDirectoryHandle" },
    465  // IMPORTANT: Do not change this list without review from a DOM peer!
    466  { name: "FileSystemDirectoryReader", insecureContext: true },
    467  // IMPORTANT: Do not change this list without review from a DOM peer!
    468  { name: "FileSystemEntry", insecureContext: true },
    469  // IMPORTANT: Do not change this list without review from a DOM peer!
    470  { name: "FileSystemFileEntry", insecureContext: true },
    471  // IMPORTANT: Do not change this list without review from a DOM peer!
    472  { name: "FileSystemFileHandle" },
    473  // IMPORTANT: Do not change this list without review from a DOM peer!
    474  { name: "FileSystemHandle" },
    475  // IMPORTANT: Do not change this list without review from a DOM peer!
    476  { name: "FileSystemWritableFileStream" },
    477  // IMPORTANT: Do not change this list without review from a DOM peer!
    478  { name: "FocusEvent", insecureContext: true },
    479  // IMPORTANT: Do not change this list without review from a DOM peer!
    480  { name: "FontFace", insecureContext: true },
    481  // IMPORTANT: Do not change this list without review from a DOM peer!
    482  { name: "FontFaceSet", insecureContext: true },
    483  // IMPORTANT: Do not change this list without review from a DOM peer!
    484  { name: "FontFaceSetLoadEvent", insecureContext: true },
    485  // IMPORTANT: Do not change this list without review from a DOM peer!
    486  { name: "FormData", insecureContext: true },
    487  // IMPORTANT: Do not change this list without review from a DOM peer!
    488  { name: "FormDataEvent", insecureContext: true },
    489  // IMPORTANT: Do not change this list without review from a DOM peer!
    490  { name: "FragmentDirective", insecureContext: true },
    491  // IMPORTANT: Do not change this list without review from a DOM peer!
    492  { name: "GPU", earlyBetaOrEarlier: true },
    493  { name: "GPU", windows: true },
    494  { name: "GPU", mac: true, aarch64: true },
    495  // IMPORTANT: Do not change this list without review from a DOM peer!
    496  { name: "GPUAdapter", earlyBetaOrEarlier: true },
    497  { name: "GPUAdapter", windows: true },
    498  { name: "GPUAdapter", mac: true, aarch64: true },
    499  // IMPORTANT: Do not change this list without review from a DOM peer!
    500  { name: "GPUAdapterInfo", earlyBetaOrEarlier: true },
    501  { name: "GPUAdapterInfo", windows: true },
    502  { name: "GPUAdapterInfo", mac: true, aarch64: true },
    503  // IMPORTANT: Do not change this list without review from a DOM peer!
    504  { name: "GPUBindGroup", earlyBetaOrEarlier: true },
    505  { name: "GPUBindGroup", windows: true },
    506  { name: "GPUBindGroup", mac: true, aarch64: true },
    507  // IMPORTANT: Do not change this list without review from a DOM peer!
    508  { name: "GPUBindGroupLayout", earlyBetaOrEarlier: true },
    509  { name: "GPUBindGroupLayout", windows: true },
    510  { name: "GPUBindGroupLayout", mac: true, aarch64: true },
    511  // IMPORTANT: Do not change this list without review from a DOM peer!
    512  { name: "GPUBuffer", earlyBetaOrEarlier: true },
    513  { name: "GPUBuffer", windows: true },
    514  { name: "GPUBuffer", mac: true, aarch64: true },
    515  // IMPORTANT: Do not change this list without review from a DOM peer!
    516  { name: "GPUBufferUsage", earlyBetaOrEarlier: true },
    517  { name: "GPUBufferUsage", windows: true },
    518  { name: "GPUBufferUsage", mac: true, aarch64: true },
    519  // IMPORTANT: Do not change this list without review from a DOM peer!
    520  { name: "GPUCanvasContext", earlyBetaOrEarlier: true },
    521  { name: "GPUCanvasContext", windows: true },
    522  { name: "GPUCanvasContext", mac: true, aarch64: true },
    523  // IMPORTANT: Do not change this list without review from a DOM peer!
    524  { name: "GPUColorWrite", earlyBetaOrEarlier: true },
    525  { name: "GPUColorWrite", windows: true },
    526  { name: "GPUColorWrite", mac: true, aarch64: true },
    527  // IMPORTANT: Do not change this list without review from a DOM peer!
    528  { name: "GPUCommandBuffer", earlyBetaOrEarlier: true },
    529  { name: "GPUCommandBuffer", windows: true },
    530  { name: "GPUCommandBuffer", mac: true, aarch64: true },
    531  // IMPORTANT: Do not change this list without review from a DOM peer!
    532  { name: "GPUCommandEncoder", earlyBetaOrEarlier: true },
    533  { name: "GPUCommandEncoder", windows: true },
    534  { name: "GPUCommandEncoder", mac: true, aarch64: true },
    535  // IMPORTANT: Do not change this list without review from a DOM peer!
    536  { name: "GPUCompilationInfo", earlyBetaOrEarlier: true },
    537  { name: "GPUCompilationInfo", windows: true },
    538  { name: "GPUCompilationInfo", mac: true, aarch64: true },
    539  // IMPORTANT: Do not change this list without review from a DOM peer!
    540  { name: "GPUCompilationMessage", earlyBetaOrEarlier: true },
    541  { name: "GPUCompilationMessage", windows: true },
    542  { name: "GPUCompilationMessage", mac: true, aarch64: true },
    543  // IMPORTANT: Do not change this list without review from a DOM peer!
    544  { name: "GPUComputePassEncoder", earlyBetaOrEarlier: true },
    545  { name: "GPUComputePassEncoder", windows: true },
    546  { name: "GPUComputePassEncoder", mac: true, aarch64: true },
    547  // IMPORTANT: Do not change this list without review from a DOM peer!
    548  { name: "GPUComputePipeline", earlyBetaOrEarlier: true },
    549  { name: "GPUComputePipeline", windows: true },
    550  { name: "GPUComputePipeline", mac: true, aarch64: true },
    551  // IMPORTANT: Do not change this list without review from a DOM peer!
    552  { name: "GPUDevice", earlyBetaOrEarlier: true },
    553  { name: "GPUDevice", windows: true },
    554  { name: "GPUDevice", mac: true, aarch64: true },
    555  // IMPORTANT: Do not change this list without review from a DOM peer!
    556  { name: "GPUDeviceLostInfo", earlyBetaOrEarlier: true },
    557  { name: "GPUDeviceLostInfo", windows: true },
    558  { name: "GPUDeviceLostInfo", mac: true, aarch64: true },
    559  // IMPORTANT: Do not change this list without review from a DOM peer!
    560  { name: "GPUError", earlyBetaOrEarlier: true },
    561  { name: "GPUError", windows: true },
    562  { name: "GPUError", mac: true, aarch64: true },
    563  // IMPORTANT: Do not change this list without review from a DOM peer!
    564  { name: "GPUExternalTexture", earlyBetaOrEarlier: true },
    565  { name: "GPUExternalTexture", windows: true },
    566  { name: "GPUExternalTexture", mac: true, aarch64: true },
    567  // IMPORTANT: Do not change this list without review from a DOM peer!
    568  { name: "GPUInternalError", earlyBetaOrEarlier: true },
    569  { name: "GPUInternalError", windows: true },
    570  { name: "GPUInternalError", mac: true, aarch64: true },
    571  // IMPORTANT: Do not change this list without review from a DOM peer!
    572  { name: "GPUMapMode", earlyBetaOrEarlier: true },
    573  { name: "GPUMapMode", windows: true },
    574  { name: "GPUMapMode", mac: true, aarch64: true },
    575  // IMPORTANT: Do not change this list without review from a DOM peer!
    576  { name: "GPUOutOfMemoryError", earlyBetaOrEarlier: true },
    577  { name: "GPUOutOfMemoryError", windows: true },
    578  { name: "GPUOutOfMemoryError", mac: true, aarch64: true },
    579  // IMPORTANT: Do not change this list without review from a DOM peer!
    580  { name: "GPUPipelineError", earlyBetaOrEarlier: true },
    581  { name: "GPUPipelineError", windows: true },
    582  { name: "GPUPipelineError", mac: true, aarch64: true },
    583  // IMPORTANT: Do not change this list without review from a DOM peer!
    584  { name: "GPUPipelineLayout", earlyBetaOrEarlier: true },
    585  { name: "GPUPipelineLayout", windows: true },
    586  { name: "GPUPipelineLayout", mac: true, aarch64: true },
    587  // IMPORTANT: Do not change this list without review from a DOM peer!
    588  { name: "GPUQuerySet", earlyBetaOrEarlier: true },
    589  { name: "GPUQuerySet", windows: true },
    590  { name: "GPUQuerySet", mac: true, aarch64: true },
    591  // IMPORTANT: Do not change this list without review from a DOM peer!
    592  { name: "GPUQueue", earlyBetaOrEarlier: true },
    593  { name: "GPUQueue", windows: true },
    594  { name: "GPUQueue", mac: true, aarch64: true },
    595  // IMPORTANT: Do not change this list without review from a DOM peer!
    596  { name: "GPURenderBundle", earlyBetaOrEarlier: true },
    597  { name: "GPURenderBundle", windows: true },
    598  { name: "GPURenderBundle", mac: true, aarch64: true },
    599  // IMPORTANT: Do not change this list without review from a DOM peer!
    600  { name: "GPURenderBundleEncoder", earlyBetaOrEarlier: true },
    601  { name: "GPURenderBundleEncoder", windows: true },
    602  { name: "GPURenderBundleEncoder", mac: true, aarch64: true },
    603  // IMPORTANT: Do not change this list without review from a DOM peer!
    604  { name: "GPURenderPassEncoder", earlyBetaOrEarlier: true },
    605  { name: "GPURenderPassEncoder", windows: true },
    606  { name: "GPURenderPassEncoder", mac: true, aarch64: true },
    607  // IMPORTANT: Do not change this list without review from a DOM peer!
    608  { name: "GPURenderPipeline", earlyBetaOrEarlier: true },
    609  { name: "GPURenderPipeline", windows: true },
    610  { name: "GPURenderPipeline", mac: true, aarch64: true },
    611  // IMPORTANT: Do not change this list without review from a DOM peer!
    612  { name: "GPUSampler", earlyBetaOrEarlier: true },
    613  { name: "GPUSampler", windows: true },
    614  { name: "GPUSampler", mac: true, aarch64: true },
    615  // IMPORTANT: Do not change this list without review from a DOM peer!
    616  { name: "GPUShaderModule", earlyBetaOrEarlier: true },
    617  { name: "GPUShaderModule", windows: true },
    618  { name: "GPUShaderModule", mac: true, aarch64: true },
    619  // IMPORTANT: Do not change this list without review from a DOM peer!
    620  { name: "GPUShaderStage", earlyBetaOrEarlier: true },
    621  { name: "GPUShaderStage", windows: true },
    622  { name: "GPUShaderStage", mac: true, aarch64: true },
    623  // IMPORTANT: Do not change this list without review from a DOM peer!
    624  { name: "GPUSupportedFeatures", earlyBetaOrEarlier: true },
    625  { name: "GPUSupportedFeatures", windows: true },
    626  { name: "GPUSupportedFeatures", mac: true, aarch64: true },
    627  // IMPORTANT: Do not change this list without review from a DOM peer!
    628  { name: "GPUSupportedLimits", earlyBetaOrEarlier: true },
    629  { name: "GPUSupportedLimits", windows: true },
    630  { name: "GPUSupportedLimits", mac: true, aarch64: true },
    631  // IMPORTANT: Do not change this list without review from a DOM peer!
    632  { name: "GPUTexture", earlyBetaOrEarlier: true },
    633  { name: "GPUTexture", windows: true },
    634  { name: "GPUTexture", mac: true, aarch64: true },
    635  // IMPORTANT: Do not change this list without review from a DOM peer!
    636  { name: "GPUTextureUsage", earlyBetaOrEarlier: true },
    637  { name: "GPUTextureUsage", windows: true },
    638  { name: "GPUTextureUsage", mac: true, aarch64: true },
    639  // IMPORTANT: Do not change this list without review from a DOM peer!
    640  { name: "GPUTextureView", earlyBetaOrEarlier: true },
    641  { name: "GPUTextureView", windows: true },
    642  { name: "GPUTextureView", mac: true, aarch64: true },
    643  // IMPORTANT: Do not change this list without review from a DOM peer!
    644  { name: "GPUUncapturedErrorEvent", earlyBetaOrEarlier: true },
    645  { name: "GPUUncapturedErrorEvent", windows: true },
    646  { name: "GPUUncapturedErrorEvent", mac: true, aarch64: true },
    647  // IMPORTANT: Do not change this list without review from a DOM peer!
    648  { name: "GPUValidationError", earlyBetaOrEarlier: true },
    649  { name: "GPUValidationError", windows: true },
    650  { name: "GPUValidationError", mac: true, aarch64: true },
    651  // IMPORTANT: Do not change this list without review from a DOM peer!
    652  { name: "GainNode", insecureContext: true },
    653  // IMPORTANT: Do not change this list without review from a DOM peer!
    654  { name: "Gamepad", insecureContext: true },
    655  // IMPORTANT: Do not change this list without review from a DOM peer!
    656  { name: "GamepadAxisMoveEvent", insecureContext: true },
    657  // IMPORTANT: Do not change this list without review from a DOM peer!
    658  { name: "GamepadButton", insecureContext: true },
    659  // IMPORTANT: Do not change this list without review from a DOM peer!
    660  { name: "GamepadButtonEvent", insecureContext: true },
    661  // IMPORTANT: Do not change this list without review from a DOM peer!
    662  { name: "GamepadEvent", insecureContext: true },
    663  // IMPORTANT: Do not change this list without review from a DOM peer!
    664  { name: "GamepadHapticActuator", insecureContext: true },
    665  // IMPORTANT: Do not change this list without review from a DOM peer!
    666  { name: "GamepadLightIndicator", insecureContext: true, disabled: true },
    667  // IMPORTANT: Do not change this list without review from a DOM peer!
    668  { name: "GamepadPose", insecureContext: true },
    669  // IMPORTANT: Do not change this list without review from a DOM peer!
    670  { name: "GamepadTouch", insecureContext: true, disabled: true },
    671  // IMPORTANT: Do not change this list without review from a DOM peer!
    672  { name: "Geolocation", insecureContext: true },
    673  // IMPORTANT: Do not change this list without review from a DOM peer!
    674  { name: "GeolocationCoordinates", insecureContext: false },
    675  // IMPORTANT: Do not change this list without review from a DOM peer!
    676  { name: "GeolocationPosition", insecureContext: false },
    677  // IMPORTANT: Do not change this list without review from a DOM peer!
    678  { name: "GeolocationPositionError", insecureContext: true },
    679  // IMPORTANT: Do not change this list without review from a DOM peer!
    680  { name: "HTMLAllCollection", insecureContext: true },
    681  // IMPORTANT: Do not change this list without review from a DOM peer!
    682  { name: "HTMLAnchorElement", insecureContext: true },
    683  // IMPORTANT: Do not change this list without review from a DOM peer!
    684  { name: "HTMLAreaElement", insecureContext: true },
    685  // IMPORTANT: Do not change this list without review from a DOM peer!
    686  { name: "HTMLAudioElement", insecureContext: true },
    687  // IMPORTANT: Do not change this list without review from a DOM peer!
    688  { name: "HTMLBRElement", insecureContext: true },
    689  // IMPORTANT: Do not change this list without review from a DOM peer!
    690  { name: "HTMLBaseElement", insecureContext: true },
    691  // IMPORTANT: Do not change this list without review from a DOM peer!
    692  { name: "HTMLBodyElement", insecureContext: true },
    693  // IMPORTANT: Do not change this list without review from a DOM peer!
    694  { name: "HTMLButtonElement", insecureContext: true },
    695  // IMPORTANT: Do not change this list without review from a DOM peer!
    696  { name: "HTMLCanvasElement", insecureContext: true },
    697  // IMPORTANT: Do not change this list without review from a DOM peer!
    698  { name: "HTMLCollection", insecureContext: true },
    699  // IMPORTANT: Do not change this list without review from a DOM peer!
    700  { name: "HTMLDListElement", insecureContext: true },
    701  // IMPORTANT: Do not change this list without review from a DOM peer!
    702  { name: "HTMLDataElement", insecureContext: true },
    703  // IMPORTANT: Do not change this list without review from a DOM peer!
    704  { name: "HTMLDataListElement", insecureContext: true },
    705  // IMPORTANT: Do not change this list without review from a DOM peer!
    706  { name: "HTMLDetailsElement", insecureContext: true },
    707  // IMPORTANT: Do not change this list without review from a DOM peer!
    708  { name: "HTMLDialogElement", insecureContext: true },
    709  // IMPORTANT: Do not change this list without review from a DOM peer!
    710  { name: "HTMLDirectoryElement", insecureContext: true },
    711  // IMPORTANT: Do not change this list without review from a DOM peer!
    712  { name: "HTMLDivElement", insecureContext: true },
    713  // IMPORTANT: Do not change this list without review from a DOM peer!
    714  { name: "HTMLDocument", insecureContext: true },
    715  // IMPORTANT: Do not change this list without review from a DOM peer!
    716  { name: "HTMLElement", insecureContext: true },
    717  // IMPORTANT: Do not change this list without review from a DOM peer!
    718  { name: "HTMLEmbedElement", insecureContext: true },
    719  // IMPORTANT: Do not change this list without review from a DOM peer!
    720  { name: "HTMLFieldSetElement", insecureContext: true },
    721  // IMPORTANT: Do not change this list without review from a DOM peer!
    722  { name: "HTMLFontElement", insecureContext: true },
    723  // IMPORTANT: Do not change this list without review from a DOM peer!
    724  { name: "HTMLFormControlsCollection", insecureContext: true },
    725  // IMPORTANT: Do not change this list without review from a DOM peer!
    726  { name: "HTMLFormElement", insecureContext: true },
    727  // IMPORTANT: Do not change this list without review from a DOM peer!
    728  { name: "HTMLFrameElement", insecureContext: true },
    729  // IMPORTANT: Do not change this list without review from a DOM peer!
    730  { name: "HTMLFrameSetElement", insecureContext: true },
    731  // IMPORTANT: Do not change this list without review from a DOM peer!
    732  { name: "HTMLHRElement", insecureContext: true },
    733  // IMPORTANT: Do not change this list without review from a DOM peer!
    734  { name: "HTMLHeadElement", insecureContext: true },
    735  // IMPORTANT: Do not change this list without review from a DOM peer!
    736  { name: "HTMLHeadingElement", insecureContext: true },
    737  // IMPORTANT: Do not change this list without review from a DOM peer!
    738  { name: "HTMLHtmlElement", insecureContext: true },
    739  // IMPORTANT: Do not change this list without review from a DOM peer!
    740  { name: "HTMLIFrameElement", insecureContext: true },
    741  // IMPORTANT: Do not change this list without review from a DOM peer!
    742  { name: "HTMLImageElement", insecureContext: true },
    743  // IMPORTANT: Do not change this list without review from a DOM peer!
    744  { name: "HTMLInputElement", insecureContext: true },
    745  // IMPORTANT: Do not change this list without review from a DOM peer!
    746  { name: "HTMLLIElement", insecureContext: true },
    747  // IMPORTANT: Do not change this list without review from a DOM peer!
    748  { name: "HTMLLabelElement", insecureContext: true },
    749  // IMPORTANT: Do not change this list without review from a DOM peer!
    750  { name: "HTMLLegendElement", insecureContext: true },
    751  // IMPORTANT: Do not change this list without review from a DOM peer!
    752  { name: "HTMLLinkElement", insecureContext: true },
    753  // IMPORTANT: Do not change this list without review from a DOM peer!
    754  { name: "HTMLMapElement", insecureContext: true },
    755  // IMPORTANT: Do not change this list without review from a DOM peer!
    756  { name: "HTMLMarqueeElement", insecureContext: true },
    757  // IMPORTANT: Do not change this list without review from a DOM peer!
    758  { name: "HTMLMediaElement", insecureContext: true },
    759  // IMPORTANT: Do not change this list without review from a DOM peer!
    760  { name: "HTMLMenuElement", insecureContext: true },
    761  // IMPORTANT: Do not change this list without review from a DOM peer!
    762  { name: "HTMLMetaElement", insecureContext: true },
    763  // IMPORTANT: Do not change this list without review from a DOM peer!
    764  { name: "HTMLMeterElement", insecureContext: true },
    765  // IMPORTANT: Do not change this list without review from a DOM peer!
    766  { name: "HTMLModElement", insecureContext: true },
    767  // IMPORTANT: Do not change this list without review from a DOM peer!
    768  { name: "HTMLOListElement", insecureContext: true },
    769  // IMPORTANT: Do not change this list without review from a DOM peer!
    770  { name: "HTMLObjectElement", insecureContext: true },
    771  // IMPORTANT: Do not change this list without review from a DOM peer!
    772  { name: "HTMLOptGroupElement", insecureContext: true },
    773  // IMPORTANT: Do not change this list without review from a DOM peer!
    774  { name: "HTMLOptionElement", insecureContext: true },
    775  // IMPORTANT: Do not change this list without review from a DOM peer!
    776  { name: "HTMLOptionsCollection", insecureContext: true },
    777  // IMPORTANT: Do not change this list without review from a DOM peer!
    778  { name: "HTMLOutputElement", insecureContext: true },
    779  // IMPORTANT: Do not change this list without review from a DOM peer!
    780  { name: "HTMLParagraphElement", insecureContext: true },
    781  // IMPORTANT: Do not change this list without review from a DOM peer!
    782  { name: "HTMLParamElement", insecureContext: true },
    783  // IMPORTANT: Do not change this list without review from a DOM peer!
    784  { name: "HTMLPictureElement", insecureContext: true },
    785  // IMPORTANT: Do not change this list without review from a DOM peer!
    786  { name: "HTMLPreElement", insecureContext: true },
    787  // IMPORTANT: Do not change this list without review from a DOM peer!
    788  { name: "HTMLProgressElement", insecureContext: true },
    789  // IMPORTANT: Do not change this list without review from a DOM peer!
    790  { name: "HTMLQuoteElement", insecureContext: true },
    791  // IMPORTANT: Do not change this list without review from a DOM peer!
    792  { name: "HTMLScriptElement", insecureContext: true },
    793  // IMPORTANT: Do not change this list without review from a DOM peer!
    794  { name: "HTMLSelectElement", insecureContext: true },
    795  // IMPORTANT: Do not change this list without review from a DOM peer!
    796  { name: "HTMLSlotElement", insecureContext: true },
    797  // IMPORTANT: Do not change this list without review from a DOM peer!
    798  { name: "HTMLSourceElement", insecureContext: true },
    799  // IMPORTANT: Do not change this list without review from a DOM peer!
    800  { name: "HTMLSpanElement", insecureContext: true },
    801  // IMPORTANT: Do not change this list without review from a DOM peer!
    802  { name: "HTMLStyleElement", insecureContext: true },
    803  // IMPORTANT: Do not change this list without review from a DOM peer!
    804  { name: "HTMLTableCaptionElement", insecureContext: true },
    805  // IMPORTANT: Do not change this list without review from a DOM peer!
    806  { name: "HTMLTableCellElement", insecureContext: true },
    807  // IMPORTANT: Do not change this list without review from a DOM peer!
    808  { name: "HTMLTableColElement", insecureContext: true },
    809  // IMPORTANT: Do not change this list without review from a DOM peer!
    810  { name: "HTMLTableElement", insecureContext: true },
    811  // IMPORTANT: Do not change this list without review from a DOM peer!
    812  { name: "HTMLTableRowElement", insecureContext: true },
    813  // IMPORTANT: Do not change this list without review from a DOM peer!
    814  { name: "HTMLTableSectionElement", insecureContext: true },
    815  // IMPORTANT: Do not change this list without review from a DOM peer!
    816  { name: "HTMLTemplateElement", insecureContext: true },
    817  // IMPORTANT: Do not change this list without review from a DOM peer!
    818  { name: "HTMLTextAreaElement", insecureContext: true },
    819  // IMPORTANT: Do not change this list without review from a DOM peer!
    820  { name: "HTMLTimeElement", insecureContext: true },
    821  // IMPORTANT: Do not change this list without review from a DOM peer!
    822  { name: "HTMLTitleElement", insecureContext: true },
    823  // IMPORTANT: Do not change this list without review from a DOM peer!
    824  { name: "HTMLTrackElement", insecureContext: true },
    825  // IMPORTANT: Do not change this list without review from a DOM peer!
    826  { name: "HTMLUListElement", insecureContext: true },
    827  // IMPORTANT: Do not change this list without review from a DOM peer!
    828  { name: "HTMLUnknownElement", insecureContext: true },
    829  // IMPORTANT: Do not change this list without review from a DOM peer!
    830  { name: "HTMLVideoElement", insecureContext: true },
    831  // IMPORTANT: Do not change this list without review from a DOM peer!
    832  { name: "HashChangeEvent", insecureContext: true },
    833  // IMPORTANT: Do not change this list without review from a DOM peer!
    834  { name: "Headers", insecureContext: true },
    835  // IMPORTANT: Do not change this list without review from a DOM peer!
    836  { name: "Highlight", insecureContext: true },
    837  // IMPORTANT: Do not change this list without review from a DOM peer!
    838  { name: "HighlightRegistry", insecureContext: true },
    839  // IMPORTANT: Do not change this list without review from a DOM peer!
    840  { name: "History", insecureContext: true },
    841  // IMPORTANT: Do not change this list without review from a DOM peer!
    842  { name: "IDBCursor", insecureContext: true },
    843  // IMPORTANT: Do not change this list without review from a DOM peer!
    844  { name: "IDBCursorWithValue", insecureContext: true },
    845  // IMPORTANT: Do not change this list without review from a DOM peer!
    846  { name: "IDBDatabase", insecureContext: true },
    847  // IMPORTANT: Do not change this list without review from a DOM peer!
    848  { name: "IDBFactory", insecureContext: true },
    849  // IMPORTANT: Do not change this list without review from a DOM peer!
    850  { name: "IDBIndex", insecureContext: true },
    851  // IMPORTANT: Do not change this list without review from a DOM peer!
    852  { name: "IDBKeyRange", insecureContext: true },
    853  // IMPORTANT: Do not change this list without review from a DOM peer!
    854  { name: "IDBObjectStore", insecureContext: true },
    855  // IMPORTANT: Do not change this list without review from a DOM peer!
    856  { name: "IDBOpenDBRequest", insecureContext: true },
    857  // IMPORTANT: Do not change this list without review from a DOM peer!
    858  { name: "IDBRequest", insecureContext: true },
    859  // IMPORTANT: Do not change this list without review from a DOM peer!
    860  { name: "IDBTransaction", insecureContext: true },
    861  // IMPORTANT: Do not change this list without review from a DOM peer!
    862  { name: "IDBVersionChangeEvent", insecureContext: true },
    863  // IMPORTANT: Do not change this list without review from a DOM peer!
    864  { name: "IIRFilterNode", insecureContext: true },
    865  // IMPORTANT: Do not change this list without review from a DOM peer!
    866  { name: "IdentityCredential", nightly: true, desktop: true },
    867  // IMPORTANT: Do not change this list without review from a DOM peer!
    868  { name: "IdentityProvider", nightly: true, desktop: true },
    869  // IMPORTANT: Do not change this list without review from a DOM peer!
    870  { name: "IdleDeadline", insecureContext: true },
    871  // IMPORTANT: Do not change this list without review from a DOM peer!
    872  { name: "Image", insecureContext: true },
    873  // IMPORTANT: Do not change this list without review from a DOM peer!
    874  { name: "ImageBitmap", insecureContext: true },
    875  // IMPORTANT: Do not change this list without review from a DOM peer!
    876  { name: "ImageBitmapRenderingContext", insecureContext: true },
    877  // IMPORTANT: Do not change this list without review from a DOM peer!
    878  { name: "ImageCapture", insecureContext: true, disabled: true },
    879  // IMPORTANT: Do not change this list without review from a DOM peer!
    880  { name: "ImageCaptureErrorEvent", insecureContext: true, disabled: true },
    881  // IMPORTANT: Do not change this list without review from a DOM peer!
    882  { name: "ImageData", insecureContext: true },
    883  // IMPORTANT: Do not change this list without review from a DOM peer!
    884  { name: "ImageDecoder" },
    885  // IMPORTANT: Do not change this list without review from a DOM peer!
    886  { name: "ImageTrack" },
    887  // IMPORTANT: Do not change this list without review from a DOM peer!
    888  { name: "ImageTrackList" },
    889  // IMPORTANT: Do not change this list without review from a DOM peer!
    890  { name: "InputEvent", insecureContext: true },
    891  // IMPORTANT: Do not change this list without review from a DOM peer!
    892  { name: "InstallTrigger", insecureContext: true },
    893  // IMPORTANT: Do not change this list without review from a DOM peer!
    894  { name: "IntersectionObserver", insecureContext: true },
    895  // IMPORTANT: Do not change this list without review from a DOM peer!
    896  { name: "IntersectionObserverEntry", insecureContext: true },
    897  // IMPORTANT: Do not change this list without review from a DOM peer!
    898  { name: "KeyEvent", insecureContext: true },
    899  // IMPORTANT: Do not change this list without review from a DOM peer!
    900  { name: "KeyboardEvent", insecureContext: true },
    901  // IMPORTANT: Do not change this list without review from a DOM peer!
    902  { name: "KeyframeEffect", insecureContext: true },
    903  // IMPORTANT: Do not change this list without review from a DOM peer!
    904  { name: "LargestContentfulPaint", insecureContext: true },
    905  // IMPORTANT: Do not change this list without review from a DOM peer!
    906  { name: "Location", insecureContext: true },
    907  // IMPORTANT: Do not change this list without review from a DOM peer!
    908  "Lock",
    909  // IMPORTANT: Do not change this list without review from a DOM peer!
    910  "LockManager",
    911  // IMPORTANT: Do not change this list without review from a DOM peer!
    912  { name: "MIDIAccess", android: false },
    913  // IMPORTANT: Do not change this list without review from a DOM peer!
    914  { name: "MIDIConnectionEvent", android: false },
    915  // IMPORTANT: Do not change this list without review from a DOM peer!
    916  { name: "MIDIInput", android: false },
    917  // IMPORTANT: Do not change this list without review from a DOM peer!
    918  { name: "MIDIInputMap", android: false },
    919  // IMPORTANT: Do not change this list without review from a DOM peer!
    920  { name: "MIDIMessageEvent", android: false },
    921  // IMPORTANT: Do not change this list without review from a DOM peer!
    922  { name: "MIDIOutput", android: false },
    923  // IMPORTANT: Do not change this list without review from a DOM peer!
    924  { name: "MIDIOutputMap", android: false },
    925  // IMPORTANT: Do not change this list without review from a DOM peer!
    926  { name: "MIDIPort", android: false },
    927  // IMPORTANT: Do not change this list without review from a DOM peer!
    928  { name: "MathMLElement", insecureContext: true },
    929  // IMPORTANT: Do not change this list without review from a DOM peer!
    930  { name: "MediaCapabilities", insecureContext: true },
    931  // IMPORTANT: Do not change this list without review from a DOM peer!
    932  { name: "MediaDeviceInfo", insecureContext: false },
    933  // IMPORTANT: Do not change this list without review from a DOM peer!
    934  { name: "MediaDevices", insecureContext: false },
    935  // IMPORTANT: Do not change this list without review from a DOM peer!
    936  { name: "MediaElementAudioSourceNode", insecureContext: true },
    937  // IMPORTANT: Do not change this list without review from a DOM peer!
    938  { name: "MediaEncryptedEvent", insecureContext: true },
    939  // IMPORTANT: Do not change this list without review from a DOM peer!
    940  { name: "MediaError", insecureContext: true },
    941  // IMPORTANT: Do not change this list without review from a DOM peer!
    942  { name: "MediaKeyError", insecureContext: true },
    943  // IMPORTANT: Do not change this list without review from a DOM peer!
    944  { name: "MediaKeyMessageEvent", insecureContext: true },
    945  // IMPORTANT: Do not change this list without review from a DOM peer!
    946  { name: "MediaKeySession", insecureContext: true },
    947  // IMPORTANT: Do not change this list without review from a DOM peer!
    948  { name: "MediaKeyStatusMap", insecureContext: true },
    949  // IMPORTANT: Do not change this list without review from a DOM peer!
    950  { name: "MediaKeySystemAccess", insecureContext: true },
    951  // IMPORTANT: Do not change this list without review from a DOM peer!
    952  { name: "MediaKeys", insecureContext: true },
    953  // IMPORTANT: Do not change this list without review from a DOM peer!
    954  { name: "MediaList", insecureContext: true },
    955  // IMPORTANT: Do not change this list without review from a DOM peer!
    956  { name: "MediaMetadata", insecureContext: true },
    957  // IMPORTANT: Do not change this list without review from a DOM peer!
    958  { name: "MediaQueryList", insecureContext: true },
    959  // IMPORTANT: Do not change this list without review from a DOM peer!
    960  { name: "MediaQueryListEvent", insecureContext: true },
    961  // IMPORTANT: Do not change this list without review from a DOM peer!
    962  { name: "MediaRecorder", insecureContext: true },
    963  // IMPORTANT: Do not change this list without review from a DOM peer!
    964  { name: "MediaRecorderErrorEvent", insecureContext: true },
    965  // IMPORTANT: Do not change this list without review from a DOM peer!
    966  { name: "MediaSession", insecureContext: true },
    967  // IMPORTANT: Do not change this list without review from a DOM peer!
    968  { name: "MediaSource", insecureContext: true },
    969  // IMPORTANT: Do not change this list without review from a DOM peer!
    970  { name: "MediaStream", insecureContext: true },
    971  // IMPORTANT: Do not change this list without review from a DOM peer!
    972  { name: "MediaStreamAudioDestinationNode", insecureContext: true },
    973  // IMPORTANT: Do not change this list without review from a DOM peer!
    974  { name: "MediaStreamAudioSourceNode", insecureContext: true },
    975  // IMPORTANT: Do not change this list without review from a DOM peer!
    976  { name: "MediaStreamEvent", insecureContext: true },
    977  // IMPORTANT: Do not change this list without review from a DOM peer!
    978  { name: "MediaStreamTrack", insecureContext: true },
    979  // IMPORTANT: Do not change this list without review from a DOM peer!
    980  { name: "MediaStreamTrackAudioSourceNode", insecureContext: true },
    981  // IMPORTANT: Do not change this list without review from a DOM peer!
    982  { name: "MediaStreamTrackEvent", insecureContext: true },
    983  // IMPORTANT: Do not change this list without review from a DOM peer!
    984  {
    985    name: "MerchantValidationEvent",
    986    insecureContext: false,
    987    desktop: true,
    988    nightly: true,
    989    linux: false,
    990    disabled: true,
    991  },
    992  // IMPORTANT: Do not change this list without review from a DOM peer!
    993  { name: "MessageChannel", insecureContext: true },
    994  // IMPORTANT: Do not change this list without review from a DOM peer!
    995  { name: "MessageEvent", insecureContext: true },
    996  // IMPORTANT: Do not change this list without review from a DOM peer!
    997  { name: "MessagePort", insecureContext: true },
    998  // IMPORTANT: Do not change this list without review from a DOM peer!
    999  { name: "MimeType", insecureContext: true },
   1000  // IMPORTANT: Do not change this list without review from a DOM peer!
   1001  { name: "MimeTypeArray", insecureContext: true },
   1002  // IMPORTANT: Do not change this list without review from a DOM peer!
   1003  { name: "MouseEvent", insecureContext: true },
   1004  // IMPORTANT: Do not change this list without review from a DOM peer!
   1005  { name: "MouseScrollEvent", insecureContext: true },
   1006  // IMPORTANT: Do not change this list without review from a DOM peer!
   1007  { name: "MutationObserver", insecureContext: true },
   1008  // IMPORTANT: Do not change this list without review from a DOM peer!
   1009  { name: "MutationRecord", insecureContext: true },
   1010  // IMPORTANT: Do not change this list without review from a DOM peer!
   1011  { name: "NamedNodeMap", insecureContext: true },
   1012  // IMPORTANT: Do not change this list without review from a DOM peer!
   1013  {
   1014    name: "NavigateEvent",
   1015    insecureContext: true,
   1016    sessionHistoryInParent: true,
   1017  },
   1018  // IMPORTANT: Do not change this list without review from a DOM peer!
   1019  {
   1020    name: "Navigation",
   1021    insecureContext: true,
   1022    sessionHistoryInParent: true,
   1023  },
   1024  // IMPORTANT: Do not change this list without review from a DOM peer!
   1025  {
   1026    name: "NavigationActivation",
   1027    insecureContext: true,
   1028    sessionHistoryInParent: true,
   1029  },
   1030  // IMPORTANT: Do not change this list without review from a DOM peer!
   1031  {
   1032    name: "NavigationCurrentEntryChangeEvent",
   1033    insecureContext: true,
   1034    sessionHistoryInParent: true,
   1035  },
   1036  // IMPORTANT: Do not change this list without review from a DOM peer!
   1037  {
   1038    name: "NavigationDestination",
   1039    insecureContext: true,
   1040    sessionHistoryInParent: true,
   1041  },
   1042  // IMPORTANT: Do not change this list without review from a DOM peer!
   1043  {
   1044    name: "NavigationHistoryEntry",
   1045    insecureContext: true,
   1046    sessionHistoryInParent: true,
   1047  },
   1048  // IMPORTANT: Do not change this list without review from a DOM peer!
   1049  {
   1050    name: "NavigationPrecommitController",
   1051    insecureContext: true,
   1052    sessionHistoryInParent: true,
   1053  },
   1054  // IMPORTANT: Do not change this list without review from a DOM peer!
   1055  "NavigationPreloadManager",
   1056  // IMPORTANT: Do not change this list without review from a DOM peer!
   1057  {
   1058    name: "NavigationTransition",
   1059    insecureContext: true,
   1060    sessionHistoryInParent: true,
   1061  },
   1062  // IMPORTANT: Do not change this list without review from a DOM peer!
   1063  { name: "Navigator", insecureContext: true },
   1064  // IMPORTANT: Do not change this list without review from a DOM peer!
   1065  "NavigatorLogin",
   1066  // IMPORTANT: Do not change this list without review from a DOM peer!
   1067  { name: "NetworkInformation", insecureContext: true, disabled: true },
   1068  // IMPORTANT: Do not change this list without review from a DOM peer!
   1069  { name: "Node", insecureContext: true },
   1070  // IMPORTANT: Do not change this list without review from a DOM peer!
   1071  { name: "NodeFilter", insecureContext: true },
   1072  // IMPORTANT: Do not change this list without review from a DOM peer!
   1073  { name: "NodeIterator", insecureContext: true },
   1074  // IMPORTANT: Do not change this list without review from a DOM peer!
   1075  { name: "NodeList", insecureContext: true },
   1076  // IMPORTANT: Do not change this list without review from a DOM peer!
   1077  { name: "Notification", insecureContext: true },
   1078  // IMPORTANT: Do not change this list without review from a DOM peer!
   1079  { name: "OfflineAudioCompletionEvent", insecureContext: true },
   1080  // IMPORTANT: Do not change this list without review from a DOM peer!
   1081  { name: "OfflineAudioContext", insecureContext: true },
   1082  // IMPORTANT: Do not change this list without review from a DOM peer!
   1083  { name: "OffscreenCanvas", insecureContext: true },
   1084  // IMPORTANT: Do not change this list without review from a DOM peer!
   1085  { name: "OffscreenCanvasRenderingContext2D", insecureContext: true },
   1086  // IMPORTANT: Do not change this list without review from a DOM peer!
   1087  { name: "Option", insecureContext: true },
   1088  // IMPORTANT: Do not change this list without review from a DOM peer!
   1089  { name: "OscillatorNode", insecureContext: true },
   1090  // IMPORTANT: Do not change this list without review from a DOM peer!
   1091  { name: "PageTransitionEvent", insecureContext: true },
   1092  // IMPORTANT: Do not change this list without review from a DOM peer!
   1093  { name: "PaintRequest", insecureContext: true },
   1094  // IMPORTANT: Do not change this list without review from a DOM peer!
   1095  { name: "PaintRequestList", insecureContext: true },
   1096  // IMPORTANT: Do not change this list without review from a DOM peer!
   1097  { name: "PannerNode", insecureContext: true },
   1098  // IMPORTANT: Do not change this list without review from a DOM peer!
   1099  { name: "Path2D", insecureContext: true },
   1100  // IMPORTANT: Do not change this list without review from a DOM peer!
   1101  {
   1102    name: "PaymentAddress",
   1103    insecureContext: false,
   1104    desktop: true,
   1105    nightly: true,
   1106    linux: false,
   1107    disabled: true,
   1108  },
   1109  // IMPORTANT: Do not change this list without review from a DOM peer!
   1110  {
   1111    name: "PaymentMethodChangeEvent",
   1112    insecureContext: false,
   1113    desktop: true,
   1114    nightly: true,
   1115    linux: false,
   1116    disabled: true,
   1117  },
   1118  // IMPORTANT: Do not change this list without review from a DOM peer!
   1119  {
   1120    name: "PaymentRequest",
   1121    insecureContext: false,
   1122    desktop: true,
   1123    nightly: true,
   1124    linux: false,
   1125    disabled: true,
   1126  },
   1127  // IMPORTANT: Do not change this list without review from a DOM peer!
   1128  {
   1129    name: "PaymentRequestUpdateEvent",
   1130    insecureContext: false,
   1131    desktop: true,
   1132    nightly: true,
   1133    linux: false,
   1134    disabled: true,
   1135  },
   1136  // IMPORTANT: Do not change this list without review from a DOM peer!
   1137  {
   1138    name: "PaymentResponse",
   1139    insecureContext: false,
   1140    desktop: true,
   1141    nightly: true,
   1142    linux: false,
   1143    disabled: true,
   1144  },
   1145  // IMPORTANT: Do not change this list without review from a DOM peer!
   1146  { name: "Performance", insecureContext: true },
   1147  // IMPORTANT: Do not change this list without review from a DOM peer!
   1148  { name: "PerformanceEntry", insecureContext: true },
   1149  // IMPORTANT: Do not change this list without review from a DOM peer!
   1150  { name: "PerformanceEventTiming", insecureContext: true },
   1151  // IMPORTANT: Do not change this list without review from a DOM peer!
   1152  { name: "PerformanceMark", insecureContext: true },
   1153  // IMPORTANT: Do not change this list without review from a DOM peer!
   1154  { name: "PerformanceMeasure", insecureContext: true },
   1155  // IMPORTANT: Do not change this list without review from a DOM peer!
   1156  { name: "PerformanceNavigation", insecureContext: true },
   1157  // IMPORTANT: Do not change this list without review from a DOM peer!
   1158  { name: "PerformanceNavigationTiming", insecureContext: true },
   1159  // IMPORTANT: Do not change this list without review from a DOM peer!
   1160  { name: "PerformanceObserver", insecureContext: true },
   1161  // IMPORTANT: Do not change this list without review from a DOM peer!
   1162  { name: "PerformanceObserverEntryList", insecureContext: true },
   1163  // IMPORTANT: Do not change this list without review from a DOM peer!
   1164  { name: "PerformancePaintTiming", insecureContext: true },
   1165  // IMPORTANT: Do not change this list without review from a DOM peer!
   1166  { name: "PerformanceResourceTiming", insecureContext: true },
   1167  // IMPORTANT: Do not change this list without review from a DOM peer!
   1168  { name: "PerformanceServerTiming", insecureContext: false },
   1169  // IMPORTANT: Do not change this list without review from a DOM peer!
   1170  { name: "PerformanceTiming", insecureContext: true },
   1171  // IMPORTANT: Do not change this list without review from a DOM peer!
   1172  { name: "PeriodicWave", insecureContext: true },
   1173  // IMPORTANT: Do not change this list without review from a DOM peer!
   1174  { name: "PermissionStatus", insecureContext: true },
   1175  // IMPORTANT: Do not change this list without review from a DOM peer!
   1176  { name: "Permissions", insecureContext: true },
   1177  // IMPORTANT: Do not change this list without review from a DOM peer!
   1178  { name: "Plugin", insecureContext: true },
   1179  // IMPORTANT: Do not change this list without review from a DOM peer!
   1180  { name: "PluginArray", insecureContext: true },
   1181  // IMPORTANT: Do not change this list without review from a DOM peer!
   1182  { name: "PointerEvent", insecureContext: true, fennec: false },
   1183  // IMPORTANT: Do not change this list without review from a DOM peer!
   1184  { name: "PopStateEvent", insecureContext: true },
   1185  // IMPORTANT: Do not change this list without review from a DOM peer!
   1186  { name: "PopupBlockedEvent", insecureContext: true },
   1187  // IMPORTANT: Do not change this list without review from a DOM peer!
   1188  { name: "ProcessingInstruction", insecureContext: true },
   1189  // IMPORTANT: Do not change this list without review from a DOM peer!
   1190  { name: "ProgressEvent", insecureContext: true },
   1191  // IMPORTANT: Do not change this list without review from a DOM peer!
   1192  { name: "PromiseRejectionEvent", insecureContext: true },
   1193  // IMPORTANT: Do not change this list without review from a DOM peer!
   1194  { name: "PublicKeyCredential" },
   1195  // IMPORTANT: Do not change this list without review from a DOM peer!
   1196  "PushManager",
   1197  // IMPORTANT: Do not change this list without review from a DOM peer!
   1198  "PushSubscription",
   1199  // IMPORTANT: Do not change this list without review from a DOM peer!
   1200  "PushSubscriptionOptions",
   1201  // IMPORTANT: Do not change this list without review from a DOM peer!
   1202  { name: "RTCCertificate", insecureContext: true },
   1203  // IMPORTANT: Do not change this list without review from a DOM peer!
   1204  { name: "RTCDTMFSender", insecureContext: true },
   1205  // IMPORTANT: Do not change this list without review from a DOM peer!
   1206  { name: "RTCDTMFToneChangeEvent", insecureContext: true },
   1207  // IMPORTANT: Do not change this list without review from a DOM peer!
   1208  { name: "RTCDataChannel", insecureContext: true },
   1209  // IMPORTANT: Do not change this list without review from a DOM peer!
   1210  { name: "RTCDataChannelEvent", insecureContext: true },
   1211  // IMPORTANT: Do not change this list without review from a DOM peer!
   1212  { name: "RTCDtlsTransport", insecureContext: true },
   1213  // IMPORTANT: Do not change this list without review from a DOM peer!
   1214  { name: "RTCEncodedAudioFrame", insecureContext: true },
   1215  // IMPORTANT: Do not change this list without review from a DOM peer!
   1216  { name: "RTCEncodedVideoFrame", insecureContext: true },
   1217  // IMPORTANT: Do not change this list without review from a DOM peer!
   1218  { name: "RTCIceCandidate", insecureContext: true },
   1219  // IMPORTANT: Do not change this list without review from a DOM peer!
   1220  { name: "RTCIceTransport", insecureContext: true },
   1221  // IMPORTANT: Do not change this list without review from a DOM peer!
   1222  { name: "RTCPeerConnection", insecureContext: true },
   1223  // IMPORTANT: Do not change this list without review from a DOM peer!
   1224  { name: "RTCPeerConnectionIceEvent", insecureContext: true },
   1225  // IMPORTANT: Do not change this list without review from a DOM peer!
   1226  { name: "RTCRtpReceiver", insecureContext: true },
   1227  // IMPORTANT: Do not change this list without review from a DOM peer!
   1228  { name: "RTCRtpScriptTransform", insecureContext: true },
   1229  // IMPORTANT: Do not change this list without review from a DOM peer!
   1230  { name: "RTCRtpSender", insecureContext: true },
   1231  // IMPORTANT: Do not change this list without review from a DOM peer!
   1232  { name: "RTCRtpTransceiver", insecureContext: true },
   1233  // IMPORTANT: Do not change this list without review from a DOM peer!
   1234  { name: "RTCSctpTransport", insecureContext: true },
   1235  // IMPORTANT: Do not change this list without review from a DOM peer!
   1236  { name: "RTCSessionDescription", insecureContext: true },
   1237  // IMPORTANT: Do not change this list without review from a DOM peer!
   1238  { name: "RTCStatsReport", insecureContext: true },
   1239  // IMPORTANT: Do not change this list without review from a DOM peer!
   1240  { name: "RTCTrackEvent", insecureContext: true },
   1241  // IMPORTANT: Do not change this list without review from a DOM peer!
   1242  { name: "RadioNodeList", insecureContext: true },
   1243  // IMPORTANT: Do not change this list without review from a DOM peer!
   1244  { name: "Range", insecureContext: true },
   1245  // IMPORTANT: Do not change this list without review from a DOM peer!
   1246  { name: "ReadableByteStreamController", insecureContext: true },
   1247  // IMPORTANT: Do not change this list without review from a DOM peer!
   1248  { name: "ReadableStream", insecureContext: true },
   1249  // IMPORTANT: Do not change this list without review from a DOM peer!
   1250  { name: "ReadableStreamBYOBReader", insecureContext: true },
   1251  // IMPORTANT: Do not change this list without review from a DOM peer!
   1252  { name: "ReadableStreamBYOBRequest", insecureContext: true },
   1253  // IMPORTANT: Do not change this list without review from a DOM peer!
   1254  { name: "ReadableStreamDefaultController", insecureContext: true },
   1255  // IMPORTANT: Do not change this list without review from a DOM peer!
   1256  { name: "ReadableStreamDefaultReader", insecureContext: true },
   1257  // IMPORTANT: Do not change this list without review from a DOM peer!
   1258  { name: "Request", insecureContext: true },
   1259  // IMPORTANT: Do not change this list without review from a DOM peer!
   1260  { name: "ResizeObserver", insecureContext: true },
   1261  // IMPORTANT: Do not change this list without review from a DOM peer!
   1262  { name: "ResizeObserverEntry", insecureContext: true },
   1263  // IMPORTANT: Do not change this list without review from a DOM peer!
   1264  { name: "ResizeObserverSize", insecureContext: true },
   1265  // IMPORTANT: Do not change this list without review from a DOM peer!
   1266  { name: "Response", insecureContext: true },
   1267  // IMPORTANT: Do not change this list without review from a DOM peer!
   1268  { name: "SVGAElement", insecureContext: true },
   1269  // IMPORTANT: Do not change this list without review from a DOM peer!
   1270  { name: "SVGAngle", insecureContext: true },
   1271  // IMPORTANT: Do not change this list without review from a DOM peer!
   1272  { name: "SVGAnimateElement", insecureContext: true },
   1273  // IMPORTANT: Do not change this list without review from a DOM peer!
   1274  { name: "SVGAnimateMotionElement", insecureContext: true },
   1275  // IMPORTANT: Do not change this list without review from a DOM peer!
   1276  { name: "SVGAnimateTransformElement", insecureContext: true },
   1277  // IMPORTANT: Do not change this list without review from a DOM peer!
   1278  { name: "SVGAnimatedAngle", insecureContext: true },
   1279  // IMPORTANT: Do not change this list without review from a DOM peer!
   1280  { name: "SVGAnimatedBoolean", insecureContext: true },
   1281  // IMPORTANT: Do not change this list without review from a DOM peer!
   1282  { name: "SVGAnimatedEnumeration", insecureContext: true },
   1283  // IMPORTANT: Do not change this list without review from a DOM peer!
   1284  { name: "SVGAnimatedInteger", insecureContext: true },
   1285  // IMPORTANT: Do not change this list without review from a DOM peer!
   1286  { name: "SVGAnimatedLength", insecureContext: true },
   1287  // IMPORTANT: Do not change this list without review from a DOM peer!
   1288  { name: "SVGAnimatedLengthList", insecureContext: true },
   1289  // IMPORTANT: Do not change this list without review from a DOM peer!
   1290  { name: "SVGAnimatedNumber", insecureContext: true },
   1291  // IMPORTANT: Do not change this list without review from a DOM peer!
   1292  { name: "SVGAnimatedNumberList", insecureContext: true },
   1293  // IMPORTANT: Do not change this list without review from a DOM peer!
   1294  { name: "SVGAnimatedPreserveAspectRatio", insecureContext: true },
   1295  // IMPORTANT: Do not change this list without review from a DOM peer!
   1296  { name: "SVGAnimatedRect", insecureContext: true },
   1297  // IMPORTANT: Do not change this list without review from a DOM peer!
   1298  { name: "SVGAnimatedString", insecureContext: true },
   1299  // IMPORTANT: Do not change this list without review from a DOM peer!
   1300  { name: "SVGAnimatedTransformList", insecureContext: true },
   1301  // IMPORTANT: Do not change this list without review from a DOM peer!
   1302  { name: "SVGAnimationElement", insecureContext: true },
   1303  // IMPORTANT: Do not change this list without review from a DOM peer!
   1304  { name: "SVGCircleElement", insecureContext: true },
   1305  // IMPORTANT: Do not change this list without review from a DOM peer!
   1306  { name: "SVGClipPathElement", insecureContext: true },
   1307  // IMPORTANT: Do not change this list without review from a DOM peer!
   1308  { name: "SVGComponentTransferFunctionElement", insecureContext: true },
   1309  // IMPORTANT: Do not change this list without review from a DOM peer!
   1310  { name: "SVGDefsElement", insecureContext: true },
   1311  // IMPORTANT: Do not change this list without review from a DOM peer!
   1312  { name: "SVGDescElement", insecureContext: true },
   1313  // IMPORTANT: Do not change this list without review from a DOM peer!
   1314  { name: "SVGElement", insecureContext: true },
   1315  // IMPORTANT: Do not change this list without review from a DOM peer!
   1316  { name: "SVGEllipseElement", insecureContext: true },
   1317  // IMPORTANT: Do not change this list without review from a DOM peer!
   1318  { name: "SVGFEBlendElement", insecureContext: true },
   1319  // IMPORTANT: Do not change this list without review from a DOM peer!
   1320  { name: "SVGFEColorMatrixElement", insecureContext: true },
   1321  // IMPORTANT: Do not change this list without review from a DOM peer!
   1322  { name: "SVGFEComponentTransferElement", insecureContext: true },
   1323  // IMPORTANT: Do not change this list without review from a DOM peer!
   1324  { name: "SVGFECompositeElement", insecureContext: true },
   1325  // IMPORTANT: Do not change this list without review from a DOM peer!
   1326  { name: "SVGFEConvolveMatrixElement", insecureContext: true },
   1327  // IMPORTANT: Do not change this list without review from a DOM peer!
   1328  { name: "SVGFEDiffuseLightingElement", insecureContext: true },
   1329  // IMPORTANT: Do not change this list without review from a DOM peer!
   1330  { name: "SVGFEDisplacementMapElement", insecureContext: true },
   1331  // IMPORTANT: Do not change this list without review from a DOM peer!
   1332  { name: "SVGFEDistantLightElement", insecureContext: true },
   1333  // IMPORTANT: Do not change this list without review from a DOM peer!
   1334  { name: "SVGFEDropShadowElement", insecureContext: true },
   1335  // IMPORTANT: Do not change this list without review from a DOM peer!
   1336  { name: "SVGFEFloodElement", insecureContext: true },
   1337  // IMPORTANT: Do not change this list without review from a DOM peer!
   1338  { name: "SVGFEFuncAElement", insecureContext: true },
   1339  // IMPORTANT: Do not change this list without review from a DOM peer!
   1340  { name: "SVGFEFuncBElement", insecureContext: true },
   1341  // IMPORTANT: Do not change this list without review from a DOM peer!
   1342  { name: "SVGFEFuncGElement", insecureContext: true },
   1343  // IMPORTANT: Do not change this list without review from a DOM peer!
   1344  { name: "SVGFEFuncRElement", insecureContext: true },
   1345  // IMPORTANT: Do not change this list without review from a DOM peer!
   1346  { name: "SVGFEGaussianBlurElement", insecureContext: true },
   1347  // IMPORTANT: Do not change this list without review from a DOM peer!
   1348  { name: "SVGFEImageElement", insecureContext: true },
   1349  // IMPORTANT: Do not change this list without review from a DOM peer!
   1350  { name: "SVGFEMergeElement", insecureContext: true },
   1351  // IMPORTANT: Do not change this list without review from a DOM peer!
   1352  { name: "SVGFEMergeNodeElement", insecureContext: true },
   1353  // IMPORTANT: Do not change this list without review from a DOM peer!
   1354  { name: "SVGFEMorphologyElement", insecureContext: true },
   1355  // IMPORTANT: Do not change this list without review from a DOM peer!
   1356  { name: "SVGFEOffsetElement", insecureContext: true },
   1357  // IMPORTANT: Do not change this list without review from a DOM peer!
   1358  { name: "SVGFEPointLightElement", insecureContext: true },
   1359  // IMPORTANT: Do not change this list without review from a DOM peer!
   1360  { name: "SVGFESpecularLightingElement", insecureContext: true },
   1361  // IMPORTANT: Do not change this list without review from a DOM peer!
   1362  { name: "SVGFESpotLightElement", insecureContext: true },
   1363  // IMPORTANT: Do not change this list without review from a DOM peer!
   1364  { name: "SVGFETileElement", insecureContext: true },
   1365  // IMPORTANT: Do not change this list without review from a DOM peer!
   1366  { name: "SVGFETurbulenceElement", insecureContext: true },
   1367  // IMPORTANT: Do not change this list without review from a DOM peer!
   1368  { name: "SVGFilterElement", insecureContext: true },
   1369  // IMPORTANT: Do not change this list without review from a DOM peer!
   1370  { name: "SVGForeignObjectElement", insecureContext: true },
   1371  // IMPORTANT: Do not change this list without review from a DOM peer!
   1372  { name: "SVGGElement", insecureContext: true },
   1373  // IMPORTANT: Do not change this list without review from a DOM peer!
   1374  { name: "SVGGeometryElement", insecureContext: true },
   1375  // IMPORTANT: Do not change this list without review from a DOM peer!
   1376  { name: "SVGGradientElement", insecureContext: true },
   1377  // IMPORTANT: Do not change this list without review from a DOM peer!
   1378  { name: "SVGGraphicsElement", insecureContext: true },
   1379  // IMPORTANT: Do not change this list without review from a DOM peer!
   1380  { name: "SVGImageElement", insecureContext: true },
   1381  // IMPORTANT: Do not change this list without review from a DOM peer!
   1382  { name: "SVGLength", insecureContext: true },
   1383  // IMPORTANT: Do not change this list without review from a DOM peer!
   1384  { name: "SVGLengthList", insecureContext: true },
   1385  // IMPORTANT: Do not change this list without review from a DOM peer!
   1386  { name: "SVGLineElement", insecureContext: true },
   1387  // IMPORTANT: Do not change this list without review from a DOM peer!
   1388  { name: "SVGLinearGradientElement", insecureContext: true },
   1389  // IMPORTANT: Do not change this list without review from a DOM peer!
   1390  { name: "SVGMPathElement", insecureContext: true },
   1391  // IMPORTANT: Do not change this list without review from a DOM peer!
   1392  { name: "SVGMarkerElement", insecureContext: true },
   1393  // IMPORTANT: Do not change this list without review from a DOM peer!
   1394  { name: "SVGMaskElement", insecureContext: true },
   1395  // IMPORTANT: Do not change this list without review from a DOM peer!
   1396  { name: "SVGMatrix", insecureContext: true },
   1397  // IMPORTANT: Do not change this list without review from a DOM peer!
   1398  { name: "SVGMetadataElement", insecureContext: true },
   1399  // IMPORTANT: Do not change this list without review from a DOM peer!
   1400  { name: "SVGNumber", insecureContext: true },
   1401  // IMPORTANT: Do not change this list without review from a DOM peer!
   1402  { name: "SVGNumberList", insecureContext: true },
   1403  // IMPORTANT: Do not change this list without review from a DOM peer!
   1404  { name: "SVGPathElement", insecureContext: true },
   1405  // IMPORTANT: Do not change this list without review from a DOM peer!
   1406  { name: "SVGPatternElement", insecureContext: true },
   1407  // IMPORTANT: Do not change this list without review from a DOM peer!
   1408  { name: "SVGPoint", insecureContext: true },
   1409  // IMPORTANT: Do not change this list without review from a DOM peer!
   1410  { name: "SVGPointList", insecureContext: true },
   1411  // IMPORTANT: Do not change this list without review from a DOM peer!
   1412  { name: "SVGPolygonElement", insecureContext: true },
   1413  // IMPORTANT: Do not change this list without review from a DOM peer!
   1414  { name: "SVGPolylineElement", insecureContext: true },
   1415  // IMPORTANT: Do not change this list without review from a DOM peer!
   1416  { name: "SVGPreserveAspectRatio", insecureContext: true },
   1417  // IMPORTANT: Do not change this list without review from a DOM peer!
   1418  { name: "SVGRadialGradientElement", insecureContext: true },
   1419  // IMPORTANT: Do not change this list without review from a DOM peer!
   1420  { name: "SVGRect", insecureContext: true },
   1421  // IMPORTANT: Do not change this list without review from a DOM peer!
   1422  { name: "SVGRectElement", insecureContext: true },
   1423  // IMPORTANT: Do not change this list without review from a DOM peer!
   1424  { name: "SVGSVGElement", insecureContext: true },
   1425  // IMPORTANT: Do not change this list without review from a DOM peer!
   1426  { name: "SVGScriptElement", insecureContext: true },
   1427  // IMPORTANT: Do not change this list without review from a DOM peer!
   1428  { name: "SVGSetElement", insecureContext: true },
   1429  // IMPORTANT: Do not change this list without review from a DOM peer!
   1430  { name: "SVGStopElement", insecureContext: true },
   1431  // IMPORTANT: Do not change this list without review from a DOM peer!
   1432  { name: "SVGStringList", insecureContext: true },
   1433  // IMPORTANT: Do not change this list without review from a DOM peer!
   1434  { name: "SVGStyleElement", insecureContext: true },
   1435  // IMPORTANT: Do not change this list without review from a DOM peer!
   1436  { name: "SVGSwitchElement", insecureContext: true },
   1437  // IMPORTANT: Do not change this list without review from a DOM peer!
   1438  { name: "SVGSymbolElement", insecureContext: true },
   1439  // IMPORTANT: Do not change this list without review from a DOM peer!
   1440  { name: "SVGTSpanElement", insecureContext: true },
   1441  // IMPORTANT: Do not change this list without review from a DOM peer!
   1442  { name: "SVGTextContentElement", insecureContext: true },
   1443  // IMPORTANT: Do not change this list without review from a DOM peer!
   1444  { name: "SVGTextElement", insecureContext: true },
   1445  // IMPORTANT: Do not change this list without review from a DOM peer!
   1446  { name: "SVGTextPathElement", insecureContext: true },
   1447  // IMPORTANT: Do not change this list without review from a DOM peer!
   1448  { name: "SVGTextPositioningElement", insecureContext: true },
   1449  // IMPORTANT: Do not change this list without review from a DOM peer!
   1450  { name: "SVGTitleElement", insecureContext: true },
   1451  // IMPORTANT: Do not change this list without review from a DOM peer!
   1452  { name: "SVGTransform", insecureContext: true },
   1453  // IMPORTANT: Do not change this list without review from a DOM peer!
   1454  { name: "SVGTransformList", insecureContext: true },
   1455  // IMPORTANT: Do not change this list without review from a DOM peer!
   1456  { name: "SVGUnitTypes", insecureContext: true },
   1457  // IMPORTANT: Do not change this list without review from a DOM peer!
   1458  { name: "SVGUseElement", insecureContext: true },
   1459  // IMPORTANT: Do not change this list without review from a DOM peer!
   1460  { name: "SVGViewElement", insecureContext: true },
   1461  // IMPORTANT: Do not change this list without review from a DOM peer!
   1462  { name: "Sanitizer", insecureContext: true },
   1463  // IMPORTANT: Do not change this list without review from a DOM peer!
   1464  { name: "Scheduler", insecureContext: true },
   1465  // IMPORTANT: Do not change this list without review from a DOM peer!
   1466  { name: "ScopedCredential", insecureContext: true, disabled: true },
   1467  // IMPORTANT: Do not change this list without review from a DOM peer!
   1468  { name: "ScopedCredentialInfo", insecureContext: true, disabled: true },
   1469  // IMPORTANT: Do not change this list without review from a DOM peer!
   1470  { name: "Screen", insecureContext: true },
   1471  // IMPORTANT: Do not change this list without review from a DOM peer!
   1472  { name: "ScreenOrientation", insecureContext: true },
   1473  // IMPORTANT: Do not change this list without review from a DOM peer!
   1474  { name: "ScriptProcessorNode", insecureContext: true },
   1475  // IMPORTANT: Do not change this list without review from a DOM peer!
   1476  { name: "ScrollAreaEvent", insecureContext: true },
   1477  // IMPORTANT: Do not change this list without review from a DOM peer!
   1478  { name: "SecurityPolicyViolationEvent", insecureContext: true },
   1479  // IMPORTANT: Do not change this list without review from a DOM peer!
   1480  { name: "Selection", insecureContext: true },
   1481  // IMPORTANT: Do not change this list without review from a DOM peer!
   1482  "ServiceWorker",
   1483  // IMPORTANT: Do not change this list without review from a DOM peer!
   1484  "ServiceWorkerContainer",
   1485  // IMPORTANT: Do not change this list without review from a DOM peer!
   1486  "ServiceWorkerRegistration",
   1487  // IMPORTANT: Do not change this list without review from a DOM peer!
   1488  { name: "ShadowRoot", insecureContext: true },
   1489  // IMPORTANT: Do not change this list without review from a DOM peer!
   1490  { name: "SharedWorker", insecureContext: true },
   1491  // IMPORTANT: Do not change this list without review from a DOM peer!
   1492  { name: "SourceBuffer", insecureContext: true },
   1493  // IMPORTANT: Do not change this list without review from a DOM peer!
   1494  { name: "SourceBufferList", insecureContext: true },
   1495  // IMPORTANT: Do not change this list without review from a DOM peer!
   1496  { name: "SpecialPowers", insecureContext: true },
   1497  // IMPORTANT: Do not change this list without review from a DOM peer!
   1498  { name: "SpeechSynthesis", insecureContext: true },
   1499  // IMPORTANT: Do not change this list without review from a DOM peer!
   1500  { name: "SpeechSynthesisErrorEvent", insecureContext: true },
   1501  // IMPORTANT: Do not change this list without review from a DOM peer!
   1502  { name: "SpeechSynthesisEvent", insecureContext: true },
   1503  // IMPORTANT: Do not change this list without review from a DOM peer!
   1504  { name: "SpeechSynthesisUtterance", insecureContext: true },
   1505  // IMPORTANT: Do not change this list without review from a DOM peer!
   1506  { name: "SpeechSynthesisVoice", insecureContext: true },
   1507  // IMPORTANT: Do not change this list without review from a DOM peer!
   1508  { name: "StaticRange", insecureContext: true },
   1509  // IMPORTANT: Do not change this list without review from a DOM peer!
   1510  { name: "StereoPannerNode", insecureContext: true },
   1511  // IMPORTANT: Do not change this list without review from a DOM peer!
   1512  { name: "Storage", insecureContext: true },
   1513  // IMPORTANT: Do not change this list without review from a DOM peer!
   1514  { name: "StorageEvent", insecureContext: true },
   1515  // IMPORTANT: Do not change this list without review from a DOM peer!
   1516  { name: "StorageManager", fennec: false },
   1517  // IMPORTANT: Do not change this list without review from a DOM peer!
   1518  { name: "StyleSheet", insecureContext: true },
   1519  // IMPORTANT: Do not change this list without review from a DOM peer!
   1520  { name: "StyleSheetList", insecureContext: true },
   1521  // IMPORTANT: Do not change this list without review from a DOM peer!
   1522  { name: "SubmitEvent", insecureContext: true },
   1523  // IMPORTANT: Do not change this list without review from a DOM peer!
   1524  { name: "SubtleCrypto" },
   1525  // IMPORTANT: Do not change this list without review from a DOM peer!
   1526  { name: "TaskController", insecureContext: true },
   1527  // IMPORTANT: Do not change this list without review from a DOM peer!
   1528  { name: "TaskPriorityChangeEvent", insecureContext: true },
   1529  // IMPORTANT: Do not change this list without review from a DOM peer!
   1530  { name: "TaskSignal", insecureContext: true },
   1531  // IMPORTANT: Do not change this list without review from a DOM peer!
   1532  { name: "Text", insecureContext: true },
   1533  // IMPORTANT: Do not change this list without review from a DOM peer!
   1534  { name: "TextDecoder", insecureContext: true },
   1535  // IMPORTANT: Do not change this list without review from a DOM peer!
   1536  { name: "TextDecoderStream", insecureContext: true },
   1537  // IMPORTANT: Do not change this list without review from a DOM peer!
   1538  { name: "TextEncoder", insecureContext: true },
   1539  // IMPORTANT: Do not change this list without review from a DOM peer!
   1540  { name: "TextEncoderStream", insecureContext: true },
   1541  // IMPORTANT: Do not change this list without review from a DOM peer!
   1542  { name: "TextEvent", insecureContext: true },
   1543  // IMPORTANT: Do not change this list without review from a DOM peer!
   1544  { name: "TextMetrics", insecureContext: true },
   1545  // IMPORTANT: Do not change this list without review from a DOM peer!
   1546  { name: "TextTrack", insecureContext: true },
   1547  // IMPORTANT: Do not change this list without review from a DOM peer!
   1548  { name: "TextTrackCue", insecureContext: true },
   1549  // IMPORTANT: Do not change this list without review from a DOM peer!
   1550  { name: "TextTrackCueList", insecureContext: true },
   1551  // IMPORTANT: Do not change this list without review from a DOM peer!
   1552  { name: "TextTrackList", insecureContext: true },
   1553  // IMPORTANT: Do not change this list without review from a DOM peer!
   1554  { name: "TimeEvent", insecureContext: true },
   1555  // IMPORTANT: Do not change this list without review from a DOM peer!
   1556  { name: "TimeRanges", insecureContext: true },
   1557  // IMPORTANT: Do not change this list without review from a DOM peer!
   1558  { name: "ToggleEvent", insecureContext: true },
   1559  // IMPORTANT: Do not change this list without review from a DOM peer!
   1560  { name: "Touch", insecureContext: true },
   1561  // IMPORTANT: Do not change this list without review from a DOM peer!
   1562  { name: "TouchEvent", insecureContext: true },
   1563  // IMPORTANT: Do not change this list without review from a DOM peer!
   1564  { name: "TouchList", insecureContext: true },
   1565  // IMPORTANT: Do not change this list without review from a DOM peer!
   1566  { name: "TrackEvent", insecureContext: true },
   1567  // IMPORTANT: Do not change this list without review from a DOM peer!
   1568  { name: "TransformStream", insecureContext: true },
   1569  // IMPORTANT: Do not change this list without review from a DOM peer!
   1570  { name: "TransformStreamDefaultController", insecureContext: true },
   1571  // IMPORTANT: Do not change this list without review from a DOM peer!
   1572  { name: "TransitionEvent", insecureContext: true },
   1573  // IMPORTANT: Do not change this list without review from a DOM peer!
   1574  { name: "TreeWalker", insecureContext: true },
   1575  // IMPORTANT: Do not change this list without review from a DOM peer!
   1576  { name: "TrustedHTML", insecureContext: true },
   1577  // IMPORTANT: Do not change this list without review from a DOM peer!
   1578  { name: "TrustedScript", insecureContext: true },
   1579  // IMPORTANT: Do not change this list without review from a DOM peer!
   1580  { name: "TrustedScriptURL", insecureContext: true },
   1581  // IMPORTANT: Do not change this list without review from a DOM peer!
   1582  { name: "TrustedTypePolicy", insecureContext: true },
   1583  // IMPORTANT: Do not change this list without review from a DOM peer!
   1584  { name: "TrustedTypePolicyFactory", insecureContext: true },
   1585  // IMPORTANT: Do not change this list without review from a DOM peer!
   1586  { name: "U2F", insecureContext: false, disabled: true },
   1587  // IMPORTANT: Do not change this list without review from a DOM peer!
   1588  { name: "UIEvent", insecureContext: true },
   1589  // IMPORTANT: Do not change this list without review from a DOM peer!
   1590  { name: "URL", insecureContext: true },
   1591  // IMPORTANT: Do not change this list without review from a DOM peer!
   1592  { name: "URLPattern", insecureContext: true },
   1593  // IMPORTANT: Do not change this list without review from a DOM peer!
   1594  { name: "URLSearchParams", insecureContext: true },
   1595  // IMPORTANT: Do not change this list without review from a DOM peer!
   1596  { name: "UserActivation", insecureContext: true },
   1597  // IMPORTANT: Do not change this list without review from a DOM peer!
   1598  { name: "UserProximityEvent", insecureContext: true, disabled: true },
   1599  // IMPORTANT: Do not change this list without review from a DOM peer!
   1600  { name: "VTTCue", insecureContext: true },
   1601  // IMPORTANT: Do not change this list without review from a DOM peer!
   1602  { name: "VTTRegion", insecureContext: true },
   1603  // IMPORTANT: Do not change this list without review from a DOM peer!
   1604  { name: "ValidityState", insecureContext: true },
   1605  // IMPORTANT: Do not change this list without review from a DOM peer!
   1606  { name: "VideoColorSpace", insecureContext: true },
   1607  // IMPORTANT: Do not change this list without review from a DOM peer!
   1608  { name: "VideoDecoder", nightlyAndroid: true },
   1609  // IMPORTANT: Do not change this list without review from a DOM peer!
   1610  { name: "VideoEncoder", nightlyAndroid: true },
   1611  // IMPORTANT: Do not change this list without review from a DOM peer!
   1612  { name: "VideoFrame", insecureContext: true },
   1613  // IMPORTANT: Do not change this list without review from a DOM peer!
   1614  { name: "VideoPlaybackQuality", insecureContext: true },
   1615  // IMPORTANT: Do not change this list without review from a DOM peer!
   1616  { name: "ViewTransition", insecureContext: true },
   1617  // IMPORTANT: Do not change this list without review from a DOM peer!
   1618  { name: "ViewTransitionTypeSet", insecureContext: true },
   1619  // IMPORTANT: Do not change this list without review from a DOM peer!
   1620  { name: "VisualViewport", insecureContext: true },
   1621  // IMPORTANT: Do not change this list without review from a DOM peer!
   1622  { name: "WGSLLanguageFeatures", earlyBetaOrEarlier: true },
   1623  { name: "WGSLLanguageFeatures", windows: true },
   1624  { name: "WGSLLanguageFeatures", mac: true, aarch64: true },
   1625  // IMPORTANT: Do not change this list without review from a DOM peer!
   1626  { name: "WakeLock" },
   1627  // IMPORTANT: Do not change this list without review from a DOM peer!
   1628  { name: "WakeLockSentinel" },
   1629  // IMPORTANT: Do not change this list without review from a DOM peer!
   1630  { name: "WaveShaperNode", insecureContext: true },
   1631  // IMPORTANT: Do not change this list without review from a DOM peer!
   1632  { name: "WebAuthentication", insecureContext: true, disabled: true },
   1633  // IMPORTANT: Do not change this list without review from a DOM peer!
   1634  { name: "WebAuthnAssertion", insecureContext: true, disabled: true },
   1635  // IMPORTANT: Do not change this list without review from a DOM peer!
   1636  { name: "WebAuthnAttestation", insecureContext: true, disabled: true },
   1637  // IMPORTANT: Do not change this list without review from a DOM peer!
   1638  { name: "WebGL2RenderingContext", insecureContext: true },
   1639  // IMPORTANT: Do not change this list without review from a DOM peer!
   1640  { name: "WebGLActiveInfo", insecureContext: true },
   1641  // IMPORTANT: Do not change this list without review from a DOM peer!
   1642  { name: "WebGLBuffer", insecureContext: true },
   1643  // IMPORTANT: Do not change this list without review from a DOM peer!
   1644  { name: "WebGLContextEvent", insecureContext: true },
   1645  // IMPORTANT: Do not change this list without review from a DOM peer!
   1646  { name: "WebGLFramebuffer", insecureContext: true },
   1647  // IMPORTANT: Do not change this list without review from a DOM peer!
   1648  { name: "WebGLProgram", insecureContext: true },
   1649  // IMPORTANT: Do not change this list without review from a DOM peer!
   1650  { name: "WebGLQuery", insecureContext: true },
   1651  // IMPORTANT: Do not change this list without review from a DOM peer!
   1652  { name: "WebGLRenderbuffer", insecureContext: true },
   1653  // IMPORTANT: Do not change this list without review from a DOM peer!
   1654  { name: "WebGLRenderingContext", insecureContext: true },
   1655  // IMPORTANT: Do not change this list without review from a DOM peer!
   1656  { name: "WebGLSampler", insecureContext: true },
   1657  // IMPORTANT: Do not change this list without review from a DOM peer!
   1658  { name: "WebGLShader", insecureContext: true },
   1659  // IMPORTANT: Do not change this list without review from a DOM peer!
   1660  { name: "WebGLShaderPrecisionFormat", insecureContext: true },
   1661  // IMPORTANT: Do not change this list without review from a DOM peer!
   1662  { name: "WebGLSync", insecureContext: true },
   1663  // IMPORTANT: Do not change this list without review from a DOM peer!
   1664  { name: "WebGLTexture", insecureContext: true },
   1665  // IMPORTANT: Do not change this list without review from a DOM peer!
   1666  { name: "WebGLTransformFeedback", insecureContext: true },
   1667  // IMPORTANT: Do not change this list without review from a DOM peer!
   1668  { name: "WebGLUniformLocation", insecureContext: true },
   1669  // IMPORTANT: Do not change this list without review from a DOM peer!
   1670  { name: "WebGLVertexArrayObject", insecureContext: true },
   1671  // IMPORTANT: Do not change this list without review from a DOM peer!
   1672  { name: "WebKitCSSMatrix", insecureContext: true },
   1673  // IMPORTANT: Do not change this list without review from a DOM peer!
   1674  { name: "WebSocket", insecureContext: true },
   1675  // IMPORTANT: Do not change this list without review from a DOM peer!
   1676  { name: "WebTransport", insecureContext: false },
   1677  // IMPORTANT: Do not change this list without review from a DOM peer!
   1678  { name: "WebTransportBidirectionalStream", insecureContext: false },
   1679  // IMPORTANT: Do not change this list without review from a DOM peer!
   1680  { name: "WebTransportDatagramDuplexStream", insecureContext: false },
   1681  // IMPORTANT: Do not change this list without review from a DOM peer!
   1682  { name: "WebTransportError", insecureContext: false },
   1683  // IMPORTANT: Do not change this list without review from a DOM peer!
   1684  { name: "WebTransportReceiveStream", insecureContext: false },
   1685  // IMPORTANT: Do not change this list without review from a DOM peer!
   1686  { name: "WebTransportSendStream", insecureContext: false },
   1687  // IMPORTANT: Do not change this list without review from a DOM peer!
   1688  { name: "WheelEvent", insecureContext: true },
   1689  // IMPORTANT: Do not change this list without review from a DOM peer!
   1690  { name: "Window", insecureContext: true },
   1691  // IMPORTANT: Do not change this list without review from a DOM peer!
   1692  { name: "Worker", insecureContext: true },
   1693  // IMPORTANT: Do not change this list without review from a DOM peer!
   1694  { name: "Worklet", insecureContext: false },
   1695  // IMPORTANT: Do not change this list without review from a DOM peer!
   1696  { name: "WritableStream", insecureContext: true },
   1697  // IMPORTANT: Do not change this list without review from a DOM peer!
   1698  { name: "WritableStreamDefaultController", insecureContext: true },
   1699  // IMPORTANT: Do not change this list without review from a DOM peer!
   1700  { name: "WritableStreamDefaultWriter", insecureContext: true },
   1701  // IMPORTANT: Do not change this list without review from a DOM peer!
   1702  { name: "XMLDocument", insecureContext: true },
   1703  // IMPORTANT: Do not change this list without review from a DOM peer!
   1704  { name: "XMLHttpRequest", insecureContext: true },
   1705  // IMPORTANT: Do not change this list without review from a DOM peer!
   1706  { name: "XMLHttpRequestEventTarget", insecureContext: true },
   1707  // IMPORTANT: Do not change this list without review from a DOM peer!
   1708  { name: "XMLHttpRequestUpload", insecureContext: true },
   1709  // IMPORTANT: Do not change this list without review from a DOM peer!
   1710  { name: "XMLSerializer", insecureContext: true },
   1711  // IMPORTANT: Do not change this list without review from a DOM peer!
   1712  { name: "XPathEvaluator", insecureContext: true },
   1713  // IMPORTANT: Do not change this list without review from a DOM peer!
   1714  { name: "XPathExpression", insecureContext: true },
   1715  // IMPORTANT: Do not change this list without review from a DOM peer!
   1716  { name: "XPathResult", insecureContext: true },
   1717  // IMPORTANT: Do not change this list without review from a DOM peer!
   1718  { name: "XSLTProcessor", insecureContext: true },
   1719  // IMPORTANT: Do not change this list without review from a DOM peer!
   1720  { name: "alert", insecureContext: true },
   1721  // IMPORTANT: Do not change this list without review from a DOM peer!
   1722  { name: "atob", insecureContext: true },
   1723  // IMPORTANT: Do not change this list without review from a DOM peer!
   1724  { name: "blur", insecureContext: true },
   1725  // IMPORTANT: Do not change this list without review from a DOM peer!
   1726  { name: "btoa", insecureContext: true },
   1727  // IMPORTANT: Do not change this list without review from a DOM peer!
   1728  { name: "caches", insecureContext: false },
   1729  // IMPORTANT: Do not change this list without review from a DOM peer!
   1730  { name: "cancelAnimationFrame", insecureContext: true },
   1731  // IMPORTANT: Do not change this list without review from a DOM peer!
   1732  { name: "cancelIdleCallback", insecureContext: true },
   1733  // IMPORTANT: Do not change this list without review from a DOM peer!
   1734  { name: "captureEvents", insecureContext: true },
   1735  // IMPORTANT: Do not change this list without review from a DOM peer!
   1736  { name: "clearInterval", insecureContext: true },
   1737  // IMPORTANT: Do not change this list without review from a DOM peer!
   1738  { name: "clearTimeout", insecureContext: true },
   1739  // IMPORTANT: Do not change this list without review from a DOM peer!
   1740  { name: "clientInformation", insecureContext: true },
   1741  // IMPORTANT: Do not change this list without review from a DOM peer!
   1742  { name: "close", insecureContext: true },
   1743  // IMPORTANT: Do not change this list without review from a DOM peer!
   1744  { name: "closed", insecureContext: true },
   1745  // IMPORTANT: Do not change this list without review from a DOM peer!
   1746  { name: "confirm", insecureContext: true },
   1747  // IMPORTANT: Do not change this list without review from a DOM peer!
   1748  { name: "console", insecureContext: true },
   1749  // IMPORTANT: Do not change this list without review from a DOM peer!
   1750  "cookieStore",
   1751  // IMPORTANT: Do not change this list without review from a DOM peer!
   1752  { name: "createImageBitmap", insecureContext: true },
   1753  // IMPORTANT: Do not change this list without review from a DOM peer!
   1754  { name: "crossOriginIsolated", insecureContext: true },
   1755  // IMPORTANT: Do not change this list without review from a DOM peer!
   1756  { name: "crypto", insecureContext: true },
   1757  // IMPORTANT: Do not change this list without review from a DOM peer!
   1758  { name: "customElements", insecureContext: true },
   1759  // IMPORTANT: Do not change this list without review from a DOM peer!
   1760  { name: "devicePixelRatio", insecureContext: true },
   1761  // IMPORTANT: Do not change this list without review from a DOM peer!
   1762  { name: "document", insecureContext: true },
   1763  // IMPORTANT: Do not change this list without review from a DOM peer!
   1764  {
   1765    name: "documentPictureInPicture",
   1766    insecureContext: false,
   1767    nightly: true,
   1768    android: false,
   1769  },
   1770  // IMPORTANT: Do not change this list without review from a DOM peer!
   1771  { name: "dump", insecureContext: true },
   1772  // IMPORTANT: Do not change this list without review from a DOM peer!
   1773  { name: "event", insecureContext: true },
   1774  // IMPORTANT: Do not change this list without review from a DOM peer!
   1775  { name: "external", insecureContext: true },
   1776  // IMPORTANT: Do not change this list without review from a DOM peer!
   1777  { name: "fetch", insecureContext: true },
   1778  // IMPORTANT: Do not change this list without review from a DOM peer!
   1779  { name: "find", insecureContext: true },
   1780  // IMPORTANT: Do not change this list without review from a DOM peer!
   1781  { name: "focus", insecureContext: true },
   1782  // IMPORTANT: Do not change this list without review from a DOM peer!
   1783  { name: "frameElement", insecureContext: true },
   1784  // IMPORTANT: Do not change this list without review from a DOM peer!
   1785  { name: "frames", insecureContext: true },
   1786  // IMPORTANT: Do not change this list without review from a DOM peer!
   1787  { name: "fullScreen", insecureContext: true },
   1788  // IMPORTANT: Do not change this list without review from a DOM peer!
   1789  { name: "getComputedStyle", insecureContext: true },
   1790  // IMPORTANT: Do not change this list without review from a DOM peer!
   1791  { name: "getDefaultComputedStyle", insecureContext: true },
   1792  // IMPORTANT: Do not change this list without review from a DOM peer!
   1793  { name: "getSelection", insecureContext: true },
   1794  // IMPORTANT: Do not change this list without review from a DOM peer!
   1795  { name: "history", insecureContext: true },
   1796  // IMPORTANT: Do not change this list without review from a DOM peer!
   1797  { name: "indexedDB", insecureContext: true },
   1798  // IMPORTANT: Do not change this list without review from a DOM peer!
   1799  { name: "innerHeight", insecureContext: true },
   1800  // IMPORTANT: Do not change this list without review from a DOM peer!
   1801  { name: "innerWidth", insecureContext: true },
   1802  // IMPORTANT: Do not change this list without review from a DOM peer!
   1803  { name: "isSecureContext", insecureContext: true },
   1804  // IMPORTANT: Do not change this list without review from a DOM peer!
   1805  { name: "length", insecureContext: true },
   1806  // IMPORTANT: Do not change this list without review from a DOM peer!
   1807  { name: "localStorage", insecureContext: true },
   1808  // IMPORTANT: Do not change this list without review from a DOM peer!
   1809  { name: "location", insecureContext: true },
   1810  // IMPORTANT: Do not change this list without review from a DOM peer!
   1811  { name: "locationbar", insecureContext: true },
   1812  // IMPORTANT: Do not change this list without review from a DOM peer!
   1813  { name: "matchMedia", insecureContext: true },
   1814  // IMPORTANT: Do not change this list without review from a DOM peer!
   1815  { name: "menubar", insecureContext: true },
   1816  // IMPORTANT: Do not change this list without review from a DOM peer!
   1817  { name: "moveBy", insecureContext: true },
   1818  // IMPORTANT: Do not change this list without review from a DOM peer!
   1819  { name: "moveTo", insecureContext: true },
   1820  // IMPORTANT: Do not change this list without review from a DOM peer!
   1821  { name: "mozInnerScreenX", insecureContext: true },
   1822  // IMPORTANT: Do not change this list without review from a DOM peer!
   1823  { name: "mozInnerScreenY", insecureContext: true },
   1824  // IMPORTANT: Do not change this list without review from a DOM peer!
   1825  { name: "name", insecureContext: true },
   1826  // IMPORTANT: Do not change this list without review from a DOM peer!
   1827  {
   1828    name: "navigation",
   1829    insecureContext: true,
   1830    sessionHistoryInParent: true,
   1831  },
   1832  // IMPORTANT: Do not change this list without review from a DOM peer!
   1833  { name: "navigator", insecureContext: true },
   1834  // IMPORTANT: Do not change this list without review from a DOM peer!
   1835  { name: "netscape", insecureContext: true },
   1836  // IMPORTANT: Do not change this list without review from a DOM peer!
   1837  { name: "onabort", insecureContext: true },
   1838  // IMPORTANT: Do not change this list without review from a DOM peer!
   1839  { name: "onafterprint", insecureContext: true },
   1840  // IMPORTANT: Do not change this list without review from a DOM peer!
   1841  { name: "onanimationcancel", insecureContext: true },
   1842  // IMPORTANT: Do not change this list without review from a DOM peer!
   1843  { name: "onanimationend", insecureContext: true },
   1844  // IMPORTANT: Do not change this list without review from a DOM peer!
   1845  { name: "onanimationiteration", insecureContext: true },
   1846  // IMPORTANT: Do not change this list without review from a DOM peer!
   1847  { name: "onanimationstart", insecureContext: true },
   1848  // IMPORTANT: Do not change this list without review from a DOM peer!
   1849  { name: "onauxclick", insecureContext: true },
   1850  // IMPORTANT: Do not change this list without review from a DOM peer!
   1851  { name: "onbeforeinput", insecureContext: true },
   1852  // IMPORTANT: Do not change this list without review from a DOM peer!
   1853  { name: "onbeforematch", insecureContext: true },
   1854  // IMPORTANT: Do not change this list without review from a DOM peer!
   1855  { name: "onbeforeprint", insecureContext: true },
   1856  // IMPORTANT: Do not change this list without review from a DOM peer!
   1857  { name: "onbeforetoggle", insecureContext: true },
   1858  // IMPORTANT: Do not change this list without review from a DOM peer!
   1859  { name: "onbeforeunload", insecureContext: true },
   1860  // IMPORTANT: Do not change this list without review from a DOM peer!
   1861  { name: "onblur", insecureContext: true },
   1862  // IMPORTANT: Do not change this list without review from a DOM peer!
   1863  { name: "oncancel", insecureContext: true },
   1864  // IMPORTANT: Do not change this list without review from a DOM peer!
   1865  { name: "oncanplay", insecureContext: true },
   1866  // IMPORTANT: Do not change this list without review from a DOM peer!
   1867  { name: "oncanplaythrough", insecureContext: true },
   1868  // IMPORTANT: Do not change this list without review from a DOM peer!
   1869  { name: "onchange", insecureContext: true },
   1870  // IMPORTANT: Do not change this list without review from a DOM peer!
   1871  { name: "onclick", insecureContext: true },
   1872  // IMPORTANT: Do not change this list without review from a DOM peer!
   1873  { name: "onclose", insecureContext: true },
   1874  // IMPORTANT: Do not change this list without review from a DOM peer!
   1875  { name: "oncommand", insecureContext: true },
   1876  // IMPORTANT: Do not change this list without review from a DOM peer!
   1877  { name: "oncontentvisibilityautostatechange", insecureContext: true },
   1878  // IMPORTANT: Do not change this list without review from a DOM peer!
   1879  { name: "oncontextlost", insecureContext: true },
   1880  // IMPORTANT: Do not change this list without review from a DOM peer!
   1881  { name: "oncontextmenu", insecureContext: true },
   1882  // IMPORTANT: Do not change this list without review from a DOM peer!
   1883  { name: "oncontextrestored", insecureContext: true },
   1884  // IMPORTANT: Do not change this list without review from a DOM peer!
   1885  { name: "oncopy", insecureContext: true },
   1886  // IMPORTANT: Do not change this list without review from a DOM peer!
   1887  { name: "oncuechange", insecureContext: true },
   1888  // IMPORTANT: Do not change this list without review from a DOM peer!
   1889  { name: "oncut", insecureContext: true },
   1890  // IMPORTANT: Do not change this list without review from a DOM peer!
   1891  { name: "ondblclick", insecureContext: true },
   1892  // IMPORTANT: Do not change this list without review from a DOM peer!
   1893  { name: "ondevicemotion", insecureContext: true },
   1894  // IMPORTANT: Do not change this list without review from a DOM peer!
   1895  { name: "ondeviceorientation", insecureContext: true },
   1896  // IMPORTANT: Do not change this list without review from a DOM peer!
   1897  { name: "ondeviceorientationabsolute", insecureContext: true },
   1898  // IMPORTANT: Do not change this list without review from a DOM peer!
   1899  { name: "ondrag", insecureContext: true },
   1900  // IMPORTANT: Do not change this list without review from a DOM peer!
   1901  { name: "ondragend", insecureContext: true },
   1902  // IMPORTANT: Do not change this list without review from a DOM peer!
   1903  { name: "ondragenter", insecureContext: true },
   1904  // IMPORTANT: Do not change this list without review from a DOM peer!
   1905  { name: "ondragexit", insecureContext: true, nightly: false },
   1906  // IMPORTANT: Do not change this list without review from a DOM peer!
   1907  { name: "ondragleave", insecureContext: true },
   1908  // IMPORTANT: Do not change this list without review from a DOM peer!
   1909  { name: "ondragover", insecureContext: true },
   1910  // IMPORTANT: Do not change this list without review from a DOM peer!
   1911  { name: "ondragstart", insecureContext: true },
   1912  // IMPORTANT: Do not change this list without review from a DOM peer!
   1913  { name: "ondrop", insecureContext: true },
   1914  // IMPORTANT: Do not change this list without review from a DOM peer!
   1915  { name: "ondurationchange", insecureContext: true },
   1916  // IMPORTANT: Do not change this list without review from a DOM peer!
   1917  { name: "onemptied", insecureContext: true },
   1918  // IMPORTANT: Do not change this list without review from a DOM peer!
   1919  { name: "onended", insecureContext: true },
   1920  // IMPORTANT: Do not change this list without review from a DOM peer!
   1921  { name: "onerror", insecureContext: true },
   1922  // IMPORTANT: Do not change this list without review from a DOM peer!
   1923  { name: "onfocus", insecureContext: true },
   1924  // IMPORTANT: Do not change this list without review from a DOM peer!
   1925  { name: "onformdata", insecureContext: true },
   1926  // IMPORTANT: Do not change this list without review from a DOM peer!
   1927  { name: "ongamepadconnected", insecureContext: true },
   1928  // IMPORTANT: Do not change this list without review from a DOM peer!
   1929  { name: "ongamepaddisconnected", insecureContext: true },
   1930  // IMPORTANT: Do not change this list without review from a DOM peer!
   1931  { name: "ongotpointercapture", insecureContext: true },
   1932  // IMPORTANT: Do not change this list without review from a DOM peer!
   1933  { name: "onhashchange", insecureContext: true },
   1934  // IMPORTANT: Do not change this list without review from a DOM peer!
   1935  { name: "oninput", insecureContext: true },
   1936  // IMPORTANT: Do not change this list without review from a DOM peer!
   1937  { name: "oninvalid", insecureContext: true },
   1938  // IMPORTANT: Do not change this list without review from a DOM peer!
   1939  { name: "onkeydown", insecureContext: true },
   1940  // IMPORTANT: Do not change this list without review from a DOM peer!
   1941  { name: "onkeypress", insecureContext: true },
   1942  // IMPORTANT: Do not change this list without review from a DOM peer!
   1943  { name: "onkeyup", insecureContext: true },
   1944  // IMPORTANT: Do not change this list without review from a DOM peer!
   1945  { name: "onlanguagechange", insecureContext: true },
   1946  // IMPORTANT: Do not change this list without review from a DOM peer!
   1947  { name: "onload", insecureContext: true },
   1948  // IMPORTANT: Do not change this list without review from a DOM peer!
   1949  { name: "onloadeddata", insecureContext: true },
   1950  // IMPORTANT: Do not change this list without review from a DOM peer!
   1951  { name: "onloadedmetadata", insecureContext: true },
   1952  // IMPORTANT: Do not change this list without review from a DOM peer!
   1953  { name: "onloadstart", insecureContext: true },
   1954  // IMPORTANT: Do not change this list without review from a DOM peer!
   1955  { name: "onlostpointercapture", insecureContext: true },
   1956  // IMPORTANT: Do not change this list without review from a DOM peer!
   1957  { name: "onmessage", insecureContext: true },
   1958  // IMPORTANT: Do not change this list without review from a DOM peer!
   1959  { name: "onmessageerror", insecureContext: true },
   1960  // IMPORTANT: Do not change this list without review from a DOM peer!
   1961  { name: "onmousedown", insecureContext: true },
   1962  // IMPORTANT: Do not change this list without review from a DOM peer!
   1963  { name: "onmouseenter", insecureContext: true },
   1964  // IMPORTANT: Do not change this list without review from a DOM peer!
   1965  { name: "onmouseleave", insecureContext: true },
   1966  // IMPORTANT: Do not change this list without review from a DOM peer!
   1967  { name: "onmousemove", insecureContext: true },
   1968  // IMPORTANT: Do not change this list without review from a DOM peer!
   1969  { name: "onmouseout", insecureContext: true },
   1970  // IMPORTANT: Do not change this list without review from a DOM peer!
   1971  { name: "onmouseover", insecureContext: true },
   1972  // IMPORTANT: Do not change this list without review from a DOM peer!
   1973  { name: "onmouseup", insecureContext: true },
   1974  // IMPORTANT: Do not change this list without review from a DOM peer!
   1975  { name: "onmozfullscreenchange", insecureContext: true },
   1976  // IMPORTANT: Do not change this list without review from a DOM peer!
   1977  { name: "onmozfullscreenerror", insecureContext: true },
   1978  // IMPORTANT: Do not change this list without review from a DOM peer!
   1979  { name: "onoffline", insecureContext: true },
   1980  // IMPORTANT: Do not change this list without review from a DOM peer!
   1981  { name: "ononline", insecureContext: true },
   1982  // IMPORTANT: Do not change this list without review from a DOM peer!
   1983  { name: "onorientationchange", insecureContext: true, android: true },
   1984  // IMPORTANT: Do not change this list without review from a DOM peer!
   1985  { name: "onpagehide", insecureContext: true },
   1986  // IMPORTANT: Do not change this list without review from a DOM peer!
   1987  { name: "onpageshow", insecureContext: true },
   1988  // IMPORTANT: Do not change this list without review from a DOM peer!
   1989  { name: "onpaste", insecureContext: true },
   1990  // IMPORTANT: Do not change this list without review from a DOM peer!
   1991  { name: "onpause", insecureContext: true },
   1992  // IMPORTANT: Do not change this list without review from a DOM peer!
   1993  { name: "onplay", insecureContext: true },
   1994  // IMPORTANT: Do not change this list without review from a DOM peer!
   1995  { name: "onplaying", insecureContext: true },
   1996  // IMPORTANT: Do not change this list without review from a DOM peer!
   1997  { name: "onpointercancel", insecureContext: true },
   1998  // IMPORTANT: Do not change this list without review from a DOM peer!
   1999  { name: "onpointerdown", insecureContext: true },
   2000  // IMPORTANT: Do not change this list without review from a DOM peer!
   2001  { name: "onpointerenter", insecureContext: true },
   2002  // IMPORTANT: Do not change this list without review from a DOM peer!
   2003  { name: "onpointerleave", insecureContext: true },
   2004  // IMPORTANT: Do not change this list without review from a DOM peer!
   2005  { name: "onpointermove", insecureContext: true },
   2006  // IMPORTANT: Do not change this list without review from a DOM peer!
   2007  { name: "onpointerout", insecureContext: true },
   2008  // IMPORTANT: Do not change this list without review from a DOM peer!
   2009  { name: "onpointerover", insecureContext: true },
   2010  // IMPORTANT: Do not change this list without review from a DOM peer!
   2011  { name: "onpointerrawupdate" },
   2012  // IMPORTANT: Do not change this list without review from a DOM peer!
   2013  { name: "onpointerup", insecureContext: true },
   2014  // IMPORTANT: Do not change this list without review from a DOM peer!
   2015  { name: "onpopstate", insecureContext: true },
   2016  // IMPORTANT: Do not change this list without review from a DOM peer!
   2017  { name: "onprogress", insecureContext: true },
   2018  // IMPORTANT: Do not change this list without review from a DOM peer!
   2019  { name: "onratechange", insecureContext: true },
   2020  // IMPORTANT: Do not change this list without review from a DOM peer!
   2021  { name: "onrejectionhandled", insecureContext: true },
   2022  // IMPORTANT: Do not change this list without review from a DOM peer!
   2023  { name: "onreset", insecureContext: true },
   2024  // IMPORTANT: Do not change this list without review from a DOM peer!
   2025  { name: "onresize", insecureContext: true },
   2026  // IMPORTANT: Do not change this list without review from a DOM peer!
   2027  { name: "onscroll", insecureContext: true },
   2028  // IMPORTANT: Do not change this list without review from a DOM peer!
   2029  { name: "onscrollend", insecureContext: true },
   2030  // IMPORTANT: Do not change this list without review from a DOM peer!
   2031  { name: "onsecuritypolicyviolation", insecureContext: true },
   2032  // IMPORTANT: Do not change this list without review from a DOM peer!
   2033  { name: "onseeked", insecureContext: true },
   2034  // IMPORTANT: Do not change this list without review from a DOM peer!
   2035  { name: "onseeking", insecureContext: true },
   2036  // IMPORTANT: Do not change this list without review from a DOM peer!
   2037  { name: "onselect", insecureContext: true },
   2038  // IMPORTANT: Do not change this list without review from a DOM peer!
   2039  { name: "onselectionchange", insecureContext: true },
   2040  // IMPORTANT: Do not change this list without review from a DOM peer!
   2041  { name: "onselectstart", insecureContext: true },
   2042  // IMPORTANT: Do not change this list without review from a DOM peer!
   2043  { name: "onslotchange", insecureContext: true },
   2044  // IMPORTANT: Do not change this list without review from a DOM peer!
   2045  { name: "onstalled", insecureContext: true },
   2046  // IMPORTANT: Do not change this list without review from a DOM peer!
   2047  { name: "onstorage", insecureContext: true },
   2048  // IMPORTANT: Do not change this list without review from a DOM peer!
   2049  { name: "onsubmit", insecureContext: true },
   2050  // IMPORTANT: Do not change this list without review from a DOM peer!
   2051  { name: "onsuspend", insecureContext: true },
   2052  // IMPORTANT: Do not change this list without review from a DOM peer!
   2053  { name: "ontimeupdate", insecureContext: true },
   2054  // IMPORTANT: Do not change this list without review from a DOM peer!
   2055  { name: "ontoggle", insecureContext: true },
   2056  // IMPORTANT: Do not change this list without review from a DOM peer!
   2057  { name: "ontouchcancel", insecureContext: true, android: true },
   2058  // IMPORTANT: Do not change this list without review from a DOM peer!
   2059  { name: "ontouchend", insecureContext: true, android: true },
   2060  // IMPORTANT: Do not change this list without review from a DOM peer!
   2061  { name: "ontouchmove", insecureContext: true, android: true },
   2062  // IMPORTANT: Do not change this list without review from a DOM peer!
   2063  { name: "ontouchstart", insecureContext: true, android: true },
   2064  // IMPORTANT: Do not change this list without review from a DOM peer!
   2065  { name: "ontransitioncancel", insecureContext: true },
   2066  // IMPORTANT: Do not change this list without review from a DOM peer!
   2067  { name: "ontransitionend", insecureContext: true },
   2068  // IMPORTANT: Do not change this list without review from a DOM peer!
   2069  { name: "ontransitionrun", insecureContext: true },
   2070  // IMPORTANT: Do not change this list without review from a DOM peer!
   2071  { name: "ontransitionstart", insecureContext: true },
   2072  // IMPORTANT: Do not change this list without review from a DOM peer!
   2073  { name: "onunhandledrejection", insecureContext: true },
   2074  // IMPORTANT: Do not change this list without review from a DOM peer!
   2075  { name: "onunload", insecureContext: true },
   2076  // IMPORTANT: Do not change this list without review from a DOM peer!
   2077  { name: "onvolumechange", insecureContext: true },
   2078  // IMPORTANT: Do not change this list without review from a DOM peer!
   2079  { name: "onwaiting", insecureContext: true },
   2080  // IMPORTANT: Do not change this list without review from a DOM peer!
   2081  { name: "onwebkitanimationend", insecureContext: true },
   2082  // IMPORTANT: Do not change this list without review from a DOM peer!
   2083  { name: "onwebkitanimationiteration", insecureContext: true },
   2084  // IMPORTANT: Do not change this list without review from a DOM peer!
   2085  { name: "onwebkitanimationstart", insecureContext: true },
   2086  // IMPORTANT: Do not change this list without review from a DOM peer!
   2087  { name: "onwebkittransitionend", insecureContext: true },
   2088  // IMPORTANT: Do not change this list without review from a DOM peer!
   2089  { name: "onwheel", insecureContext: true },
   2090  // IMPORTANT: Do not change this list without review from a DOM peer!
   2091  { name: "open", insecureContext: true },
   2092  // IMPORTANT: Do not change this list without review from a DOM peer!
   2093  { name: "opener", insecureContext: true },
   2094  // IMPORTANT: Do not change this list without review from a DOM peer!
   2095  { name: "orientation", insecureContext: true, android: true },
   2096  // IMPORTANT: Do not change this list without review from a DOM peer!
   2097  { name: "origin", insecureContext: true },
   2098  // IMPORTANT: Do not change this list without review from a DOM peer!
   2099  { name: "originAgentCluster", insecureContext: true },
   2100  // IMPORTANT: Do not change this list without review from a DOM peer!
   2101  { name: "outerHeight", insecureContext: true },
   2102  // IMPORTANT: Do not change this list without review from a DOM peer!
   2103  { name: "outerWidth", insecureContext: true },
   2104  // IMPORTANT: Do not change this list without review from a DOM peer!
   2105  { name: "pageXOffset", insecureContext: true },
   2106  // IMPORTANT: Do not change this list without review from a DOM peer!
   2107  { name: "pageYOffset", insecureContext: true },
   2108  // IMPORTANT: Do not change this list without review from a DOM peer!
   2109  { name: "parent", insecureContext: true },
   2110  // IMPORTANT: Do not change this list without review from a DOM peer!
   2111  { name: "performance", insecureContext: true },
   2112  // IMPORTANT: Do not change this list without review from a DOM peer!
   2113  { name: "personalbar", insecureContext: true },
   2114  // IMPORTANT: Do not change this list without review from a DOM peer!
   2115  { name: "postMessage", insecureContext: true },
   2116  // IMPORTANT: Do not change this list without review from a DOM peer!
   2117  { name: "print", insecureContext: true },
   2118  // IMPORTANT: Do not change this list without review from a DOM peer!
   2119  { name: "prompt", insecureContext: true },
   2120  // IMPORTANT: Do not change this list without review from a DOM peer!
   2121  { name: "queueMicrotask", insecureContext: true },
   2122  // IMPORTANT: Do not change this list without review from a DOM peer!
   2123  { name: "releaseEvents", insecureContext: true },
   2124  // IMPORTANT: Do not change this list without review from a DOM peer!
   2125  { name: "reportError", insecureContext: true },
   2126  // IMPORTANT: Do not change this list without review from a DOM peer!
   2127  { name: "requestAnimationFrame", insecureContext: true },
   2128  // IMPORTANT: Do not change this list without review from a DOM peer!
   2129  { name: "requestIdleCallback", insecureContext: true },
   2130  // IMPORTANT: Do not change this list without review from a DOM peer!
   2131  { name: "resizeBy", insecureContext: true },
   2132  // IMPORTANT: Do not change this list without review from a DOM peer!
   2133  { name: "resizeTo", insecureContext: true },
   2134  // IMPORTANT: Do not change this list without review from a DOM peer!
   2135  { name: "scheduler", insecureContext: true },
   2136  // IMPORTANT: Do not change this list without review from a DOM peer!
   2137  { name: "screen", insecureContext: true },
   2138  // IMPORTANT: Do not change this list without review from a DOM peer!
   2139  { name: "screenLeft", insecureContext: true },
   2140  // IMPORTANT: Do not change this list without review from a DOM peer!
   2141  { name: "screenTop", insecureContext: true },
   2142  // IMPORTANT: Do not change this list without review from a DOM peer!
   2143  { name: "screenX", insecureContext: true },
   2144  // IMPORTANT: Do not change this list without review from a DOM peer!
   2145  { name: "screenY", insecureContext: true },
   2146  // IMPORTANT: Do not change this list without review from a DOM peer!
   2147  { name: "scroll", insecureContext: true },
   2148  // IMPORTANT: Do not change this list without review from a DOM peer!
   2149  { name: "scrollBy", insecureContext: true },
   2150  // IMPORTANT: Do not change this list without review from a DOM peer!
   2151  { name: "scrollByLines", insecureContext: true },
   2152  // IMPORTANT: Do not change this list without review from a DOM peer!
   2153  { name: "scrollByPages", insecureContext: true },
   2154  // IMPORTANT: Do not change this list without review from a DOM peer!
   2155  { name: "scrollMaxX", insecureContext: true },
   2156  // IMPORTANT: Do not change this list without review from a DOM peer!
   2157  { name: "scrollMaxY", insecureContext: true },
   2158  // IMPORTANT: Do not change this list without review from a DOM peer!
   2159  { name: "scrollTo", insecureContext: true },
   2160  // IMPORTANT: Do not change this list without review from a DOM peer!
   2161  { name: "scrollX", insecureContext: true },
   2162  // IMPORTANT: Do not change this list without review from a DOM peer!
   2163  { name: "scrollY", insecureContext: true },
   2164  // IMPORTANT: Do not change this list without review from a DOM peer!
   2165  { name: "scrollbars", insecureContext: true },
   2166  // IMPORTANT: Do not change this list without review from a DOM peer!
   2167  { name: "self", insecureContext: true },
   2168  // IMPORTANT: Do not change this list without review from a DOM peer!
   2169  { name: "sessionStorage", insecureContext: true },
   2170  // IMPORTANT: Do not change this list without review from a DOM peer!
   2171  { name: "setInterval", insecureContext: true },
   2172  // IMPORTANT: Do not change this list without review from a DOM peer!
   2173  { name: "setResizable", insecureContext: true },
   2174  // IMPORTANT: Do not change this list without review from a DOM peer!
   2175  { name: "setTimeout", insecureContext: true },
   2176  // IMPORTANT: Do not change this list without review from a DOM peer!
   2177  { name: "speechSynthesis", insecureContext: true },
   2178  // IMPORTANT: Do not change this list without review from a DOM peer!
   2179  { name: "status", insecureContext: true },
   2180  // IMPORTANT: Do not change this list without review from a DOM peer!
   2181  { name: "statusbar", insecureContext: true },
   2182  // IMPORTANT: Do not change this list without review from a DOM peer!
   2183  { name: "stop", insecureContext: true },
   2184  // IMPORTANT: Do not change this list without review from a DOM peer!
   2185  { name: "structuredClone", insecureContext: true },
   2186  // IMPORTANT: Do not change this list without review from a DOM peer!
   2187  { name: "toolbar", insecureContext: true },
   2188  // IMPORTANT: Do not change this list without review from a DOM peer!
   2189  { name: "top", insecureContext: true },
   2190  // IMPORTANT: Do not change this list without review from a DOM peer!
   2191  { name: "trustedTypes", insecureContext: true },
   2192  // IMPORTANT: Do not change this list without review from a DOM peer!
   2193  { name: "u2f", insecureContext: false, disabled: true },
   2194  // IMPORTANT: Do not change this list without review from a DOM peer!
   2195  { name: "updateCommands", insecureContext: true },
   2196  // IMPORTANT: Do not change this list without review from a DOM peer!
   2197  { name: "visualViewport", insecureContext: true },
   2198  // IMPORTANT: Do not change this list without review from a DOM peer!
   2199  { name: "webkitURL", insecureContext: true },
   2200  // IMPORTANT: Do not change this list without review from a DOM peer!
   2201  { name: "window", insecureContext: true },
   2202  // IMPORTANT: Do not change this list without review from a DOM peer!
   2203 ];
   2204 // IMPORTANT: Do not change the list above without review from a DOM peer!
   2205 
   2206 // Use an iframe because the test harness pollutes the global object with a lot
   2207 // of functions.
   2208 let iframeWindow = document.getElementById("testframe").contentWindow;
   2209 is(
   2210  window.isSecureContext,
   2211  iframeWindow.isSecureContext,
   2212  "iframe isSecureContext must match"
   2213 );
   2214 
   2215 let data = getHelperData();
   2216 
   2217 runTest("window", iframeWindow, {
   2218  data,
   2219  interfaceGroups: [ecmaGlobals, interfaceNamesInGlobalScope],
   2220 });
   2221 
   2222 if (window.WebAssembly && !entryDisabled(data, wasmGlobalEntry)) {
   2223  runTest("WebAssembly", window.WebAssembly, {
   2224    data,
   2225    interfaceGroups: [wasmGlobalInterfaces],
   2226  });
   2227 }