From 7dad2185fd10569d2e242b1b1f73574c25fbdd36 Mon Sep 17 00:00:00 2001 From: Sam Macbeth Date: Tue, 17 Aug 2021 14:58:20 +0200 Subject: [PATCH] Add test page for global JS leaks (#52) * Page to show leaks in changes to global JS scope * Add link from home * Addressing review comments * Update Safari profile * Update security/leaks.js Co-authored-by: Konrad Dzwinel * Add download buttons * Fix linting Co-authored-by: Konrad Dzwinel --- index.html | 1 + .../browser-profiles/android_webview_83.json | 2533 ++++++++++++ security/browser-profiles/chrome_92.json | 3544 +++++++++++++++++ security/browser-profiles/firefox_92.json | 2463 ++++++++++++ security/browser-profiles/safari_14.json | 2256 +++++++++++ security/browser-profiles/safari_14_ios.json | 2184 ++++++++++ security/js-leaks.html | 49 + security/leaks.js | 194 + security/style.css | 7 + 9 files changed, 13231 insertions(+) create mode 100644 security/browser-profiles/android_webview_83.json create mode 100644 security/browser-profiles/chrome_92.json create mode 100644 security/browser-profiles/firefox_92.json create mode 100644 security/browser-profiles/safari_14.json create mode 100644 security/browser-profiles/safari_14_ios.json create mode 100644 security/js-leaks.html create mode 100644 security/leaks.js create mode 100644 security/style.css diff --git a/index.html b/index.html index 37cefab..45e5704 100644 --- a/index.html +++ b/index.html @@ -41,6 +41,7 @@

Security

  • Infinite location.reload() loop
  • URL Spoofing - JS page rewrite
  • Leak of extension IDs via CSP
  • +
  • Detect changes to JS objects in global scope
  • Privacy Protections Tests

    diff --git a/security/browser-profiles/android_webview_83.json b/security/browser-profiles/android_webview_83.json new file mode 100644 index 0000000..04b603a --- /dev/null +++ b/security/browser-profiles/android_webview_83.json @@ -0,0 +1,2533 @@ +{ + "window": { + "PERSISTENT": { + "type": "number" + }, + "TEMPORARY": { + "type": "number" + }, + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "alert": { + "value": "function alert() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "applicationCache": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "CHECKING": { + "type": "number" + }, + "DOWNLOADING": { + "type": "number" + }, + "IDLE": { + "type": "number" + }, + "OBSOLETE": { + "type": "number" + }, + "UNCACHED": { + "type": "number" + }, + "UPDATEREADY": { + "type": "number" + }, + "abort": { + "type": "function", + "value": "function () { [native code] }" + }, + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "oncached": { + "type": "object", + "properties": {} + }, + "onchecking": { + "type": "object" + }, + "ondownloading": { + "type": "object" + }, + "onerror": { + "type": "object" + }, + "onnoupdate": { + "type": "object" + }, + "onobsolete": { + "type": "object" + }, + "onprogress": { + "type": "object" + }, + "onupdateready": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "status": { + "type": "number" + }, + "swapCache": { + "type": "function", + "value": "function () { [native code] }" + }, + "update": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "atob": { + "value": "function atob() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "blur": { + "value": "function blur() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "btoa": { + "value": "function btoa() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "caches": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "delete": { + "type": "function", + "value": "function () { [native code] }" + }, + "has": { + "type": "function", + "value": "function () { [native code] }" + }, + "keys": { + "type": "function", + "value": "function () { [native code] }" + }, + "match": { + "type": "function", + "value": "function () { [native code] }" + }, + "open": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "cancelAnimationFrame": { + "value": "function cancelAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "cancelIdleCallback": { + "value": "function cancelIdleCallback() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "captureEvents": { + "value": "function captureEvents() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearInterval": { + "value": "function clearInterval() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearTimeout": { + "value": "function clearTimeout() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clientInformation": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "bluetooth": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getAvailability": { + "type": "function", + "value": "function () { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestDevice": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "clearAppBadge": { + "type": "function", + "value": "function () { [native code] }" + }, + "clipboard": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "read": { + "type": "function", + "value": "function () { [native code] }" + }, + "readText": { + "type": "function", + "value": "function () { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "write": { + "type": "function", + "value": "function () { [native code] }" + }, + "writeText": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "connection": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "downlink": { + "type": "number" + }, + "downlinkMax": { + "type": "number" + }, + "effectiveType": { + "type": "string" + }, + "onchange": { + "type": "object" + }, + "ontypechange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "rtt": { + "type": "number" + }, + "saveData": { + "type": "boolean" + }, + "type": { + "type": "string" + } + } + }, + "contacts": { + "type": "object", + "properties": { + "getProperties": { + "type": "function", + "value": "function () { [native code] }" + }, + "select": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object", + "properties": { + "create": { + "type": "function", + "value": "function () { [native code] }" + }, + "get": { + "type": "function", + "value": "function () { [native code] }" + }, + "preventSilentAccess": { + "type": "function", + "value": "function () { [native code] }" + }, + "store": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "deviceMemory": { + "type": "number" + }, + "doNotTrack": { + "type": "object" + }, + "geolocation": { + "type": "object", + "properties": { + "clearWatch": { + "type": "function", + "value": "function clearWatch() { [native code] }" + }, + "getCurrentPosition": { + "type": "function", + "value": "function getCurrentPosition() { [native code] }" + }, + "watchPosition": { + "type": "function", + "value": "function watchPosition() { [native code] }" + } + } + }, + "getBattery": { + "type": "function", + "value": "function getBattery() { [native code] }" + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() { [native code] }" + }, + "getUserMedia": { + "type": "function", + "value": "function () { [native code] }" + }, + "hardwareConcurrency": { + "type": "number" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() { [native code] }" + }, + "keyboard": { + "type": "object", + "properties": { + "getLayoutMap": { + "type": "function", + "value": "function () { [native code] }" + }, + "lock": { + "type": "function", + "value": "function () { [native code] }" + }, + "unlock": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object", + "properties": { + "0": { + "value": "en-US", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "locks": { + "type": "object", + "properties": { + "query": { + "type": "function", + "value": "function () { [native code] }" + }, + "request": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object", + "properties": { + "decodingInfo": { + "type": "function", + "value": "function decodingInfo() { [native code] }" + } + } + }, + "mediaDevices": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "enumerateDevices": { + "type": "function", + "value": "function () { [native code] }" + }, + "getDisplayMedia": { + "type": "function", + "value": "function () { [native code] }" + }, + "getSupportedConstraints": { + "type": "function", + "value": "function () { [native code] }" + }, + "getUserMedia": { + "type": "function", + "value": "function () { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + } + } + }, + "mimeTypes": { + "type": "object", + "properties": { + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() { [native code] }" + } + } + }, + "onLine": { + "type": "boolean" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object", + "properties": { + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() { [native code] }" + }, + "refresh": { + "type": "function", + "value": "function refresh() { [native code] }" + } + } + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "requestMIDIAccess": { + "type": "function", + "value": "function () { [native code] }" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function () { [native code] }" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() { [native code] }" + }, + "serviceWorker": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "controller": { + "type": "object" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getRegistration": { + "type": "function", + "value": "function () { [native code] }" + }, + "getRegistrations": { + "type": "function", + "value": "function () { [native code] }" + }, + "oncontrollerchange": { + "type": "object" + }, + "onmessage": { + "type": "object" + }, + "onmessageerror": { + "type": "object" + }, + "ready": { + "type": "object", + "properties": {} + }, + "register": { + "type": "function", + "value": "function () { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "startMessages": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "setAppBadge": { + "type": "function", + "value": "function () { [native code] }" + }, + "storage": { + "type": "object", + "properties": { + "estimate": { + "type": "function", + "value": "function () { [native code] }" + }, + "persist": { + "type": "function", + "value": "function () { [native code] }" + }, + "persisted": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "usb": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getDevices": { + "type": "function", + "value": "function () { [native code] }" + }, + "onconnect": { + "type": "object" + }, + "ondisconnect": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestDevice": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "userActivation": { + "type": "object", + "properties": { + "hasBeenActive": { + "type": "boolean" + }, + "isActive": { + "type": "boolean" + } + } + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "vibrate": { + "type": "function", + "value": "function vibrate() { [native code] }" + }, + "webkitGetUserMedia": { + "type": "function", + "value": "function () { [native code] }" + }, + "webkitPersistentStorage": { + "type": "object", + "properties": { + "queryUsageAndQuota": { + "type": "function", + "value": "function queryUsageAndQuota() { [native code] }" + }, + "requestQuota": { + "type": "function", + "value": "function requestQuota() { [native code] }" + } + } + }, + "webkitTemporaryStorage": { + "type": "object", + "properties": { + "queryUsageAndQuota": { + "type": "function", + "value": "function queryUsageAndQuota() { [native code] }" + }, + "requestQuota": { + "type": "function", + "value": "function requestQuota() { [native code] }" + } + } + } + } + }, + "close": { + "value": "function close() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "closed": { + "value": false, + "writable": false, + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "confirm": { + "value": "function confirm() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "createImageBitmap": { + "value": "function createImageBitmap() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "crypto": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "getRandomValues": { + "type": "function", + "value": "function getRandomValues() { [native code] }" + }, + "subtle": { + "type": "object", + "properties": { + "decrypt": { + "type": "function", + "value": "function () { [native code] }" + }, + "deriveBits": { + "type": "function", + "value": "function () { [native code] }" + }, + "deriveKey": { + "type": "function", + "value": "function () { [native code] }" + }, + "digest": { + "type": "function", + "value": "function () { [native code] }" + }, + "encrypt": { + "type": "function", + "value": "function () { [native code] }" + }, + "exportKey": { + "type": "function", + "value": "function () { [native code] }" + }, + "generateKey": { + "type": "function", + "value": "function () { [native code] }" + }, + "importKey": { + "type": "function", + "value": "function () { [native code] }" + }, + "sign": { + "type": "function", + "value": "function () { [native code] }" + }, + "unwrapKey": { + "type": "function", + "value": "function () { [native code] }" + }, + "verify": { + "type": "function", + "value": "function () { [native code] }" + }, + "wrapKey": { + "type": "function", + "value": "function () { [native code] }" + } + } + } + } + }, + "customElements": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "define": { + "type": "function", + "value": "function define() { [native code] }" + }, + "get": { + "type": "function", + "value": "function get() { [native code] }" + }, + "upgrade": { + "type": "function", + "value": "function upgrade() { [native code] }" + }, + "whenDefined": { + "type": "function", + "value": "function whenDefined() { [native code] }" + } + } + }, + "defaultStatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "defaultstatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "devicePixelRatio": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "document": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "external": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "AddSearchProvider": { + "type": "function", + "value": "function AddSearchProvider() { [native code] }" + }, + "IsSearchProviderInstalled": { + "type": "function", + "value": "function IsSearchProviderInstalled() { [native code] }" + } + } + }, + "fetch": { + "value": "function fetch() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "find": { + "value": "function find() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "focus": { + "value": "function focus() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "frameElement": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "frames": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "getComputedStyle": { + "value": "function getComputedStyle() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getSelection": { + "value": "function getSelection() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "history": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "back": { + "type": "function", + "value": "function back() { [native code] }" + }, + "forward": { + "type": "function", + "value": "function forward() { [native code] }" + }, + "go": { + "type": "function", + "value": "function go() { [native code] }" + }, + "length": { + "type": "number" + }, + "pushState": { + "type": "function", + "value": "function pushState() { [native code] }" + }, + "replaceState": { + "type": "function", + "value": "function replaceState() { [native code] }" + }, + "scrollRestoration": { + "type": "string" + }, + "state": { + "type": "object" + } + } + }, + "indexedDB": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "cmp": { + "type": "function", + "value": "function cmp() { [native code] }" + }, + "databases": { + "type": "function", + "value": "function databases() { [native code] }" + }, + "deleteDatabase": { + "type": "function", + "value": "function deleteDatabase() { [native code] }" + }, + "open": { + "type": "function", + "value": "function open() { [native code] }" + } + } + }, + "innerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "innerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "isSecureContext": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "length": { + "value": 0, + "writable": true, + "enumerable": true, + "configurable": true, + "type": "number" + }, + "localStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() { [native code] }" + }, + "getItem": { + "type": "function", + "value": "function getItem() { [native code] }" + }, + "key": { + "type": "function", + "value": "function key() { [native code] }" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() { [native code] }" + }, + "setItem": { + "type": "function", + "value": "function setItem() { [native code] }" + } + } + }, + "location": { + "writable": true, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "ancestorOrigins": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "contains": { + "type": "function", + "value": "function contains() { [native code] }" + }, + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + } + } + }, + "assign": { + "value": "function assign() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "fragmentDirective": { + "type": "object", + "properties": {} + }, + "hash": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "host": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "hostname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "href": { + "value": "https://sammacbeth.eu/fp/ddg_leaks.html", + "writable": true, + "enumerable": true, + "configurable": false, + "type": "string" + }, + "origin": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "pathname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "port": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "protocol": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "reload": { + "value": "function reload() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "replace": { + "value": "function replace() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "search": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "toString": { + "value": "function toString() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + } + } + }, + "locationbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "matchMedia": { + "value": "function matchMedia() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "menubar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "moveBy": { + "value": "function moveBy() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "moveTo": { + "value": "function moveTo() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "name": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "navigator": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "bluetooth": { + "type": "object" + }, + "clearAppBadge": { + "type": "function", + "value": "function () { [native code] }" + }, + "clipboard": { + "type": "object" + }, + "connection": { + "type": "object" + }, + "contacts": { + "type": "object" + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object" + }, + "deviceMemory": { + "type": "number" + }, + "doNotTrack": { + "type": "object" + }, + "geolocation": { + "type": "object" + }, + "getBattery": { + "type": "function", + "value": "function getBattery() { [native code] }" + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() { [native code] }" + }, + "getUserMedia": { + "type": "function", + "value": "function () { [native code] }" + }, + "hardwareConcurrency": { + "type": "number" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() { [native code] }" + }, + "keyboard": { + "type": "object" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object" + }, + "locks": { + "type": "object" + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object" + }, + "mediaDevices": { + "type": "object" + }, + "mimeTypes": { + "type": "object" + }, + "onLine": { + "type": "boolean" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object" + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "requestMIDIAccess": { + "type": "function", + "value": "function () { [native code] }" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function () { [native code] }" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() { [native code] }" + }, + "serviceWorker": { + "type": "object" + }, + "setAppBadge": { + "type": "function", + "value": "function () { [native code] }" + }, + "storage": { + "type": "object" + }, + "usb": { + "type": "object" + }, + "userActivation": { + "type": "object" + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "vibrate": { + "type": "function", + "value": "function vibrate() { [native code] }" + }, + "webkitGetUserMedia": { + "type": "function", + "value": "function () { [native code] }" + }, + "webkitPersistentStorage": { + "type": "object" + }, + "webkitTemporaryStorage": { + "type": "object" + } + } + }, + "onabort": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onafterprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onappinstalled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onauxclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeinstallprompt": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onblur": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplaythrough": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclose": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncontextmenu": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncuechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondblclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondevicemotion": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondeviceorientation": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondeviceorientationabsolute": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrag": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrop": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondurationchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onemptied": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onended": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onfocus": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onformdata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ongotpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onhashchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninput": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninvalid": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeydown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeypress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeyup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlanguagechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadeddata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadedmetadata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlostpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessageerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousedown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousemove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousewheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onoffline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ononline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onorientationchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpagehide": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpageshow": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpause": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplaying": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointercancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerdown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointermove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerrawupdate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpopstate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onprogress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onratechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onrejectionhandled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onreset": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onresize": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onscroll": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsearch": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeked": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeking": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectionchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstalled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstorage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsubmit": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsuspend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontimeupdate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontoggle": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontouchcancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontouchend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontouchmove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontouchstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunhandledrejection": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvolumechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwaiting": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkittransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "open": { + "value": "function open() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "openDatabase": { + "value": "function openDatabase() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "opener": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "orientation": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "origin": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "outerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "outerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageXOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageYOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "parent": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "performance": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "clearMarks": { + "type": "function", + "value": "function clearMarks() { [native code] }" + }, + "clearMeasures": { + "type": "function", + "value": "function clearMeasures() { [native code] }" + }, + "clearResourceTimings": { + "type": "function", + "value": "function clearResourceTimings() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getEntries": { + "type": "function", + "value": "function getEntries() { [native code] }" + }, + "getEntriesByName": { + "type": "function", + "value": "function getEntriesByName() { [native code] }" + }, + "getEntriesByType": { + "type": "function", + "value": "function getEntriesByType() { [native code] }" + }, + "mark": { + "type": "function", + "value": "function mark() { [native code] }" + }, + "measure": { + "type": "function", + "value": "function measure() { [native code] }" + }, + "memory": { + "type": "object", + "properties": { + "jsHeapSizeLimit": { + "type": "number" + }, + "totalJSHeapSize": { + "type": "number" + }, + "usedJSHeapSize": { + "type": "number" + } + } + }, + "navigation": { + "type": "object", + "properties": { + "TYPE_BACK_FORWARD": { + "type": "number" + }, + "TYPE_NAVIGATE": { + "type": "number" + }, + "TYPE_RELOAD": { + "type": "number" + }, + "TYPE_RESERVED": { + "type": "number" + }, + "redirectCount": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + }, + "type": { + "type": "number" + } + } + }, + "now": { + "type": "function", + "value": "function now() { [native code] }" + }, + "onresourcetimingbufferfull": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "setResourceTimingBufferSize": { + "type": "function", + "value": "function setResourceTimingBufferSize() { [native code] }" + }, + "timeOrigin": { + "type": "number" + }, + "timing": { + "type": "object", + "properties": { + "connectEnd": { + "type": "number" + }, + "connectStart": { + "type": "number" + }, + "domComplete": { + "type": "number" + }, + "domContentLoadedEventEnd": { + "type": "number" + }, + "domContentLoadedEventStart": { + "type": "number" + }, + "domInteractive": { + "type": "number" + }, + "domLoading": { + "type": "number" + }, + "domainLookupEnd": { + "type": "number" + }, + "domainLookupStart": { + "type": "number" + }, + "fetchStart": { + "type": "number" + }, + "loadEventEnd": { + "type": "number" + }, + "loadEventStart": { + "type": "number" + }, + "navigationStart": { + "type": "number" + }, + "redirectEnd": { + "type": "number" + }, + "redirectStart": { + "type": "number" + }, + "requestStart": { + "type": "number" + }, + "responseEnd": { + "type": "number" + }, + "responseStart": { + "type": "number" + }, + "secureConnectionStart": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + }, + "unloadEventEnd": { + "type": "number" + }, + "unloadEventStart": { + "type": "number" + } + } + }, + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + } + } + }, + "personalbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "postMessage": { + "value": "function postMessage() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "print": { + "value": "function print() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "prompt": { + "value": "function prompt() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "queueMicrotask": { + "value": "function queueMicrotask() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "releaseEvents": { + "value": "function releaseEvents() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestAnimationFrame": { + "value": "function requestAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "requestIdleCallback": { + "value": "function requestIdleCallback() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeBy": { + "value": "function resizeBy() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeTo": { + "value": "function resizeTo() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "screen": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "availHeight": { + "type": "number" + }, + "availLeft": { + "type": "number" + }, + "availTop": { + "type": "number" + }, + "availWidth": { + "type": "number" + }, + "colorDepth": { + "type": "number" + }, + "height": { + "type": "number" + }, + "orientation": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "angle": { + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "lock": { + "type": "function", + "value": "function lock() { [native code] }" + }, + "onchange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "type": { + "type": "string" + }, + "unlock": { + "type": "function", + "value": "function unlock() { [native code] }" + } + } + }, + "pixelDepth": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "screenLeft": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenTop": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scroll": { + "value": "function scroll() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollBy": { + "value": "function scrollBy() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollTo": { + "value": "function scrollTo() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollbars": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "self": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "sessionStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() { [native code] }" + }, + "getItem": { + "type": "function", + "value": "function getItem() { [native code] }" + }, + "key": { + "type": "function", + "value": "function key() { [native code] }" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() { [native code] }" + }, + "setItem": { + "type": "function", + "value": "function setItem() { [native code] }" + } + } + }, + "setInterval": { + "value": "function setInterval() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "setTimeout": { + "value": "function setTimeout() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "status": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "statusbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "stop": { + "value": "function stop() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "styleMedia": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "matchMedium": { + "type": "function", + "value": "function matchMedium() { [native code] }" + }, + "type": { + "type": "string" + } + } + }, + "toolbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "top": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object" + }, + "trustedTypes": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "createPolicy": { + "type": "function", + "value": "function () { [native code] }" + }, + "defaultPolicy": { + "type": "object" + }, + "emptyHTML": { + "type": "object", + "properties": { + "toString": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "emptyScript": { + "type": "object", + "properties": { + "toString": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "getAttributeType": { + "type": "function", + "value": "function () { [native code] }" + }, + "getPropertyType": { + "type": "function", + "value": "function () { [native code] }" + }, + "getTypeMapping": { + "type": "function", + "value": "function () { [native code] }" + }, + "isHTML": { + "type": "function", + "value": "function () { [native code] }" + }, + "isScript": { + "type": "function", + "value": "function () { [native code] }" + }, + "isScriptURL": { + "type": "function", + "value": "function () { [native code] }" + } + } + }, + "visualViewport": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "height": { + "type": "number" + }, + "offsetLeft": { + "type": "number" + }, + "offsetTop": { + "type": "number" + }, + "onresize": { + "type": "object" + }, + "onscroll": { + "type": "object" + }, + "pageLeft": { + "type": "number" + }, + "pageTop": { + "type": "number" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "scale": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "webkitCancelAnimationFrame": { + "value": "function webkitCancelAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitRequestAnimationFrame": { + "value": "function webkitRequestAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitStorageInfo": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "PERSISTENT": { + "type": "number" + }, + "TEMPORARY": { + "type": "number" + }, + "queryUsageAndQuota": { + "type": "function", + "value": "function queryUsageAndQuota() { [native code] }" + }, + "requestQuota": { + "type": "function", + "value": "function requestQuota() { [native code] }" + } + } + }, + "window": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object" + } + } +} \ No newline at end of file diff --git a/security/browser-profiles/chrome_92.json b/security/browser-profiles/chrome_92.json new file mode 100644 index 0000000..9c72a4b --- /dev/null +++ b/security/browser-profiles/chrome_92.json @@ -0,0 +1,3544 @@ +{ + "window": { + "PERSISTENT": { + "type": "number" + }, + "TEMPORARY": { + "type": "number" + }, + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "alert": { + "value": "function alert() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "atob": { + "value": "function atob() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "blur": { + "value": "function blur() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "btoa": { + "value": "function btoa() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "caches": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "delete": { + "type": "function", + "value": "function delete() { [native code] }" + }, + "has": { + "type": "function", + "value": "function has() { [native code] }" + }, + "keys": { + "type": "function", + "value": "function keys() { [native code] }" + }, + "match": { + "type": "function", + "value": "function match() { [native code] }" + }, + "open": { + "type": "function", + "value": "function open() { [native code] }" + } + } + }, + "cancelAnimationFrame": { + "value": "function cancelAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "cancelIdleCallback": { + "value": "function cancelIdleCallback() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "captureEvents": { + "value": "function captureEvents() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "chrome": { + "writable": true, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "app": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "InstallState": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "DISABLED": { + "value": "disabled", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "INSTALLED": { + "value": "installed", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "NOT_INSTALLED": { + "value": "not_installed", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "RunningState": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "CANNOT_RUN": { + "value": "cannot_run", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "READY_TO_RUN": { + "value": "ready_to_run", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "RUNNING": { + "value": "running", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "getDetails": { + "value": "function getDetails() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getIsInstalled": { + "value": "function getIsInstalled() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "installState": { + "value": "function installState() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "isInstalled": { + "value": false, + "writable": true, + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "runningState": { + "value": "function runningState() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + } + } + }, + "csi": { + "value": "function () { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "loadTimes": { + "value": "function () { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "runtime": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "OnInstalledReason": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "CHROME_UPDATE": { + "value": "chrome_update", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "INSTALL": { + "value": "install", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "SHARED_MODULE_UPDATE": { + "value": "shared_module_update", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "UPDATE": { + "value": "update", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "OnRestartRequiredReason": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "APP_UPDATE": { + "value": "app_update", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "OS_UPDATE": { + "value": "os_update", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "PERIODIC": { + "value": "periodic", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "PlatformArch": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "ARM": { + "value": "arm", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "ARM64": { + "value": "arm64", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "MIPS": { + "value": "mips", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "MIPS64": { + "value": "mips64", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "X86_32": { + "value": "x86-32", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "X86_64": { + "value": "x86-64", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "PlatformNaclArch": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "ARM": { + "value": "arm", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "MIPS": { + "value": "mips", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "MIPS64": { + "value": "mips64", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "X86_32": { + "value": "x86-32", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "X86_64": { + "value": "x86-64", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "PlatformOs": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "ANDROID": { + "value": "android", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "CROS": { + "value": "cros", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "LINUX": { + "value": "linux", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "MAC": { + "value": "mac", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "OPENBSD": { + "value": "openbsd", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "WIN": { + "value": "win", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "RequestUpdateCheckStatus": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "NO_UPDATE": { + "value": "no_update", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "THROTTLED": { + "value": "throttled", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "UPDATE_AVAILABLE": { + "value": "update_available", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "connect": { + "value": "function connect() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "id": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "undefined" + }, + "sendMessage": { + "value": "function sendMessage() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + } + } + } + } + }, + "clearInterval": { + "value": "function clearInterval() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearTimeout": { + "value": "function clearTimeout() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clientInformation": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "bluetooth": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getAvailability": { + "type": "function", + "value": "function getAvailability() { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestDevice": { + "type": "function", + "value": "function requestDevice() { [native code] }" + } + } + }, + "clearAppBadge": { + "type": "function", + "value": "function clearAppBadge() { [native code] }" + }, + "clipboard": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "read": { + "type": "function", + "value": "function read() { [native code] }" + }, + "readText": { + "type": "function", + "value": "function readText() { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "write": { + "type": "function", + "value": "function write() { [native code] }" + }, + "writeText": { + "type": "function", + "value": "function writeText() { [native code] }" + } + } + }, + "connection": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "downlink": { + "type": "number" + }, + "effectiveType": { + "type": "string" + }, + "onchange": { + "type": "object", + "properties": {} + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "rtt": { + "type": "number" + }, + "saveData": { + "type": "boolean" + } + } + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object", + "properties": { + "create": { + "type": "function", + "value": "function create() { [native code] }" + }, + "get": { + "type": "function", + "value": "function get() { [native code] }" + }, + "preventSilentAccess": { + "type": "function", + "value": "function preventSilentAccess() { [native code] }" + }, + "store": { + "type": "function", + "value": "function store() { [native code] }" + } + } + }, + "deviceMemory": { + "type": "number" + }, + "doNotTrack": { + "type": "object" + }, + "geolocation": { + "type": "object", + "properties": { + "clearWatch": { + "type": "function", + "value": "function clearWatch() { [native code] }" + }, + "getCurrentPosition": { + "type": "function", + "value": "function getCurrentPosition() { [native code] }" + }, + "watchPosition": { + "type": "function", + "value": "function watchPosition() { [native code] }" + } + } + }, + "getBattery": { + "type": "function", + "value": "function getBattery() { [native code] }" + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() { [native code] }" + }, + "getInstalledRelatedApps": { + "type": "function", + "value": "function getInstalledRelatedApps() { [native code] }" + }, + "getUserMedia": { + "type": "function", + "value": "function getUserMedia() { [native code] }" + }, + "hardwareConcurrency": { + "type": "number" + }, + "hid": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getDevices": { + "type": "function", + "value": "function getDevices() { [native code] }" + }, + "onconnect": { + "type": "object" + }, + "ondisconnect": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestDevice": { + "type": "function", + "value": "function requestDevice() { [native code] }" + } + } + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() { [native code] }" + }, + "keyboard": { + "type": "object", + "properties": { + "getLayoutMap": { + "type": "function", + "value": "function getLayoutMap() { [native code] }" + }, + "lock": { + "type": "function", + "value": "function lock() { [native code] }" + }, + "unlock": { + "type": "function", + "value": "function unlock() { [native code] }" + } + } + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object", + "properties": { + "0": { + "value": "en", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "locks": { + "type": "object", + "properties": { + "query": { + "type": "function", + "value": "function query() { [native code] }" + }, + "request": { + "type": "function", + "value": "function request() { [native code] }" + } + } + }, + "managed": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getManagedConfiguration": { + "type": "function", + "value": "function getManagedConfiguration() { [native code] }" + }, + "onmanagedconfigurationchange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + } + } + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object", + "properties": { + "decodingInfo": { + "type": "function", + "value": "function decodingInfo() { [native code] }" + } + } + }, + "mediaDevices": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "enumerateDevices": { + "type": "function", + "value": "function enumerateDevices() { [native code] }" + }, + "getDisplayMedia": { + "type": "function", + "value": "function getDisplayMedia() { [native code] }" + }, + "getSupportedConstraints": { + "type": "function", + "value": "function getSupportedConstraints() { [native code] }" + }, + "getUserMedia": { + "type": "function", + "value": "function getUserMedia() { [native code] }" + }, + "ondevicechange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + } + } + }, + "mediaSession": { + "type": "object", + "properties": { + "metadata": { + "type": "object" + }, + "playbackState": { + "type": "string" + }, + "setActionHandler": { + "type": "function", + "value": "function setActionHandler() { [native code] }" + }, + "setCameraActive": { + "type": "function", + "value": "function setCameraActive() { [native code] }" + }, + "setMicrophoneActive": { + "type": "function", + "value": "function setMicrophoneActive() { [native code] }" + }, + "setPositionState": { + "type": "function", + "value": "function setPositionState() { [native code] }" + } + } + }, + "mimeTypes": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "enabledPlugin": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "enabledPlugin": { + "type": "object" + }, + "suffixes": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "description": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + }, + "name": { + "type": "string" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() { [native code] }" + } + } + }, + "suffixes": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "1": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "enabledPlugin": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "enabledPlugin": { + "type": "object" + }, + "suffixes": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "description": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + }, + "name": { + "type": "string" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() { [native code] }" + } + } + }, + "suffixes": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() { [native code] }" + } + } + }, + "onLine": { + "type": "boolean" + }, + "permissions": { + "type": "object", + "properties": { + "query": { + "type": "function", + "value": "function query() { [native code] }" + } + } + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "1": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() { [native code] }" + }, + "refresh": { + "type": "function", + "value": "function refresh() { [native code] }" + } + } + }, + "presentation": { + "type": "object", + "properties": { + "defaultRequest": { + "type": "object" + }, + "receiver": { + "type": "object" + } + } + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "registerProtocolHandler": { + "type": "function", + "value": "function registerProtocolHandler() { [native code] }" + }, + "requestMIDIAccess": { + "type": "function", + "value": "function requestMIDIAccess() { [native code] }" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() { [native code] }" + }, + "scheduling": { + "type": "object", + "properties": { + "isInputPending": { + "type": "function", + "value": "function isInputPending() { [native code] }" + } + } + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() { [native code] }" + }, + "serial": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getPorts": { + "type": "function", + "value": "function getPorts() { [native code] }" + }, + "onconnect": { + "type": "object" + }, + "ondisconnect": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestPort": { + "type": "function", + "value": "function requestPort() { [native code] }" + } + } + }, + "serviceWorker": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "controller": { + "type": "object" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getRegistration": { + "type": "function", + "value": "function getRegistration() { [native code] }" + }, + "getRegistrations": { + "type": "function", + "value": "function getRegistrations() { [native code] }" + }, + "oncontrollerchange": { + "type": "object" + }, + "onmessage": { + "type": "object" + }, + "onmessageerror": { + "type": "object" + }, + "ready": { + "type": "object", + "properties": {} + }, + "register": { + "type": "function", + "value": "function register() { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "startMessages": { + "type": "function", + "value": "function startMessages() { [native code] }" + } + } + }, + "setAppBadge": { + "type": "function", + "value": "function setAppBadge() { [native code] }" + }, + "storage": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "estimate": { + "type": "function", + "value": "function estimate() { [native code] }" + }, + "getDirectory": { + "type": "function", + "value": "function getDirectory() { [native code] }" + }, + "persist": { + "type": "function", + "value": "function persist() { [native code] }" + }, + "persisted": { + "type": "function", + "value": "function persisted() { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + } + } + }, + "unregisterProtocolHandler": { + "type": "function", + "value": "function unregisterProtocolHandler() { [native code] }" + }, + "usb": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getDevices": { + "type": "function", + "value": "function getDevices() { [native code] }" + }, + "onconnect": { + "type": "object" + }, + "ondisconnect": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestDevice": { + "type": "function", + "value": "function requestDevice() { [native code] }" + } + } + }, + "userActivation": { + "type": "object", + "properties": { + "hasBeenActive": { + "type": "boolean" + }, + "isActive": { + "type": "boolean" + } + } + }, + "userAgent": { + "type": "string" + }, + "userAgentData": { + "type": "object", + "properties": { + "brands": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "brand": { + "value": "Chromium", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "version": { + "value": "92", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "1": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "brand": { + "value": " Not A;Brand", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "version": { + "value": "99", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "2": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "brand": { + "value": "Google Chrome", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "version": { + "value": "92", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + } + } + }, + "getHighEntropyValues": { + "type": "function", + "value": "function getHighEntropyValues() { [native code] }" + }, + "mobile": { + "type": "boolean" + } + } + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "vibrate": { + "type": "function", + "value": "function vibrate() { [native code] }" + }, + "wakeLock": { + "type": "object", + "properties": { + "request": { + "type": "function", + "value": "function request() { [native code] }" + } + } + }, + "webdriver": { + "type": "boolean" + }, + "webkitGetUserMedia": { + "type": "function", + "value": "function webkitGetUserMedia() { [native code] }" + }, + "webkitPersistentStorage": { + "type": "object", + "properties": { + "queryUsageAndQuota": { + "type": "function", + "value": "function queryUsageAndQuota() { [native code] }" + }, + "requestQuota": { + "type": "function", + "value": "function requestQuota() { [native code] }" + } + } + }, + "webkitTemporaryStorage": { + "type": "object", + "properties": { + "queryUsageAndQuota": { + "type": "function", + "value": "function queryUsageAndQuota() { [native code] }" + }, + "requestQuota": { + "type": "function", + "value": "function requestQuota() { [native code] }" + } + } + }, + "xr": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "isSessionSupported": { + "type": "function", + "value": "function isSessionSupported() { [native code] }" + }, + "ondevicechange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestSession": { + "type": "function", + "value": "function requestSession() { [native code] }" + }, + "supportsSession": { + "type": "function", + "value": "function supportsSession() { [native code] }" + } + } + } + } + }, + "close": { + "value": "function close() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "closed": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "confirm": { + "value": "function confirm() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "cookieStore": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "delete": { + "type": "function", + "value": "function delete() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "get": { + "type": "function", + "value": "function get() { [native code] }" + }, + "getAll": { + "type": "function", + "value": "function getAll() { [native code] }" + }, + "onchange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "set": { + "type": "function", + "value": "function set() { [native code] }" + } + } + }, + "createImageBitmap": { + "value": "function createImageBitmap() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "crossOriginIsolated": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "crypto": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "getRandomValues": { + "type": "function", + "value": "function getRandomValues() { [native code] }" + }, + "randomUUID": { + "type": "function", + "value": "function randomUUID() { [native code] }" + }, + "subtle": { + "type": "object", + "properties": { + "decrypt": { + "type": "function", + "value": "function decrypt() { [native code] }" + }, + "deriveBits": { + "type": "function", + "value": "function deriveBits() { [native code] }" + }, + "deriveKey": { + "type": "function", + "value": "function deriveKey() { [native code] }" + }, + "digest": { + "type": "function", + "value": "function digest() { [native code] }" + }, + "encrypt": { + "type": "function", + "value": "function encrypt() { [native code] }" + }, + "exportKey": { + "type": "function", + "value": "function exportKey() { [native code] }" + }, + "generateKey": { + "type": "function", + "value": "function generateKey() { [native code] }" + }, + "importKey": { + "type": "function", + "value": "function importKey() { [native code] }" + }, + "sign": { + "type": "function", + "value": "function sign() { [native code] }" + }, + "unwrapKey": { + "type": "function", + "value": "function unwrapKey() { [native code] }" + }, + "verify": { + "type": "function", + "value": "function verify() { [native code] }" + }, + "wrapKey": { + "type": "function", + "value": "function wrapKey() { [native code] }" + } + } + } + } + }, + "customElements": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "define": { + "type": "function", + "value": "function define() { [native code] }" + }, + "get": { + "type": "function", + "value": "function get() { [native code] }" + }, + "upgrade": { + "type": "function", + "value": "function upgrade() { [native code] }" + }, + "whenDefined": { + "type": "function", + "value": "function whenDefined() { [native code] }" + } + } + }, + "defaultStatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "defaultstatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "devicePixelRatio": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "document": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "external": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "AddSearchProvider": { + "type": "function", + "value": "function AddSearchProvider() { [native code] }" + }, + "IsSearchProviderInstalled": { + "type": "function", + "value": "function IsSearchProviderInstalled() { [native code] }" + } + } + }, + "fetch": { + "value": "function fetch() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "find": { + "value": "function find() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "focus": { + "value": "function focus() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "frameElement": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "frames": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "getComputedStyle": { + "value": "function getComputedStyle() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getSelection": { + "value": "function getSelection() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "history": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "back": { + "type": "function", + "value": "function back() { [native code] }" + }, + "forward": { + "type": "function", + "value": "function forward() { [native code] }" + }, + "go": { + "type": "function", + "value": "function go() { [native code] }" + }, + "length": { + "type": "number" + }, + "pushState": { + "type": "function", + "value": "function pushState() { [native code] }" + }, + "replaceState": { + "type": "function", + "value": "function replaceState() { [native code] }" + }, + "scrollRestoration": { + "type": "string" + }, + "state": { + "type": "object" + } + } + }, + "indexedDB": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "cmp": { + "type": "function", + "value": "function cmp() { [native code] }" + }, + "databases": { + "type": "function", + "value": "function databases() { [native code] }" + }, + "deleteDatabase": { + "type": "function", + "value": "function deleteDatabase() { [native code] }" + }, + "open": { + "type": "function", + "value": "function open() { [native code] }" + } + } + }, + "innerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "innerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "isSecureContext": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "length": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "localStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() { [native code] }" + }, + "getItem": { + "type": "function", + "value": "function getItem() { [native code] }" + }, + "key": { + "type": "function", + "value": "function key() { [native code] }" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() { [native code] }" + }, + "setItem": { + "type": "function", + "value": "function setItem() { [native code] }" + } + } + }, + "location": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "ancestorOrigins": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "contains": { + "type": "function", + "value": "function contains() { [native code] }" + }, + "item": { + "type": "function", + "value": "function item() { [native code] }" + }, + "length": { + "type": "number" + } + } + }, + "assign": { + "value": "function assign() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "hash": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "host": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "hostname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "href": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "origin": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "pathname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "port": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "protocol": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "reload": { + "value": "function reload() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "replace": { + "value": "function replace() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "search": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "toString": { + "value": "function toString() { [native code] }", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + } + } + }, + "locationbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "matchMedia": { + "value": "function matchMedia() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "menubar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "moveBy": { + "value": "function moveBy() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "moveTo": { + "value": "function moveTo() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "name": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "navigator": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "bluetooth": { + "type": "object" + }, + "clearAppBadge": { + "type": "function", + "value": "function clearAppBadge() { [native code] }" + }, + "clipboard": { + "type": "object" + }, + "connection": { + "type": "object" + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object" + }, + "deviceMemory": { + "type": "number" + }, + "doNotTrack": { + "type": "object" + }, + "geolocation": { + "type": "object" + }, + "getBattery": { + "type": "function", + "value": "function getBattery() { [native code] }" + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() { [native code] }" + }, + "getInstalledRelatedApps": { + "type": "function", + "value": "function getInstalledRelatedApps() { [native code] }" + }, + "getUserMedia": { + "type": "function", + "value": "function getUserMedia() { [native code] }" + }, + "hardwareConcurrency": { + "type": "number" + }, + "hid": { + "type": "object" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() { [native code] }" + }, + "keyboard": { + "type": "object" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object" + }, + "locks": { + "type": "object" + }, + "managed": { + "type": "object" + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object" + }, + "mediaDevices": { + "type": "object" + }, + "mediaSession": { + "type": "object" + }, + "mimeTypes": { + "type": "object" + }, + "onLine": { + "type": "boolean" + }, + "permissions": { + "type": "object" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object" + }, + "presentation": { + "type": "object" + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "registerProtocolHandler": { + "type": "function", + "value": "function registerProtocolHandler() { [native code] }" + }, + "requestMIDIAccess": { + "type": "function", + "value": "function requestMIDIAccess() { [native code] }" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() { [native code] }" + }, + "scheduling": { + "type": "object" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() { [native code] }" + }, + "serial": { + "type": "object" + }, + "serviceWorker": { + "type": "object" + }, + "setAppBadge": { + "type": "function", + "value": "function setAppBadge() { [native code] }" + }, + "storage": { + "type": "object" + }, + "unregisterProtocolHandler": { + "type": "function", + "value": "function unregisterProtocolHandler() { [native code] }" + }, + "usb": { + "type": "object" + }, + "userActivation": { + "type": "object" + }, + "userAgent": { + "type": "string" + }, + "userAgentData": { + "type": "object", + "properties": { + "brands": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "brand": { + "value": "Chromium", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "version": { + "value": "92", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "1": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "brand": { + "value": " Not A;Brand", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "version": { + "value": "99", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + }, + "2": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "brand": { + "value": "Google Chrome", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + }, + "version": { + "value": "92", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "string" + } + } + } + } + }, + "getHighEntropyValues": { + "type": "function", + "value": "function getHighEntropyValues() { [native code] }" + }, + "mobile": { + "type": "boolean" + } + } + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "vibrate": { + "type": "function", + "value": "function vibrate() { [native code] }" + }, + "wakeLock": { + "type": "object" + }, + "webdriver": { + "type": "boolean" + }, + "webkitGetUserMedia": { + "type": "function", + "value": "function webkitGetUserMedia() { [native code] }" + }, + "webkitPersistentStorage": { + "type": "object" + }, + "webkitTemporaryStorage": { + "type": "object" + }, + "xr": { + "type": "object" + } + } + }, + "onabort": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onafterprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onappinstalled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onauxclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeinstallprompt": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforexrselect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onblur": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplaythrough": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclose": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncontextmenu": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncuechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondblclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondevicemotion": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondeviceorientation": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondeviceorientationabsolute": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrag": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrop": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondurationchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onemptied": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onended": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onfocus": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onformdata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ongotpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onhashchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninput": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninvalid": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeydown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeypress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeyup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlanguagechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadeddata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadedmetadata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlostpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessageerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousedown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousemove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousewheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onoffline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ononline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpagehide": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpageshow": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpause": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplaying": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointercancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerdown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointermove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerrawupdate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpopstate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onprogress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onratechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onrejectionhandled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onreset": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onresize": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onscroll": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsearch": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeked": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeking": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectionchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstalled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstorage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsubmit": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsuspend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontimeupdate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontoggle": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitioncancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionrun": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunhandledrejection": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvolumechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwaiting": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkittransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "open": { + "value": "function open() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "openDatabase": { + "value": "function openDatabase() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "opener": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "origin": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "originAgentCluster": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "outerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "outerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageXOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageYOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "parent": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "performance": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "clearMarks": { + "type": "function", + "value": "function clearMarks() { [native code] }" + }, + "clearMeasures": { + "type": "function", + "value": "function clearMeasures() { [native code] }" + }, + "clearResourceTimings": { + "type": "function", + "value": "function clearResourceTimings() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "eventCounts": { + "type": "object", + "properties": { + "entries": { + "type": "function", + "value": "function entries() { [native code] }" + }, + "forEach": { + "type": "function", + "value": "function forEach() { [native code] }" + }, + "get": { + "type": "function", + "value": "function get() { [native code] }" + }, + "has": { + "type": "function", + "value": "function has() { [native code] }" + }, + "keys": { + "type": "function", + "value": "function keys() { [native code] }" + }, + "size": { + "type": "number" + }, + "values": { + "type": "function", + "value": "function values() { [native code] }" + } + } + }, + "getEntries": { + "type": "function", + "value": "function getEntries() { [native code] }" + }, + "getEntriesByName": { + "type": "function", + "value": "function getEntriesByName() { [native code] }" + }, + "getEntriesByType": { + "type": "function", + "value": "function getEntriesByType() { [native code] }" + }, + "mark": { + "type": "function", + "value": "function mark() { [native code] }" + }, + "measure": { + "type": "function", + "value": "function measure() { [native code] }" + }, + "memory": { + "type": "object", + "properties": { + "jsHeapSizeLimit": { + "type": "number" + }, + "totalJSHeapSize": { + "type": "number" + }, + "usedJSHeapSize": { + "type": "number" + } + } + }, + "navigation": { + "type": "object", + "properties": { + "TYPE_BACK_FORWARD": { + "type": "number" + }, + "TYPE_NAVIGATE": { + "type": "number" + }, + "TYPE_RELOAD": { + "type": "number" + }, + "TYPE_RESERVED": { + "type": "number" + }, + "redirectCount": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + }, + "type": { + "type": "number" + } + } + }, + "now": { + "type": "function", + "value": "function now() { [native code] }" + }, + "onresourcetimingbufferfull": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "setResourceTimingBufferSize": { + "type": "function", + "value": "function setResourceTimingBufferSize() { [native code] }" + }, + "timeOrigin": { + "type": "number" + }, + "timing": { + "type": "object", + "properties": { + "connectEnd": { + "type": "number" + }, + "connectStart": { + "type": "number" + }, + "domComplete": { + "type": "number" + }, + "domContentLoadedEventEnd": { + "type": "number" + }, + "domContentLoadedEventStart": { + "type": "number" + }, + "domInteractive": { + "type": "number" + }, + "domLoading": { + "type": "number" + }, + "domainLookupEnd": { + "type": "number" + }, + "domainLookupStart": { + "type": "number" + }, + "fetchStart": { + "type": "number" + }, + "loadEventEnd": { + "type": "number" + }, + "loadEventStart": { + "type": "number" + }, + "navigationStart": { + "type": "number" + }, + "redirectEnd": { + "type": "number" + }, + "redirectStart": { + "type": "number" + }, + "requestStart": { + "type": "number" + }, + "responseEnd": { + "type": "number" + }, + "responseStart": { + "type": "number" + }, + "secureConnectionStart": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + }, + "unloadEventEnd": { + "type": "number" + }, + "unloadEventStart": { + "type": "number" + } + } + }, + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + } + } + }, + "personalbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "postMessage": { + "value": "function postMessage() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "print": { + "value": "function print() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "prompt": { + "value": "function prompt() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "queueMicrotask": { + "value": "function queueMicrotask() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "releaseEvents": { + "value": "function releaseEvents() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "requestAnimationFrame": { + "value": "function requestAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "requestIdleCallback": { + "value": "function requestIdleCallback() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeBy": { + "value": "function resizeBy() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeTo": { + "value": "function resizeTo() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "screen": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "availHeight": { + "type": "number" + }, + "availLeft": { + "type": "number" + }, + "availTop": { + "type": "number" + }, + "availWidth": { + "type": "number" + }, + "colorDepth": { + "type": "number" + }, + "height": { + "type": "number" + }, + "orientation": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "angle": { + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "lock": { + "type": "function", + "value": "function lock() { [native code] }" + }, + "onchange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "type": { + "type": "string" + }, + "unlock": { + "type": "function", + "value": "function unlock() { [native code] }" + } + } + }, + "pixelDepth": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "screenLeft": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenTop": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scroll": { + "value": "function scroll() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollBy": { + "value": "function scrollBy() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollTo": { + "value": "function scrollTo() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollbars": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "self": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "sessionStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() { [native code] }" + }, + "getItem": { + "type": "function", + "value": "function getItem() { [native code] }" + }, + "key": { + "type": "function", + "value": "function key() { [native code] }" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() { [native code] }" + }, + "setItem": { + "type": "function", + "value": "function setItem() { [native code] }" + } + } + }, + "setInterval": { + "value": "function setInterval() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "setTimeout": { + "value": "function setTimeout() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "showDirectoryPicker": { + "value": "function showDirectoryPicker() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "showOpenFilePicker": { + "value": "function showOpenFilePicker() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "showSaveFilePicker": { + "value": "function showSaveFilePicker() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "speechSynthesis": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "cancel": { + "type": "function", + "value": "function cancel() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "getVoices": { + "type": "function", + "value": "function getVoices() { [native code] }" + }, + "onvoiceschanged": { + "type": "object" + }, + "pause": { + "type": "function", + "value": "function pause() { [native code] }" + }, + "paused": { + "type": "boolean" + }, + "pending": { + "type": "boolean" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "resume": { + "type": "function", + "value": "function resume() { [native code] }" + }, + "speak": { + "type": "function", + "value": "function speak() { [native code] }" + }, + "speaking": { + "type": "boolean" + } + } + }, + "status": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "statusbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "stop": { + "value": "function stop() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "styleMedia": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "matchMedium": { + "type": "function", + "value": "function matchMedium() { [native code] }" + }, + "type": { + "type": "string" + } + } + }, + "toolbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "top": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "trustedTypes": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "createPolicy": { + "type": "function", + "value": "function createPolicy() { [native code] }" + }, + "defaultPolicy": { + "type": "object" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "emptyHTML": { + "type": "object", + "properties": { + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + }, + "toString": { + "type": "function", + "value": "function toString() { [native code] }" + } + } + }, + "emptyScript": { + "type": "object", + "properties": { + "toJSON": { + "type": "function", + "value": "function toJSON() { [native code] }" + }, + "toString": { + "type": "function", + "value": "function toString() { [native code] }" + } + } + }, + "getAttributeType": { + "type": "function", + "value": "function getAttributeType() { [native code] }" + }, + "getPropertyType": { + "type": "function", + "value": "function getPropertyType() { [native code] }" + }, + "getTypeMapping": { + "type": "function", + "value": "function getTypeMapping() { [native code] }" + }, + "isHTML": { + "type": "function", + "value": "function isHTML() { [native code] }" + }, + "isScript": { + "type": "function", + "value": "function isScript() { [native code] }" + }, + "isScriptURL": { + "type": "function", + "value": "function isScriptURL() { [native code] }" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + } + } + }, + "visualViewport": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() { [native code] }" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() { [native code] }" + }, + "height": { + "type": "number" + }, + "offsetLeft": { + "type": "number" + }, + "offsetTop": { + "type": "number" + }, + "onresize": { + "type": "object" + }, + "onscroll": { + "type": "object" + }, + "pageLeft": { + "type": "number" + }, + "pageTop": { + "type": "number" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() { [native code] }" + }, + "scale": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "webkitCancelAnimationFrame": { + "value": "function webkitCancelAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitRequestAnimationFrame": { + "value": "function webkitRequestAnimationFrame() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitRequestFileSystem": { + "value": "function webkitRequestFileSystem() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitResolveLocalFileSystemURL": { + "value": "function webkitResolveLocalFileSystemURL() { [native code] }", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitStorageInfo": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "PERSISTENT": { + "type": "number" + }, + "TEMPORARY": { + "type": "number" + }, + "queryUsageAndQuota": { + "type": "function", + "value": "function queryUsageAndQuota() { [native code] }" + }, + "requestQuota": { + "type": "function", + "value": "function requestQuota() { [native code] }" + } + } + }, + "window": { + "enumerable": true, + "configurable": false, + "type": "object" + } + } +} \ No newline at end of file diff --git a/security/browser-profiles/firefox_92.json b/security/browser-profiles/firefox_92.json new file mode 100644 index 0000000..ae8217c --- /dev/null +++ b/security/browser-profiles/firefox_92.json @@ -0,0 +1,2463 @@ +{ + "window": { + "InstallTrigger": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "CONTENT": { + "type": "number" + }, + "LOCALE": { + "type": "number" + }, + "PACKAGE": { + "type": "number" + }, + "SKIN": { + "type": "number" + }, + "enabled": { + "type": "function", + "value": "function enabled() {\n [native code]\n}" + }, + "install": { + "type": "function", + "value": "function install() {\n [native code]\n}" + }, + "installChrome": { + "type": "function", + "value": "function installChrome() {\n [native code]\n}" + }, + "startSoftwareUpdate": { + "type": "function", + "value": "function startSoftwareUpdate() {\n [native code]\n}" + }, + "updateEnabled": { + "type": "function", + "value": "function updateEnabled() {\n [native code]\n}" + } + } + }, + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "alert": { + "value": "function alert() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "atob": { + "value": "function atob() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "blur": { + "value": "function blur() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "btoa": { + "value": "function btoa() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "caches": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "delete": { + "type": "function", + "value": "function delete() {\n [native code]\n}" + }, + "has": { + "type": "function", + "value": "function has() {\n [native code]\n}" + }, + "keys": { + "type": "function", + "value": "function keys() {\n [native code]\n}" + }, + "match": { + "type": "function", + "value": "function match() {\n [native code]\n}" + }, + "open": { + "type": "function", + "value": "function open() {\n [native code]\n}" + } + } + }, + "cancelAnimationFrame": { + "value": "function cancelAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "cancelIdleCallback": { + "value": "function cancelIdleCallback() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "captureEvents": { + "value": "function captureEvents() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearInterval": { + "value": "function clearInterval() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearTimeout": { + "value": "function clearTimeout() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clientInformation": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "activeVRDisplays": { + "type": "object", + "properties": {} + }, + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "buildID": { + "type": "string" + }, + "clipboard": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "writeText": { + "type": "function", + "value": "function writeText() {\n [native code]\n}" + } + } + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object", + "properties": { + "create": { + "type": "function", + "value": "function create() {\n [native code]\n}" + }, + "get": { + "type": "function", + "value": "function get() {\n [native code]\n}" + }, + "preventSilentAccess": { + "type": "function", + "value": "function preventSilentAccess() {\n [native code]\n}" + }, + "store": { + "type": "function", + "value": "function store() {\n [native code]\n}" + } + } + }, + "doNotTrack": { + "type": "string" + }, + "geolocation": { + "type": "object", + "properties": { + "clearWatch": { + "type": "function", + "value": "function clearWatch() {\n [native code]\n}" + }, + "getCurrentPosition": { + "type": "function", + "value": "function getCurrentPosition() {\n [native code]\n}" + }, + "watchPosition": { + "type": "function", + "value": "function watchPosition() {\n [native code]\n}" + } + } + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() {\n [native code]\n}" + }, + "getVRDisplays": { + "type": "function", + "value": "function getVRDisplays() {\n [native code]\n}" + }, + "hardwareConcurrency": { + "type": "number" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() {\n [native code]\n}" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object", + "properties": { + "0": { + "value": "en-US", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + }, + "1": { + "value": "en", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object", + "properties": { + "decodingInfo": { + "type": "function", + "value": "function decodingInfo() {\n [native code]\n}" + }, + "encodingInfo": { + "type": "function", + "value": "function encodingInfo() {\n [native code]\n}" + } + } + }, + "mediaDevices": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "enumerateDevices": { + "type": "function", + "value": "function enumerateDevices() {\n [native code]\n}" + }, + "getDisplayMedia": { + "type": "function", + "value": "function getDisplayMedia() {\n [native code]\n}" + }, + "getSupportedConstraints": { + "type": "function", + "value": "function getSupportedConstraints() {\n [native code]\n}" + }, + "getUserMedia": { + "type": "function", + "value": "function getUserMedia() {\n [native code]\n}" + }, + "ondevicechange": { + "type": "object", + "properties": {} + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + } + } + }, + "mediaSession": { + "type": "object", + "properties": { + "metadata": { + "type": "object" + }, + "playbackState": { + "type": "string" + }, + "setActionHandler": { + "type": "function", + "value": "function setActionHandler() {\n [native code]\n}" + }, + "setPositionState": { + "type": "function", + "value": "function setPositionState() {\n [native code]\n}" + } + } + }, + "mimeTypes": { + "type": "object", + "properties": { + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() {\n [native code]\n}" + } + } + }, + "mozGetUserMedia": { + "type": "function", + "value": "function mozGetUserMedia() {\n [native code]\n}" + }, + "onLine": { + "type": "boolean" + }, + "oscpu": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "query": { + "type": "function", + "value": "function query() {\n [native code]\n}" + } + } + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object", + "properties": { + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() {\n [native code]\n}" + }, + "refresh": { + "type": "function", + "value": "function refresh() {\n [native code]\n}" + } + } + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "registerProtocolHandler": { + "type": "function", + "value": "function registerProtocolHandler() {\n [native code]\n}" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() {\n [native code]\n}" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() {\n [native code]\n}" + }, + "serviceWorker": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "controller": { + "type": "object" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "getRegistration": { + "type": "function", + "value": "function getRegistration() {\n [native code]\n}" + }, + "getRegistrations": { + "type": "function", + "value": "function getRegistrations() {\n [native code]\n}" + }, + "oncontrollerchange": { + "type": "object" + }, + "onerror": { + "type": "object" + }, + "onmessage": { + "type": "object" + }, + "onmessageerror": { + "type": "object" + }, + "ready": { + "type": "object", + "properties": {} + }, + "register": { + "type": "function", + "value": "function register() {\n [native code]\n}" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "startMessages": { + "type": "function", + "value": "function startMessages() {\n [native code]\n}" + } + } + }, + "storage": { + "type": "object", + "properties": { + "estimate": { + "type": "function", + "value": "function estimate() {\n [native code]\n}" + }, + "persist": { + "type": "function", + "value": "function persist() {\n [native code]\n}" + }, + "persisted": { + "type": "function", + "value": "function persisted() {\n [native code]\n}" + } + } + }, + "taintEnabled": { + "type": "function", + "value": "function taintEnabled() {\n [native code]\n}" + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "vibrate": { + "type": "function", + "value": "function vibrate() {\n [native code]\n}" + }, + "webdriver": { + "type": "boolean" + } + } + }, + "close": { + "value": "function close() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "closed": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "confirm": { + "value": "function confirm() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "createImageBitmap": { + "value": "function createImageBitmap() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "crossOriginIsolated": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "crypto": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "getRandomValues": { + "type": "function", + "value": "function getRandomValues() {\n [native code]\n}" + }, + "subtle": { + "type": "object", + "properties": { + "decrypt": { + "type": "function", + "value": "function decrypt() {\n [native code]\n}" + }, + "deriveBits": { + "type": "function", + "value": "function deriveBits() {\n [native code]\n}" + }, + "deriveKey": { + "type": "function", + "value": "function deriveKey() {\n [native code]\n}" + }, + "digest": { + "type": "function", + "value": "function digest() {\n [native code]\n}" + }, + "encrypt": { + "type": "function", + "value": "function encrypt() {\n [native code]\n}" + }, + "exportKey": { + "type": "function", + "value": "function exportKey() {\n [native code]\n}" + }, + "generateKey": { + "type": "function", + "value": "function generateKey() {\n [native code]\n}" + }, + "importKey": { + "type": "function", + "value": "function importKey() {\n [native code]\n}" + }, + "sign": { + "type": "function", + "value": "function sign() {\n [native code]\n}" + }, + "unwrapKey": { + "type": "function", + "value": "function unwrapKey() {\n [native code]\n}" + }, + "verify": { + "type": "function", + "value": "function verify() {\n [native code]\n}" + }, + "wrapKey": { + "type": "function", + "value": "function wrapKey() {\n [native code]\n}" + } + } + } + } + }, + "customElements": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "define": { + "type": "function", + "value": "function define() {\n [native code]\n}" + }, + "get": { + "type": "function", + "value": "function get() {\n [native code]\n}" + }, + "upgrade": { + "type": "function", + "value": "function upgrade() {\n [native code]\n}" + }, + "whenDefined": { + "type": "function", + "value": "function whenDefined() {\n [native code]\n}" + } + } + }, + "devicePixelRatio": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "document": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "dump": { + "value": "function dump() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "event": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "ALT_MASK": { + "type": "number" + }, + "AT_TARGET": { + "type": "number" + }, + "BUBBLING_PHASE": { + "type": "number" + }, + "CAPTURING_PHASE": { + "type": "number" + }, + "CONTROL_MASK": { + "type": "number" + }, + "META_MASK": { + "type": "number" + }, + "NONE": { + "type": "number" + }, + "SHIFT_MASK": { + "type": "number" + }, + "bubbles": { + "type": "boolean" + }, + "cancelBubble": { + "type": "boolean" + }, + "cancelable": { + "type": "boolean" + }, + "composed": { + "type": "boolean" + }, + "composedPath": { + "type": "function", + "value": "function composedPath() {\n [native code]\n}" + }, + "currentTarget": { + "type": "object" + }, + "defaultPrevented": { + "type": "boolean" + }, + "eventPhase": { + "type": "number" + }, + "explicitOriginalTarget": { + "type": "object" + }, + "initEvent": { + "type": "function", + "value": "function initEvent() {\n [native code]\n}" + }, + "isTrusted": { + "enumerable": true, + "configurable": false, + "type": "boolean" + }, + "originalTarget": { + "type": "object" + }, + "preventDefault": { + "type": "function", + "value": "function preventDefault() {\n [native code]\n}" + }, + "returnValue": { + "type": "boolean" + }, + "srcElement": { + "type": "object" + }, + "stopImmediatePropagation": { + "type": "function", + "value": "function stopImmediatePropagation() {\n [native code]\n}" + }, + "stopPropagation": { + "type": "function", + "value": "function stopPropagation() {\n [native code]\n}" + }, + "target": { + "type": "object" + }, + "timeStamp": { + "type": "number" + }, + "type": { + "type": "string" + } + } + }, + "external": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "AddSearchProvider": { + "type": "function", + "value": "function AddSearchProvider() {\n [native code]\n}" + }, + "IsSearchProviderInstalled": { + "type": "function", + "value": "function IsSearchProviderInstalled() {\n [native code]\n}" + } + } + }, + "fetch": { + "value": "function fetch() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "find": { + "value": "function find() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "focus": { + "value": "function focus() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "frameElement": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "frames": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "fullScreen": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "getComputedStyle": { + "value": "function getComputedStyle() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getDefaultComputedStyle": { + "value": "function getDefaultComputedStyle() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getSelection": { + "value": "function getSelection() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "history": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "back": { + "type": "function", + "value": "function back() {\n [native code]\n}" + }, + "forward": { + "type": "function", + "value": "function forward() {\n [native code]\n}" + }, + "go": { + "type": "function", + "value": "function go() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "pushState": { + "type": "function", + "value": "function pushState() {\n [native code]\n}" + }, + "replaceState": { + "type": "function", + "value": "function replaceState() {\n [native code]\n}" + }, + "scrollRestoration": { + "type": "string" + }, + "state": { + "type": "object" + } + } + }, + "indexedDB": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "cmp": { + "type": "function", + "value": "function cmp() {\n [native code]\n}" + }, + "deleteDatabase": { + "type": "function", + "value": "function deleteDatabase() {\n [native code]\n}" + }, + "open": { + "type": "function", + "value": "function open() {\n [native code]\n}" + } + } + }, + "innerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "innerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "isSecureContext": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "length": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "localStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() {\n [native code]\n}" + }, + "getItem": { + "type": "function", + "value": "function getItem() {\n [native code]\n}" + }, + "key": { + "type": "function", + "value": "function key() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() {\n [native code]\n}" + }, + "setItem": { + "type": "function", + "value": "function setItem() {\n [native code]\n}" + } + } + }, + "location": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "assign": { + "value": "function assign() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "hash": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "host": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "hostname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "href": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "origin": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "pathname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "port": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "protocol": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "reload": { + "value": "function reload() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "replace": { + "value": "function replace() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "search": { + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "locationbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "matchMedia": { + "value": "function matchMedia() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "menubar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "moveBy": { + "value": "function moveBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "moveTo": { + "value": "function moveTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "mozInnerScreenX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "mozInnerScreenY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "name": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "navigator": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "activeVRDisplays": { + "type": "object" + }, + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "buildID": { + "type": "string" + }, + "clipboard": { + "type": "object" + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object" + }, + "doNotTrack": { + "type": "string" + }, + "geolocation": { + "type": "object" + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() {\n [native code]\n}" + }, + "getVRDisplays": { + "type": "function", + "value": "function getVRDisplays() {\n [native code]\n}" + }, + "hardwareConcurrency": { + "type": "number" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() {\n [native code]\n}" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object" + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object" + }, + "mediaDevices": { + "type": "object" + }, + "mediaSession": { + "type": "object" + }, + "mimeTypes": { + "type": "object" + }, + "mozGetUserMedia": { + "type": "function", + "value": "function mozGetUserMedia() {\n [native code]\n}" + }, + "onLine": { + "type": "boolean" + }, + "oscpu": { + "type": "string" + }, + "permissions": { + "type": "object" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object" + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "registerProtocolHandler": { + "type": "function", + "value": "function registerProtocolHandler() {\n [native code]\n}" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() {\n [native code]\n}" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() {\n [native code]\n}" + }, + "serviceWorker": { + "type": "object" + }, + "storage": { + "type": "object" + }, + "taintEnabled": { + "type": "function", + "value": "function taintEnabled() {\n [native code]\n}" + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "vibrate": { + "type": "function", + "value": "function vibrate() {\n [native code]\n}" + }, + "webdriver": { + "type": "boolean" + } + } + }, + "onabort": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onabsolutedeviceorientation": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onafterprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationcancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onauxclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeinput": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onblur": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplaythrough": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclose": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncontextmenu": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncuechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondblclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondevicemotion": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondeviceorientation": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrag": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragexit": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrop": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondurationchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onemptied": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onended": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onfocus": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onformdata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ongamepadconnected": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ongamepaddisconnected": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ongotpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onhashchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninput": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninvalid": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeydown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeypress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeyup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlanguagechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadeddata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadedmetadata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlostpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessageerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousedown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousemove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmozfullscreenchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmozfullscreenerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onoffline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ononline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpagehide": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpageshow": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpause": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplaying": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointercancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerdown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointermove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpopstate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onprogress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onratechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onrejectionhandled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onreset": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onresize": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onscroll": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeked": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeking": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectionchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstalled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstorage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsubmit": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsuspend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontimeupdate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontoggle": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitioncancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionrun": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunhandledrejection": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvolumechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvrdisplayactivate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvrdisplayconnect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvrdisplaydeactivate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvrdisplaydisconnect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvrdisplaypresentchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwaiting": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkittransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "open": { + "value": "function open() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "opener": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "origin": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "outerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "outerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageXOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageYOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "parent": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "performance": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "clearMarks": { + "type": "function", + "value": "function clearMarks() {\n [native code]\n}" + }, + "clearMeasures": { + "type": "function", + "value": "function clearMeasures() {\n [native code]\n}" + }, + "clearResourceTimings": { + "type": "function", + "value": "function clearResourceTimings() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "eventCounts": { + "type": "object", + "properties": {} + }, + "getEntries": { + "type": "function", + "value": "function getEntries() {\n [native code]\n}" + }, + "getEntriesByName": { + "type": "function", + "value": "function getEntriesByName() {\n [native code]\n}" + }, + "getEntriesByType": { + "type": "function", + "value": "function getEntriesByType() {\n [native code]\n}" + }, + "mark": { + "type": "function", + "value": "function mark() {\n [native code]\n}" + }, + "measure": { + "type": "function", + "value": "function measure() {\n [native code]\n}" + }, + "navigation": { + "type": "object", + "properties": { + "TYPE_BACK_FORWARD": { + "type": "number" + }, + "TYPE_NAVIGATE": { + "type": "number" + }, + "TYPE_RELOAD": { + "type": "number" + }, + "TYPE_RESERVED": { + "type": "number" + }, + "redirectCount": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + }, + "type": { + "type": "number" + } + } + }, + "now": { + "type": "function", + "value": "function now() {\n [native code]\n}" + }, + "onresourcetimingbufferfull": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "setResourceTimingBufferSize": { + "type": "function", + "value": "function setResourceTimingBufferSize() {\n [native code]\n}" + }, + "timeOrigin": { + "type": "number" + }, + "timing": { + "type": "object", + "properties": { + "connectEnd": { + "type": "number" + }, + "connectStart": { + "type": "number" + }, + "domComplete": { + "type": "number" + }, + "domContentLoadedEventEnd": { + "type": "number" + }, + "domContentLoadedEventStart": { + "type": "number" + }, + "domInteractive": { + "type": "number" + }, + "domLoading": { + "type": "number" + }, + "domainLookupEnd": { + "type": "number" + }, + "domainLookupStart": { + "type": "number" + }, + "fetchStart": { + "type": "number" + }, + "loadEventEnd": { + "type": "number" + }, + "loadEventStart": { + "type": "number" + }, + "navigationStart": { + "type": "number" + }, + "redirectEnd": { + "type": "number" + }, + "redirectStart": { + "type": "number" + }, + "requestStart": { + "type": "number" + }, + "responseEnd": { + "type": "number" + }, + "responseStart": { + "type": "number" + }, + "secureConnectionStart": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + }, + "unloadEventEnd": { + "type": "number" + }, + "unloadEventStart": { + "type": "number" + } + } + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + } + } + }, + "personalbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "postMessage": { + "value": "function postMessage() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "print": { + "value": "function print() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "prompt": { + "value": "function prompt() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "queueMicrotask": { + "value": "function queueMicrotask() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "releaseEvents": { + "value": "function releaseEvents() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "requestAnimationFrame": { + "value": "function requestAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "requestIdleCallback": { + "value": "function requestIdleCallback() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeBy": { + "value": "function resizeBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeTo": { + "value": "function resizeTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "screen": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "availHeight": { + "type": "number" + }, + "availLeft": { + "type": "number" + }, + "availTop": { + "type": "number" + }, + "availWidth": { + "type": "number" + }, + "colorDepth": { + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "height": { + "type": "number" + }, + "left": { + "type": "number" + }, + "mozLockOrientation": { + "type": "function", + "value": "function mozLockOrientation() {\n [native code]\n}" + }, + "mozOrientation": { + "type": "string" + }, + "mozUnlockOrientation": { + "type": "function", + "value": "function mozUnlockOrientation() {\n [native code]\n}" + }, + "onmozorientationchange": { + "type": "object" + }, + "orientation": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "angle": { + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "lock": { + "type": "function", + "value": "function lock() {\n [native code]\n}" + }, + "onchange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "type": { + "type": "string" + }, + "unlock": { + "type": "function", + "value": "function unlock() {\n [native code]\n}" + } + } + }, + "pixelDepth": { + "type": "number" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "top": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "screenLeft": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenTop": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scroll": { + "value": "function scroll() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollBy": { + "value": "function scrollBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollByLines": { + "value": "function scrollByLines() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollByPages": { + "value": "function scrollByPages() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollMaxX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollMaxY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollTo": { + "value": "function scrollTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollbars": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "self": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "sessionStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() {\n [native code]\n}" + }, + "getItem": { + "type": "function", + "value": "function getItem() {\n [native code]\n}" + }, + "key": { + "type": "function", + "value": "function key() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() {\n [native code]\n}" + }, + "setItem": { + "type": "function", + "value": "function setItem() {\n [native code]\n}" + } + } + }, + "setInterval": { + "value": "function setInterval() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "setResizable": { + "value": "function setResizable() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "setTimeout": { + "value": "function setTimeout() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "sizeToContent": { + "value": "function sizeToContent() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "speechSynthesis": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "cancel": { + "type": "function", + "value": "function cancel() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "getVoices": { + "type": "function", + "value": "function getVoices() {\n [native code]\n}" + }, + "onvoiceschanged": { + "type": "object" + }, + "pause": { + "type": "function", + "value": "function pause() {\n [native code]\n}" + }, + "paused": { + "type": "boolean" + }, + "pending": { + "type": "boolean" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "resume": { + "type": "function", + "value": "function resume() {\n [native code]\n}" + }, + "speak": { + "type": "function", + "value": "function speak() {\n [native code]\n}" + }, + "speaking": { + "type": "boolean" + } + } + }, + "status": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "statusbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "stop": { + "value": "function stop() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "toolbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "top": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "u2f": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "BAD_REQUEST": { + "type": "number" + }, + "CONFIGURATION_UNSUPPORTED": { + "type": "number" + }, + "DEVICE_INELIGIBLE": { + "type": "number" + }, + "OK": { + "type": "number" + }, + "OTHER_ERROR": { + "type": "number" + }, + "TIMEOUT": { + "type": "number" + }, + "register": { + "type": "function", + "value": "function register() {\n [native code]\n}" + }, + "sign": { + "type": "function", + "value": "function sign() {\n [native code]\n}" + } + } + }, + "updateCommands": { + "value": "function updateCommands() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "visualViewport": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "height": { + "type": "number" + }, + "offsetLeft": { + "type": "number" + }, + "offsetTop": { + "type": "number" + }, + "onresize": { + "type": "object" + }, + "onscroll": { + "type": "object" + }, + "pageLeft": { + "type": "number" + }, + "pageTop": { + "type": "number" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "scale": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "window": { + "enumerable": true, + "configurable": false, + "type": "object" + } + } +} \ No newline at end of file diff --git a/security/browser-profiles/safari_14.json b/security/browser-profiles/safari_14.json new file mode 100644 index 0000000..0d121a2 --- /dev/null +++ b/security/browser-profiles/safari_14.json @@ -0,0 +1,2256 @@ +{ + "window": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "alert": { + "value": "function alert() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "applicationCache": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "CHECKING": { + "type": "number" + }, + "DOWNLOADING": { + "type": "number" + }, + "IDLE": { + "type": "number" + }, + "OBSOLETE": { + "type": "number" + }, + "UNCACHED": { + "type": "number" + }, + "UPDATEREADY": { + "type": "number" + }, + "abort": { + "type": "function", + "value": "function abort() {\n [native code]\n}" + }, + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "oncached": { + "type": "object", + "properties": {} + }, + "onchecking": { + "type": "object" + }, + "ondownloading": { + "type": "object" + }, + "onerror": { + "type": "object" + }, + "onnoupdate": { + "type": "object" + }, + "onobsolete": { + "type": "object" + }, + "onprogress": { + "type": "object" + }, + "onupdateready": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "status": { + "type": "number" + }, + "swapCache": { + "type": "function", + "value": "function swapCache() {\n [native code]\n}" + }, + "update": { + "type": "function", + "value": "function update() {\n [native code]\n}" + } + } + }, + "atob": { + "value": "function atob() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "blur": { + "value": "function blur() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "btoa": { + "value": "function btoa() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "cancelAnimationFrame": { + "value": "function cancelAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "captureEvents": { + "value": "function captureEvents() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearInterval": { + "value": "function clearInterval() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearTimeout": { + "value": "function clearTimeout() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clientInformation": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "canShare": { + "type": "function", + "value": "function canShare() {\n [native code]\n}" + }, + "clipboard": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "read": { + "type": "function", + "value": "function read() {\n [native code]\n}" + }, + "readText": { + "type": "function", + "value": "function readText() {\n [native code]\n}" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "write": { + "type": "function", + "value": "function write() {\n [native code]\n}" + }, + "writeText": { + "type": "function", + "value": "function writeText() {\n [native code]\n}" + } + } + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object", + "properties": { + "create": { + "type": "function", + "value": "function create() {\n [native code]\n}" + }, + "get": { + "type": "function", + "value": "function get() {\n [native code]\n}" + }, + "preventSilentAccess": { + "type": "function", + "value": "function preventSilentAccess() {\n [native code]\n}" + }, + "store": { + "type": "function", + "value": "function store() {\n [native code]\n}" + } + } + }, + "geolocation": { + "type": "object", + "properties": { + "clearWatch": { + "type": "function", + "value": "function clearWatch() {\n [native code]\n}" + }, + "getCurrentPosition": { + "type": "function", + "value": "function getCurrentPosition() {\n [native code]\n}" + }, + "watchPosition": { + "type": "function", + "value": "function watchPosition() {\n [native code]\n}" + } + } + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() {\n [native code]\n}" + }, + "getStorageUpdates": { + "type": "function", + "value": "function getStorageUpdates() {\n [native code]\n}" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() {\n [native code]\n}" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object", + "properties": { + "0": { + "value": "en-gb", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object", + "properties": { + "decodingInfo": { + "type": "function", + "value": "function decodingInfo() {\n [native code]\n}" + } + } + }, + "mediaDevices": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "enumerateDevices": { + "type": "function", + "value": "function enumerateDevices() {\n [native code]\n}" + }, + "getDisplayMedia": { + "type": "function", + "value": "function getDisplayMedia() {\n [native code]\n}" + }, + "getSupportedConstraints": { + "type": "function", + "value": "function getSupportedConstraints() {\n [native code]\n}" + }, + "getUserMedia": { + "type": "function", + "value": "function getUserMedia() {\n [native code]\n}" + }, + "ondevicechange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + } + } + }, + "mimeTypes": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "enabledPlugin": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "1": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": {} + }, + "2": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": {} + }, + "description": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "name": { + "type": "string" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() {\n [native code]\n}" + } + } + }, + "suffixes": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "1": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "2": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() {\n [native code]\n}" + } + } + }, + "onLine": { + "type": "boolean" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object", + "properties": { + "0": { + "writable": false, + "enumerable": true, + "configurable": true, + "type": "object" + }, + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() {\n [native code]\n}" + }, + "refresh": { + "type": "function", + "value": "function refresh() {\n [native code]\n}" + } + } + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() {\n [native code]\n}" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() {\n [native code]\n}" + }, + "serviceWorker": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "controller": { + "type": "object" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "getRegistration": { + "type": "function", + "value": "function getRegistration() {\n [native code]\n}" + }, + "getRegistrations": { + "type": "function", + "value": "function getRegistrations() {\n [native code]\n}" + }, + "oncontrollerchange": { + "type": "object" + }, + "onmessage": { + "type": "object" + }, + "onmessageerror": { + "type": "object" + }, + "ready": { + "type": "object", + "properties": {} + }, + "register": { + "type": "function", + "value": "function register() {\n [native code]\n}" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "startMessages": { + "type": "function", + "value": "function startMessages() {\n [native code]\n}" + } + } + }, + "share": { + "type": "function", + "value": "function share() {\n [native code]\n}" + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "webdriver": { + "type": "boolean" + } + } + }, + "close": { + "value": "function close() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "closed": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "confirm": { + "value": "function confirm() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "crypto": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "getRandomValues": { + "type": "function", + "value": "function getRandomValues() {\n [native code]\n}" + }, + "subtle": { + "type": "object", + "properties": { + "decrypt": { + "type": "function", + "value": "function decrypt() {\n [native code]\n}" + }, + "deriveBits": { + "type": "function", + "value": "function deriveBits() {\n [native code]\n}" + }, + "deriveKey": { + "type": "function", + "value": "function deriveKey() {\n [native code]\n}" + }, + "digest": { + "type": "function", + "value": "function digest() {\n [native code]\n}" + }, + "encrypt": { + "type": "function", + "value": "function encrypt() {\n [native code]\n}" + }, + "exportKey": { + "type": "function", + "value": "function exportKey() {\n [native code]\n}" + }, + "generateKey": { + "type": "function", + "value": "function generateKey() {\n [native code]\n}" + }, + "importKey": { + "type": "function", + "value": "function importKey() {\n [native code]\n}" + }, + "sign": { + "type": "function", + "value": "function sign() {\n [native code]\n}" + }, + "unwrapKey": { + "type": "function", + "value": "function unwrapKey() {\n [native code]\n}" + }, + "verify": { + "type": "function", + "value": "function verify() {\n [native code]\n}" + }, + "wrapKey": { + "type": "function", + "value": "function wrapKey() {\n [native code]\n}" + } + } + } + } + }, + "customElements": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "define": { + "type": "function", + "value": "function define() {\n [native code]\n}" + }, + "get": { + "type": "function", + "value": "function get() {\n [native code]\n}" + }, + "upgrade": { + "type": "function", + "value": "function upgrade() {\n [native code]\n}" + }, + "whenDefined": { + "type": "function", + "value": "function whenDefined() {\n [native code]\n}" + } + } + }, + "defaultStatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "defaultstatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "devicePixelRatio": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "document": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "event": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "AT_TARGET": { + "type": "number" + }, + "BUBBLING_PHASE": { + "type": "number" + }, + "CAPTURING_PHASE": { + "type": "number" + }, + "NONE": { + "type": "number" + }, + "bubbles": { + "type": "boolean" + }, + "cancelBubble": { + "type": "boolean" + }, + "cancelable": { + "type": "boolean" + }, + "composed": { + "type": "boolean" + }, + "composedPath": { + "type": "function", + "value": "function composedPath() {\n [native code]\n}" + }, + "currentTarget": { + "type": "object" + }, + "defaultPrevented": { + "type": "boolean" + }, + "eventPhase": { + "type": "number" + }, + "initEvent": { + "type": "function", + "value": "function initEvent() {\n [native code]\n}" + }, + "isTrusted": { + "enumerable": true, + "configurable": false, + "type": "boolean" + }, + "preventDefault": { + "type": "function", + "value": "function preventDefault() {\n [native code]\n}" + }, + "returnValue": { + "type": "boolean" + }, + "srcElement": { + "type": "object" + }, + "stopImmediatePropagation": { + "type": "function", + "value": "function stopImmediatePropagation() {\n [native code]\n}" + }, + "stopPropagation": { + "type": "function", + "value": "function stopPropagation() {\n [native code]\n}" + }, + "target": { + "type": "object" + }, + "timeStamp": { + "type": "number" + }, + "type": { + "type": "string" + } + } + }, + "fetch": { + "value": "function fetch() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "find": { + "value": "function find() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "focus": { + "value": "function focus() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "frameElement": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "frames": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "getComputedStyle": { + "value": "function getComputedStyle() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getMatchedCSSRules": { + "value": "function getMatchedCSSRules() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getSelection": { + "value": "function getSelection() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "history": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "back": { + "type": "function", + "value": "function back() {\n [native code]\n}" + }, + "forward": { + "type": "function", + "value": "function forward() {\n [native code]\n}" + }, + "go": { + "type": "function", + "value": "function go() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "pushState": { + "type": "function", + "value": "function pushState() {\n [native code]\n}" + }, + "replaceState": { + "type": "function", + "value": "function replaceState() {\n [native code]\n}" + }, + "scrollRestoration": { + "type": "string" + }, + "state": { + "type": "object" + } + } + }, + "indexedDB": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "cmp": { + "type": "function", + "value": "function cmp() {\n [native code]\n}" + }, + "databases": { + "type": "function", + "value": "function databases() {\n [native code]\n}" + }, + "deleteDatabase": { + "type": "function", + "value": "function deleteDatabase() {\n [native code]\n}" + }, + "open": { + "type": "function", + "value": "function open() {\n [native code]\n}" + } + } + }, + "innerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "innerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "isSecureContext": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "length": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "localStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() {\n [native code]\n}" + }, + "getItem": { + "type": "function", + "value": "function getItem() {\n [native code]\n}" + }, + "key": { + "type": "function", + "value": "function key() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() {\n [native code]\n}" + }, + "setItem": { + "type": "function", + "value": "function setItem() {\n [native code]\n}" + } + } + }, + "location": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "ancestorOrigins": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "contains": { + "type": "function", + "value": "function contains() {\n [native code]\n}" + }, + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + } + } + }, + "assign": { + "value": "function assign() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "hash": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "host": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "hostname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "href": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "origin": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "pathname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "port": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "protocol": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "reload": { + "value": "function reload() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "replace": { + "value": "function replace() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "search": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "toString": { + "value": "function toString() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + } + } + }, + "locationbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "matchMedia": { + "value": "function matchMedia() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "menubar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "moveBy": { + "value": "function moveBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "moveTo": { + "value": "function moveTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "name": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "navigator": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "canShare": { + "type": "function", + "value": "function canShare() {\n [native code]\n}" + }, + "clipboard": { + "type": "object" + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object" + }, + "geolocation": { + "type": "object" + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() {\n [native code]\n}" + }, + "getStorageUpdates": { + "type": "function", + "value": "function getStorageUpdates() {\n [native code]\n}" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() {\n [native code]\n}" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object", + "properties": { + "0": { + "value": "en-gb", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object" + }, + "mediaDevices": { + "type": "object" + }, + "mimeTypes": { + "type": "object" + }, + "onLine": { + "type": "boolean" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object" + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() {\n [native code]\n}" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() {\n [native code]\n}" + }, + "serviceWorker": { + "type": "object" + }, + "share": { + "type": "function", + "value": "function share() {\n [native code]\n}" + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "webdriver": { + "type": "boolean" + } + } + }, + "offscreenBuffering": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "onabort": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onafterprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationcancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onblur": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplaythrough": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncontextmenu": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncuechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondblclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrag": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrop": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondurationchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onemptied": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onended": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onfocus": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ongotpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onhashchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninput": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninvalid": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeydown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeypress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeyup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlanguagechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadeddata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadedmetadata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlostpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousedown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousemove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousewheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onoffline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ononline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpagehide": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpageshow": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpause": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplaying": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointercancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerdown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointermove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpopstate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onprogress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onratechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onrejectionhandled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onreset": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onresize": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onscroll": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeked": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeking": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectionchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onslotchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstalled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstorage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsubmit": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsuspend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontimeupdate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontoggle": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitioncancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionrun": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunhandledrejection": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvolumechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwaiting": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkittransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "open": { + "value": "function open() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "opener": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "origin": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "outerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "outerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageXOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageYOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "parent": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "performance": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "clearMarks": { + "type": "function", + "value": "function clearMarks() {\n [native code]\n}" + }, + "clearMeasures": { + "type": "function", + "value": "function clearMeasures() {\n [native code]\n}" + }, + "clearResourceTimings": { + "type": "function", + "value": "function clearResourceTimings() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "getEntries": { + "type": "function", + "value": "function getEntries() {\n [native code]\n}" + }, + "getEntriesByName": { + "type": "function", + "value": "function getEntriesByName() {\n [native code]\n}" + }, + "getEntriesByType": { + "type": "function", + "value": "function getEntriesByType() {\n [native code]\n}" + }, + "mark": { + "type": "function", + "value": "function mark() {\n [native code]\n}" + }, + "measure": { + "type": "function", + "value": "function measure() {\n [native code]\n}" + }, + "navigation": { + "type": "object", + "properties": { + "TYPE_BACK_FORWARD": { + "type": "number" + }, + "TYPE_NAVIGATE": { + "type": "number" + }, + "TYPE_RELOAD": { + "type": "number" + }, + "TYPE_RESERVED": { + "type": "number" + }, + "redirectCount": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + }, + "type": { + "type": "number" + } + } + }, + "now": { + "type": "function", + "value": "function now() {\n [native code]\n}" + }, + "onresourcetimingbufferfull": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "setResourceTimingBufferSize": { + "type": "function", + "value": "function setResourceTimingBufferSize() {\n [native code]\n}" + }, + "timing": { + "type": "object", + "properties": { + "connectEnd": { + "type": "number" + }, + "connectStart": { + "type": "number" + }, + "domComplete": { + "type": "number" + }, + "domContentLoadedEventEnd": { + "type": "number" + }, + "domContentLoadedEventStart": { + "type": "number" + }, + "domInteractive": { + "type": "number" + }, + "domLoading": { + "type": "number" + }, + "domainLookupEnd": { + "type": "number" + }, + "domainLookupStart": { + "type": "number" + }, + "fetchStart": { + "type": "number" + }, + "loadEventEnd": { + "type": "number" + }, + "loadEventStart": { + "type": "number" + }, + "navigationStart": { + "type": "number" + }, + "redirectEnd": { + "type": "number" + }, + "redirectStart": { + "type": "number" + }, + "requestStart": { + "type": "number" + }, + "responseEnd": { + "type": "number" + }, + "responseStart": { + "type": "number" + }, + "secureConnectionStart": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + }, + "unloadEventEnd": { + "type": "number" + }, + "unloadEventStart": { + "type": "number" + } + } + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + } + } + }, + "personalbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "postMessage": { + "value": "function postMessage() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "print": { + "value": "function print() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "prompt": { + "value": "function prompt() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "queueMicrotask": { + "value": "function queueMicrotask() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "releaseEvents": { + "value": "function releaseEvents() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "requestAnimationFrame": { + "value": "function requestAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeBy": { + "value": "function resizeBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeTo": { + "value": "function resizeTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "safari": { + "writable": true, + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "pushNotification": { + "writable": false, + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "permission": { + "type": "function", + "value": "function permission() {\n [native code]\n}" + }, + "requestPermission": { + "type": "function", + "value": "function requestPermission() {\n [native code]\n}" + } + } + } + } + }, + "screen": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "availHeight": { + "type": "number" + }, + "availLeft": { + "type": "number" + }, + "availTop": { + "type": "number" + }, + "availWidth": { + "type": "number" + }, + "colorDepth": { + "type": "number" + }, + "height": { + "type": "number" + }, + "pixelDepth": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "screenLeft": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenTop": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scroll": { + "value": "function scroll() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollBy": { + "value": "function scrollBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollTo": { + "value": "function scrollTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollbars": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "self": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "sessionStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() {\n [native code]\n}" + }, + "getItem": { + "type": "function", + "value": "function getItem() {\n [native code]\n}" + }, + "key": { + "type": "function", + "value": "function key() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() {\n [native code]\n}" + }, + "setItem": { + "type": "function", + "value": "function setItem() {\n [native code]\n}" + } + } + }, + "setInterval": { + "value": "function setInterval() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "setTimeout": { + "value": "function setTimeout() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "showModalDialog": { + "value": "function showModalDialog() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "speechSynthesis": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "cancel": { + "type": "function", + "value": "function cancel() {\n [native code]\n}" + }, + "getVoices": { + "type": "function", + "value": "function getVoices() {\n [native code]\n}" + }, + "pause": { + "type": "function", + "value": "function pause() {\n [native code]\n}" + }, + "paused": { + "type": "boolean" + }, + "pending": { + "type": "boolean" + }, + "resume": { + "type": "function", + "value": "function resume() {\n [native code]\n}" + }, + "speak": { + "type": "function", + "value": "function speak() {\n [native code]\n}" + }, + "speaking": { + "type": "boolean" + } + } + }, + "status": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "statusbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "stop": { + "value": "function stop() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "styleMedia": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "matchMedium": { + "type": "function", + "value": "function matchMedium() {\n [native code]\n}" + }, + "type": { + "type": "string" + } + } + }, + "toolbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "top": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "visualViewport": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "height": { + "type": "number" + }, + "offsetLeft": { + "type": "number" + }, + "offsetTop": { + "type": "number" + }, + "onresize": { + "type": "object" + }, + "onscroll": { + "type": "object" + }, + "pageLeft": { + "type": "number" + }, + "pageTop": { + "type": "number" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "scale": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "webkitCancelAnimationFrame": { + "value": "function webkitCancelAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitCancelRequestAnimationFrame": { + "value": "function webkitCancelRequestAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitConvertPointFromNodeToPage": { + "value": "function webkitConvertPointFromNodeToPage() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitConvertPointFromPageToNode": { + "value": "function webkitConvertPointFromPageToNode() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitIndexedDB": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "webkitRequestAnimationFrame": { + "value": "function webkitRequestAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "window": { + "enumerable": true, + "configurable": false, + "type": "object" + } + } +} \ No newline at end of file diff --git a/security/browser-profiles/safari_14_ios.json b/security/browser-profiles/safari_14_ios.json new file mode 100644 index 0000000..1026a2c --- /dev/null +++ b/security/browser-profiles/safari_14_ios.json @@ -0,0 +1,2184 @@ +{ + "window": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "alert": { + "value": "function alert() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "applicationCache": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "CHECKING": { + "type": "number" + }, + "DOWNLOADING": { + "type": "number" + }, + "IDLE": { + "type": "number" + }, + "OBSOLETE": { + "type": "number" + }, + "UNCACHED": { + "type": "number" + }, + "UPDATEREADY": { + "type": "number" + }, + "abort": { + "type": "function", + "value": "function abort() {\n [native code]\n}" + }, + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "oncached": { + "type": "object", + "properties": {} + }, + "onchecking": { + "type": "object" + }, + "ondownloading": { + "type": "object" + }, + "onerror": { + "type": "object" + }, + "onnoupdate": { + "type": "object" + }, + "onobsolete": { + "type": "object" + }, + "onprogress": { + "type": "object" + }, + "onupdateready": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "status": { + "type": "number" + }, + "swapCache": { + "type": "function", + "value": "function swapCache() {\n [native code]\n}" + }, + "update": { + "type": "function", + "value": "function update() {\n [native code]\n}" + } + } + }, + "atob": { + "value": "function atob() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "blur": { + "value": "function blur() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "btoa": { + "value": "function btoa() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "caches": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "delete": { + "type": "function", + "value": "function delete() {\n [native code]\n}" + }, + "has": { + "type": "function", + "value": "function has() {\n [native code]\n}" + }, + "keys": { + "type": "function", + "value": "function keys() {\n [native code]\n}" + }, + "match": { + "type": "function", + "value": "function match() {\n [native code]\n}" + }, + "open": { + "type": "function", + "value": "function open() {\n [native code]\n}" + } + } + }, + "cancelAnimationFrame": { + "value": "function cancelAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "captureEvents": { + "value": "function captureEvents() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearInterval": { + "value": "function clearInterval() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clearTimeout": { + "value": "function clearTimeout() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "clientInformation": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "canShare": { + "type": "function", + "value": "function canShare() {\n [native code]\n}" + }, + "clipboard": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "read": { + "type": "function", + "value": "function read() {\n [native code]\n}" + }, + "readText": { + "type": "function", + "value": "function readText() {\n [native code]\n}" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "write": { + "type": "function", + "value": "function write() {\n [native code]\n}" + }, + "writeText": { + "type": "function", + "value": "function writeText() {\n [native code]\n}" + } + } + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object", + "properties": { + "create": { + "type": "function", + "value": "function create() {\n [native code]\n}" + }, + "get": { + "type": "function", + "value": "function get() {\n [native code]\n}" + }, + "preventSilentAccess": { + "type": "function", + "value": "function preventSilentAccess() {\n [native code]\n}" + }, + "store": { + "type": "function", + "value": "function store() {\n [native code]\n}" + } + } + }, + "geolocation": { + "type": "object", + "properties": { + "clearWatch": { + "type": "function", + "value": "function clearWatch() {\n [native code]\n}" + }, + "getCurrentPosition": { + "type": "function", + "value": "function getCurrentPosition() {\n [native code]\n}" + }, + "watchPosition": { + "type": "function", + "value": "function watchPosition() {\n [native code]\n}" + } + } + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() {\n [native code]\n}" + }, + "getStorageUpdates": { + "type": "function", + "value": "function getStorageUpdates() {\n [native code]\n}" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() {\n [native code]\n}" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object", + "properties": { + "0": { + "value": "en-us", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object", + "properties": { + "decodingInfo": { + "type": "function", + "value": "function decodingInfo() {\n [native code]\n}" + } + } + }, + "mediaDevices": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "enumerateDevices": { + "type": "function", + "value": "function enumerateDevices() {\n [native code]\n}" + }, + "getSupportedConstraints": { + "type": "function", + "value": "function getSupportedConstraints() {\n [native code]\n}" + }, + "getUserMedia": { + "type": "function", + "value": "function getUserMedia() {\n [native code]\n}" + }, + "ondevicechange": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + } + } + }, + "mimeTypes": { + "type": "object", + "properties": { + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() {\n [native code]\n}" + } + } + }, + "onLine": { + "type": "boolean" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object", + "properties": { + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "namedItem": { + "type": "function", + "value": "function namedItem() {\n [native code]\n}" + }, + "refresh": { + "type": "function", + "value": "function refresh() {\n [native code]\n}" + } + } + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() {\n [native code]\n}" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() {\n [native code]\n}" + }, + "serviceWorker": { + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "controller": { + "type": "object" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "getRegistration": { + "type": "function", + "value": "function getRegistration() {\n [native code]\n}" + }, + "getRegistrations": { + "type": "function", + "value": "function getRegistrations() {\n [native code]\n}" + }, + "oncontrollerchange": { + "type": "object" + }, + "onmessage": { + "type": "object" + }, + "onmessageerror": { + "type": "object" + }, + "ready": { + "type": "object", + "properties": {} + }, + "register": { + "type": "function", + "value": "function register() {\n [native code]\n}" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "startMessages": { + "type": "function", + "value": "function startMessages() {\n [native code]\n}" + } + } + }, + "share": { + "type": "function", + "value": "function share() {\n [native code]\n}" + }, + "standalone": { + "type": "boolean" + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "webdriver": { + "type": "boolean" + } + } + }, + "close": { + "value": "function close() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "closed": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "confirm": { + "value": "function confirm() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "crypto": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "getRandomValues": { + "type": "function", + "value": "function getRandomValues() {\n [native code]\n}" + }, + "subtle": { + "type": "object", + "properties": { + "decrypt": { + "type": "function", + "value": "function decrypt() {\n [native code]\n}" + }, + "deriveBits": { + "type": "function", + "value": "function deriveBits() {\n [native code]\n}" + }, + "deriveKey": { + "type": "function", + "value": "function deriveKey() {\n [native code]\n}" + }, + "digest": { + "type": "function", + "value": "function digest() {\n [native code]\n}" + }, + "encrypt": { + "type": "function", + "value": "function encrypt() {\n [native code]\n}" + }, + "exportKey": { + "type": "function", + "value": "function exportKey() {\n [native code]\n}" + }, + "generateKey": { + "type": "function", + "value": "function generateKey() {\n [native code]\n}" + }, + "importKey": { + "type": "function", + "value": "function importKey() {\n [native code]\n}" + }, + "sign": { + "type": "function", + "value": "function sign() {\n [native code]\n}" + }, + "unwrapKey": { + "type": "function", + "value": "function unwrapKey() {\n [native code]\n}" + }, + "verify": { + "type": "function", + "value": "function verify() {\n [native code]\n}" + }, + "wrapKey": { + "type": "function", + "value": "function wrapKey() {\n [native code]\n}" + } + } + } + } + }, + "customElements": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "define": { + "type": "function", + "value": "function define() {\n [native code]\n}" + }, + "get": { + "type": "function", + "value": "function get() {\n [native code]\n}" + }, + "upgrade": { + "type": "function", + "value": "function upgrade() {\n [native code]\n}" + }, + "whenDefined": { + "type": "function", + "value": "function whenDefined() {\n [native code]\n}" + } + } + }, + "defaultStatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "defaultstatus": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "devicePixelRatio": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "document": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "event": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "AT_TARGET": { + "type": "number" + }, + "BUBBLING_PHASE": { + "type": "number" + }, + "CAPTURING_PHASE": { + "type": "number" + }, + "NONE": { + "type": "number" + }, + "bubbles": { + "type": "boolean" + }, + "cancelBubble": { + "type": "boolean" + }, + "cancelable": { + "type": "boolean" + }, + "composed": { + "type": "boolean" + }, + "composedPath": { + "type": "function", + "value": "function composedPath() {\n [native code]\n}" + }, + "currentTarget": { + "type": "object" + }, + "defaultPrevented": { + "type": "boolean" + }, + "eventPhase": { + "type": "number" + }, + "initEvent": { + "type": "function", + "value": "function initEvent() {\n [native code]\n}" + }, + "isTrusted": { + "enumerable": true, + "configurable": false, + "type": "boolean" + }, + "preventDefault": { + "type": "function", + "value": "function preventDefault() {\n [native code]\n}" + }, + "returnValue": { + "type": "boolean" + }, + "srcElement": { + "type": "object" + }, + "stopImmediatePropagation": { + "type": "function", + "value": "function stopImmediatePropagation() {\n [native code]\n}" + }, + "stopPropagation": { + "type": "function", + "value": "function stopPropagation() {\n [native code]\n}" + }, + "target": { + "type": "object" + }, + "timeStamp": { + "type": "number" + }, + "type": { + "type": "string" + } + } + }, + "fetch": { + "value": "function fetch() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "find": { + "value": "function find() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "focus": { + "value": "function focus() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "frameElement": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "frames": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "getComputedStyle": { + "value": "function getComputedStyle() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getMatchedCSSRules": { + "value": "function getMatchedCSSRules() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "getSelection": { + "value": "function getSelection() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "history": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "back": { + "type": "function", + "value": "function back() {\n [native code]\n}" + }, + "forward": { + "type": "function", + "value": "function forward() {\n [native code]\n}" + }, + "go": { + "type": "function", + "value": "function go() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "pushState": { + "type": "function", + "value": "function pushState() {\n [native code]\n}" + }, + "replaceState": { + "type": "function", + "value": "function replaceState() {\n [native code]\n}" + }, + "scrollRestoration": { + "type": "string" + }, + "state": { + "type": "object" + } + } + }, + "indexedDB": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "cmp": { + "type": "function", + "value": "function cmp() {\n [native code]\n}" + }, + "databases": { + "type": "function", + "value": "function databases() {\n [native code]\n}" + }, + "deleteDatabase": { + "type": "function", + "value": "function deleteDatabase() {\n [native code]\n}" + }, + "open": { + "type": "function", + "value": "function open() {\n [native code]\n}" + } + } + }, + "innerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "innerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "isSecureContext": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "length": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "localStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() {\n [native code]\n}" + }, + "getItem": { + "type": "function", + "value": "function getItem() {\n [native code]\n}" + }, + "key": { + "type": "function", + "value": "function key() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() {\n [native code]\n}" + }, + "setItem": { + "type": "function", + "value": "function setItem() {\n [native code]\n}" + } + } + }, + "location": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "ancestorOrigins": { + "enumerable": true, + "configurable": false, + "type": "object", + "properties": { + "contains": { + "type": "function", + "value": "function contains() {\n [native code]\n}" + }, + "item": { + "type": "function", + "value": "function item() {\n [native code]\n}" + }, + "length": { + "type": "number" + } + } + }, + "assign": { + "value": "function assign() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "hash": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "host": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "hostname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "href": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "origin": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "pathname": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "port": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "protocol": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "reload": { + "value": "function reload() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "replace": { + "value": "function replace() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + }, + "search": { + "enumerable": true, + "configurable": false, + "type": "string" + }, + "toString": { + "value": "function toString() {\n [native code]\n}", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "function" + } + } + }, + "locationbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "matchMedia": { + "value": "function matchMedia() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "menubar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "moveBy": { + "value": "function moveBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "moveTo": { + "value": "function moveTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "name": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "navigator": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "appCodeName": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "appVersion": { + "type": "string" + }, + "canShare": { + "type": "function", + "value": "function canShare() {\n [native code]\n}" + }, + "clipboard": { + "type": "object" + }, + "cookieEnabled": { + "type": "boolean" + }, + "credentials": { + "type": "object" + }, + "geolocation": { + "type": "object" + }, + "getGamepads": { + "type": "function", + "value": "function getGamepads() {\n [native code]\n}" + }, + "getStorageUpdates": { + "type": "function", + "value": "function getStorageUpdates() {\n [native code]\n}" + }, + "javaEnabled": { + "type": "function", + "value": "function javaEnabled() {\n [native code]\n}" + }, + "language": { + "type": "string" + }, + "languages": { + "type": "object", + "properties": { + "0": { + "value": "en-us", + "writable": false, + "enumerable": true, + "configurable": false, + "type": "string" + } + } + }, + "maxTouchPoints": { + "type": "number" + }, + "mediaCapabilities": { + "type": "object" + }, + "mediaDevices": { + "type": "object" + }, + "mimeTypes": { + "type": "object" + }, + "onLine": { + "type": "boolean" + }, + "platform": { + "type": "string" + }, + "plugins": { + "type": "object" + }, + "product": { + "type": "string" + }, + "productSub": { + "type": "string" + }, + "requestMediaKeySystemAccess": { + "type": "function", + "value": "function requestMediaKeySystemAccess() {\n [native code]\n}" + }, + "sendBeacon": { + "type": "function", + "value": "function sendBeacon() {\n [native code]\n}" + }, + "serviceWorker": { + "type": "object" + }, + "share": { + "type": "function", + "value": "function share() {\n [native code]\n}" + }, + "standalone": { + "type": "boolean" + }, + "userAgent": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "vendorSub": { + "type": "string" + }, + "webdriver": { + "type": "boolean" + } + } + }, + "offscreenBuffering": { + "enumerable": true, + "configurable": true, + "type": "boolean" + }, + "onabort": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onafterprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationcancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeprint": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onbeforeunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onblur": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncanplaythrough": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncontextmenu": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oncuechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondblclick": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrag": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondragstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondrop": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ondurationchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onemptied": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onended": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onerror": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onfocus": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ongotpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onhashchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninput": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "oninvalid": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeydown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeypress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onkeyup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlanguagechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadeddata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadedmetadata": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onloadstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onlostpointercapture": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmessage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousedown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousemove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmouseup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onmousewheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onoffline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ononline": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onorientationchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpagehide": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpageshow": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpause": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplay": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onplaying": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointercancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerdown": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerenter": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerleave": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointermove": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerout": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerover": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpointerup": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onpopstate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onprogress": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onratechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onrejectionhandled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onreset": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onresize": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onscroll": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeked": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onseeking": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselect": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectionchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onselectstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onslotchange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstalled": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onstorage": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsubmit": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onsuspend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontimeupdate": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontoggle": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitioncancel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionrun": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "ontransitionstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunhandledrejection": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onunload": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onvolumechange": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwaiting": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationiteration": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkitanimationstart": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwebkittransitionend": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "onwheel": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "open": { + "value": "function open() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "opener": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "orientation": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "origin": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "outerHeight": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "outerWidth": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageXOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "pageYOffset": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "parent": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "performance": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "clearMarks": { + "type": "function", + "value": "function clearMarks() {\n [native code]\n}" + }, + "clearMeasures": { + "type": "function", + "value": "function clearMeasures() {\n [native code]\n}" + }, + "clearResourceTimings": { + "type": "function", + "value": "function clearResourceTimings() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "getEntries": { + "type": "function", + "value": "function getEntries() {\n [native code]\n}" + }, + "getEntriesByName": { + "type": "function", + "value": "function getEntriesByName() {\n [native code]\n}" + }, + "getEntriesByType": { + "type": "function", + "value": "function getEntriesByType() {\n [native code]\n}" + }, + "mark": { + "type": "function", + "value": "function mark() {\n [native code]\n}" + }, + "measure": { + "type": "function", + "value": "function measure() {\n [native code]\n}" + }, + "navigation": { + "type": "object", + "properties": { + "TYPE_BACK_FORWARD": { + "type": "number" + }, + "TYPE_NAVIGATE": { + "type": "number" + }, + "TYPE_RELOAD": { + "type": "number" + }, + "TYPE_RESERVED": { + "type": "number" + }, + "redirectCount": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + }, + "type": { + "type": "number" + } + } + }, + "now": { + "type": "function", + "value": "function now() {\n [native code]\n}" + }, + "onresourcetimingbufferfull": { + "type": "object" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "setResourceTimingBufferSize": { + "type": "function", + "value": "function setResourceTimingBufferSize() {\n [native code]\n}" + }, + "timing": { + "type": "object", + "properties": { + "connectEnd": { + "type": "number" + }, + "connectStart": { + "type": "number" + }, + "domComplete": { + "type": "number" + }, + "domContentLoadedEventEnd": { + "type": "number" + }, + "domContentLoadedEventStart": { + "type": "number" + }, + "domInteractive": { + "type": "number" + }, + "domLoading": { + "type": "number" + }, + "domainLookupEnd": { + "type": "number" + }, + "domainLookupStart": { + "type": "number" + }, + "fetchStart": { + "type": "number" + }, + "loadEventEnd": { + "type": "number" + }, + "loadEventStart": { + "type": "number" + }, + "navigationStart": { + "type": "number" + }, + "redirectEnd": { + "type": "number" + }, + "redirectStart": { + "type": "number" + }, + "requestStart": { + "type": "number" + }, + "responseEnd": { + "type": "number" + }, + "responseStart": { + "type": "number" + }, + "secureConnectionStart": { + "type": "number" + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + }, + "unloadEventEnd": { + "type": "number" + }, + "unloadEventStart": { + "type": "number" + } + } + }, + "toJSON": { + "type": "function", + "value": "function toJSON() {\n [native code]\n}" + } + } + }, + "personalbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "postMessage": { + "value": "function postMessage() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "print": { + "value": "function print() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "prompt": { + "value": "function prompt() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "queueMicrotask": { + "value": "function queueMicrotask() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "releaseEvents": { + "value": "function releaseEvents() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "requestAnimationFrame": { + "value": "function requestAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeBy": { + "value": "function resizeBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "resizeTo": { + "value": "function resizeTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "screen": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "availHeight": { + "type": "number" + }, + "availLeft": { + "type": "number" + }, + "availTop": { + "type": "number" + }, + "availWidth": { + "type": "number" + }, + "colorDepth": { + "type": "number" + }, + "height": { + "type": "number" + }, + "pixelDepth": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "screenLeft": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenTop": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "screenY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scroll": { + "value": "function scroll() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollBy": { + "value": "function scrollBy() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollTo": { + "value": "function scrollTo() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "scrollX": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollY": { + "enumerable": true, + "configurable": true, + "type": "number" + }, + "scrollbars": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "self": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "sessionStorage": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "clear": { + "type": "function", + "value": "function clear() {\n [native code]\n}" + }, + "getItem": { + "type": "function", + "value": "function getItem() {\n [native code]\n}" + }, + "key": { + "type": "function", + "value": "function key() {\n [native code]\n}" + }, + "length": { + "type": "number" + }, + "removeItem": { + "type": "function", + "value": "function removeItem() {\n [native code]\n}" + }, + "setItem": { + "type": "function", + "value": "function setItem() {\n [native code]\n}" + } + } + }, + "setInterval": { + "value": "function setInterval() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "setTimeout": { + "value": "function setTimeout() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "speechSynthesis": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "cancel": { + "type": "function", + "value": "function cancel() {\n [native code]\n}" + }, + "getVoices": { + "type": "function", + "value": "function getVoices() {\n [native code]\n}" + }, + "pause": { + "type": "function", + "value": "function pause() {\n [native code]\n}" + }, + "paused": { + "type": "boolean" + }, + "pending": { + "type": "boolean" + }, + "resume": { + "type": "function", + "value": "function resume() {\n [native code]\n}" + }, + "speak": { + "type": "function", + "value": "function speak() {\n [native code]\n}" + }, + "speaking": { + "type": "boolean" + } + } + }, + "status": { + "enumerable": true, + "configurable": true, + "type": "string" + }, + "statusbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "stop": { + "value": "function stop() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "styleMedia": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "matchMedium": { + "type": "function", + "value": "function matchMedium() {\n [native code]\n}" + }, + "type": { + "type": "string" + } + } + }, + "toolbar": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "visible": { + "type": "boolean" + } + } + }, + "top": { + "enumerable": true, + "configurable": false, + "type": "object" + }, + "visualViewport": { + "enumerable": true, + "configurable": true, + "type": "object", + "properties": { + "addEventListener": { + "type": "function", + "value": "function addEventListener() {\n [native code]\n}" + }, + "dispatchEvent": { + "type": "function", + "value": "function dispatchEvent() {\n [native code]\n}" + }, + "height": { + "type": "number" + }, + "offsetLeft": { + "type": "number" + }, + "offsetTop": { + "type": "number" + }, + "onresize": { + "type": "object" + }, + "onscroll": { + "type": "object" + }, + "pageLeft": { + "type": "number" + }, + "pageTop": { + "type": "number" + }, + "removeEventListener": { + "type": "function", + "value": "function removeEventListener() {\n [native code]\n}" + }, + "scale": { + "type": "number" + }, + "width": { + "type": "number" + } + } + }, + "webkitCancelAnimationFrame": { + "value": "function webkitCancelAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitCancelRequestAnimationFrame": { + "value": "function webkitCancelRequestAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitConvertPointFromNodeToPage": { + "value": "function webkitConvertPointFromNodeToPage() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitConvertPointFromPageToNode": { + "value": "function webkitConvertPointFromPageToNode() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "webkitIndexedDB": { + "enumerable": true, + "configurable": true, + "type": "object" + }, + "webkitRequestAnimationFrame": { + "value": "function webkitRequestAnimationFrame() {\n [native code]\n}", + "writable": true, + "enumerable": true, + "configurable": true, + "type": "function" + }, + "window": { + "enumerable": true, + "configurable": false, + "type": "object" + } + } +} \ No newline at end of file diff --git a/security/js-leaks.html b/security/js-leaks.html new file mode 100644 index 0000000..26e5848 --- /dev/null +++ b/security/js-leaks.html @@ -0,0 +1,49 @@ + + + + + + Detect changes to JS objects in global scope + + + + + +

    [Home][Detect changes to JS objects in global scope]

    + +

    + This page checks the global window object for differences versus standard browsers. + This shows protections' footprint that are observable and potentially exploitable by the page. +

    +

    + To generate a profile for a new browser load this page there and click "Download this browser's profile" below. +

    +

    + You can also run the test automatically by adding the target browser to the URL, + e.g. adding #chrome_92 to the end of the URL will automatically run comparisons to Chrome. +

    + + + + +
    +

    Properties Added

    +
      +
    +

    Properties Removed

    +
      +
    +

    Properties Changed

    +
      +
    + + +
    +
    + \ No newline at end of file diff --git a/security/leaks.js b/security/leaks.js new file mode 100644 index 0000000..6eabea1 --- /dev/null +++ b/security/leaks.js @@ -0,0 +1,194 @@ +window.addEventListener('load', async () => { + const downloadButton = document.getElementById('download'); + const sections = {}; + ['added', 'removed', 'changed'].forEach((s) => { + sections[s] = document.getElementById(s); + }); + + function addBullet (html, section) { + const li = document.createElement('li'); + li.innerHTML = html; + sections[section].appendChild(li); + } + + function collectProps () { + const objCache = new Set(); + // skip these + objCache.add(window.self); + // prevent us decending into the DOM + objCache.add(document); + objCache.add(document.activeElement); + objCache.add(event?.currentTarget); + const recursionAllowed = new Set(); + recursionAllowed.add('navigator'); + + function extractObjectProps (obj, breadcrumbs = [], depth = 0) { + if (depth >= 5) { + return {}; + } + const props = {}; + const proplist = []; + for (const prop in obj) { + proplist.push(prop); + } + proplist.sort().forEach((prop) => { + try { + const desc = Object.getOwnPropertyDescriptor(obj, prop) || {}; + desc.type = typeof obj[prop]; + if (desc.type === 'function') { + desc.value = obj[prop].toString(); + } else if (desc.type === 'object') { + if (!objCache.has(obj[prop]) || recursionAllowed.has(prop)) { + objCache.add(obj[prop]); + desc.properties = extractObjectProps(obj[prop], [...breadcrumbs, prop], depth + 1); + } + delete desc.value; + } + props[prop] = desc; + } catch (e) { + console.warn(`Error for ${breadcrumbs.join('.')}.${prop}`, e); + } + }); + return props; + } + + return { + window: extractObjectProps(window) + }; + } + + window.collectedProps = collectProps(); + + async function run () { + // clear results + Object.keys(sections).forEach((s) => { + const ul = sections[s]; + while (ul.firstChild !== null) { + ul.removeChild(ul.firstChild); + } + }); + + const engine = + document.querySelector('#browser-select').value; + const platformExpected = await (await fetch(`./browser-profiles/${engine}.json`)).json(); + const results = window.results = { + page: 'security-js-leaks', + date: (new Date()).toUTCString(), + reference_engine: engine, + added: [], + removed: [], + changed: [] + }; + + function compareObjects (expected, actual, breadcrumbs) { + Object.keys(actual).forEach((k) => { + const exp = expected[k]; + if (!exp) { + addBullet(` +
    + new property ${breadcrumbs.join('.')}.${k} + ${JSON.stringify(actual[k], null, 2)} +
    + `, 'added'); + results.added.push({ + name: `${breadcrumbs.join('.')}.${k}`, + ...actual[k] + }); + return; + } + const changed = ['configurable', 'enumerable', 'writable', 'type', 'value'].filter(attr => actual[k][attr] !== exp[attr]); + if (changed.length === 1) { + addBullet(` +
    + ${breadcrumbs.join('.')}.${k} changed ${changed.join(', ')} +
      +
    • Expected: ${JSON.stringify(exp[changed[0]], null, 2)}
    • +
    • Actual: ${JSON.stringify(actual[k][changed[0]], null, 2)}
    • +
    +
    `, 'changed'); + results.changed.push({ + name: `${breadcrumbs.join('.')}.${k}`, + ...actual[k] + }); + } else if (changed.length > 0) { + addBullet(` +
    + ${breadcrumbs.join('.')}.${k} changed ${changed.join(', ')} +
      +
    • Expected: ${JSON.stringify(exp, null, 2)}
    • +
    • Actual: ${JSON.stringify(actual[k], null, 2)}
    • +
    +
    `, 'changed'); + results.changed.push({ + name: `${breadcrumbs.join('.')}.${k}`, + ...actual[k] + }); + } + + if (actual[k].properties) { + if (!exp.properties) { + addBullet(` +
    + ${breadcrumbs.join('.')}.${k} changed +
      +
    • Expected: ${JSON.stringify(exp, null, 2)}
    • +
    • Actual: ${JSON.stringify(actual[k], null, 2)}
    • +
    +
    `, 'changed'); + results.changed.push({ + name: `${breadcrumbs.join('.')}.${k}`, + ...actual[k] + }); + } else { + compareObjects(exp.properties, actual[k].properties, [ + ...breadcrumbs, + k + ]); + } + } + }); + Object.keys(expected).forEach((k) => { + if (!actual[k]) { + addBullet(` +
    + mising property ${breadcrumbs.join('.')}.${k} + ${JSON.stringify(expected[k], null, 2)} +
    + `, 'removed'); + results.removed.push({ + name: `${breadcrumbs.join('.')}.${k}` + }); + } + }); + } + + compareObjects(platformExpected.window, window.collectedProps.window, ['window']); + downloadButton.removeAttribute('disabled'); + } + + document.querySelector('#run').addEventListener('click', run); + if (document.location.hash) { + document.querySelector('#browser-select').value = document.location.hash.slice(1); + run(); + } + + function download (data, name) { + const a = document.createElement('a'); + const url = window.URL.createObjectURL(new Blob([data], { type: 'application/json' })); + a.href = url; + a.download = `${name}.json`; + + document.getElementById('debug').appendChild(a); + a.click(); + + window.URL.revokeObjectURL(url); + a.remove(); + } + + downloadButton.addEventListener('click', () => { + download(JSON.stringify(window.results, null, 2), 'results'); + }); + document.getElementById('profile-download').addEventListener('click', () => { + download(JSON.stringify(window.collectedProps, null, 2), 'profile'); + }); +}); diff --git a/security/style.css b/security/style.css new file mode 100644 index 0000000..14dd8bf --- /dev/null +++ b/security/style.css @@ -0,0 +1,7 @@ +* { + box-sizing: border-box; +} + +.value { + color: gray; +}