UNPKG

eslint-plugin-baseline-js

Version:

Enforce JavaScript Baseline (widely/newly/year) browser compatibility with a single ESLint rule. Prevent runtime errors by catching unsupported JavaScript features during development.

2,324 lines (2,320 loc) 1.13 MB
Object.defineProperty(exports, '__esModule', { value: true }); //#region rolldown:runtime var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { key = keys[i]; if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: ((k) => from[k]).bind(null, key), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); //#endregion let eslint_use_at_your_own_risk = require("eslint/use-at-your-own-risk"); eslint_use_at_your_own_risk = __toESM(eslint_use_at_your_own_risk); let eslint_plugin_es_x = require("eslint-plugin-es-x"); eslint_plugin_es_x = __toESM(eslint_plugin_es_x); let node_module = require("node:module"); node_module = __toESM(node_module); //#region src/configs/baseline.ts /** * Recommended config: enable Baseline with Web APIs and JS builtins detection on auto preset. * - baseline: defaults to 'widely' * - includeWebApis/includeJsBuiltins: { preset: 'auto' } */ function recommendedConfig(opts = {}) { const available = opts.available ?? opts.baseline ?? "widely"; const level = opts.level ?? "error"; return { files: ["**/*.{js,cjs,mjs,jsx}"], rules: { "baseline-js/use-baseline": [level, { available, includeWebApis: { preset: "auto" }, includeJsBuiltins: { preset: "auto" } }] } }; } /** * Recommended config for TypeScript-aware projects: * - Uses 'type-aware' preset to require type information for instance-member checks. * - Falls back gracefully when types are unavailable (instance checks are skipped by the rule). */ function recommendedTsConfig(opts = {}) { const available = opts.available ?? opts.baseline ?? "widely"; const level = opts.level ?? "error"; return { files: ["**/*.{ts,tsx}"], rules: { "baseline-js/use-baseline": [level, { available, includeWebApis: { preset: "type-aware" }, includeJsBuiltins: { preset: "type-aware" } }] } }; } //#endregion //#region src/config.ts /** * Named constants for Baseline string options. * Prefer using these to avoid typos in user configs. */ const BASELINE = { WIDELY: "widely", NEWLY: "newly" }; function getBaselineValue(opt) { if (!opt) return BASELINE.WIDELY; return opt.available ?? opt.baseline ?? BASELINE.WIDELY; } //#endregion //#region src/baseline/data/descriptors.api.ts const descriptors$1 = [ { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "hash" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "host" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "hostname" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "href" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "hreflang" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "origin" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "password" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "pathname" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "port" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "protocol" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "rel" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "relList" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "search" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "target" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "text" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "toString" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "type" }, { "featureId": "a", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "username" }, { "featureId": "abortable-fetch", "kind": "instanceMember", "iface": "Request", "prop": "signal" }, { "featureId": "abortable-fetch", "kind": "instanceMember", "iface": "fetch", "prop": "init_signal_parameter" }, { "featureId": "aborting", "kind": "newIdent", "name": "AbortController" }, { "featureId": "aborting", "kind": "instanceMember", "iface": "AbortController", "prop": "abort" }, { "featureId": "aborting", "kind": "instanceMember", "iface": "AbortController", "prop": "signal" }, { "featureId": "aborting", "kind": "instanceMember", "iface": "AbortSignal", "prop": "abort_event" }, { "featureId": "aborting", "kind": "callStatic", "base": "AbortSignal", "prop": "abort" }, { "featureId": "aborting", "kind": "instanceMember", "iface": "AbortSignal", "prop": "aborted" }, { "featureId": "aborting", "kind": "instanceMember", "iface": "AbortSignal", "prop": "reason" }, { "featureId": "aborting", "kind": "instanceMember", "iface": "AbortSignal", "prop": "throwIfAborted" }, { "featureId": "aborting", "kind": "callStatic", "base": "AbortSignal", "prop": "timeout" }, { "featureId": "abortsignal-any", "kind": "callStatic", "base": "AbortSignal", "prop": "any" }, { "featureId": "accelerometer", "kind": "newIdent", "name": "Accelerometer" }, { "featureId": "accelerometer", "kind": "instanceMember", "iface": "Accelerometer", "prop": "x" }, { "featureId": "accelerometer", "kind": "instanceMember", "iface": "Accelerometer", "prop": "y" }, { "featureId": "accelerometer", "kind": "instanceMember", "iface": "Accelerometer", "prop": "z" }, { "featureId": "accelerometer", "kind": "newIdent", "name": "GravitySensor" }, { "featureId": "accelerometer", "kind": "newIdent", "name": "LinearAccelerationSensor" }, { "featureId": "accelerometer", "kind": "instanceMember", "iface": "Permissions", "prop": "permission_accelerometer" }, { "featureId": "accesskey", "kind": "instanceMember", "iface": "HTMLElement", "prop": "accessKey" }, { "featureId": "accesskey", "kind": "instanceMember", "iface": "HTMLElement", "prop": "accessKeyLabel" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransition", "prop": "types" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "@@iterator" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "add" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "clear" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "delete" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "entries" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "forEach" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "has" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "keys" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "size" }, { "featureId": "active-view-transition", "kind": "instanceMember", "iface": "ViewTransitionTypeSet", "prop": "values" }, { "featureId": "alerts", "kind": "member", "base": "window", "prop": "alert" }, { "featureId": "alerts", "kind": "member", "base": "window", "prop": "confirm" }, { "featureId": "alerts", "kind": "member", "base": "window", "prop": "prompt" }, { "featureId": "ambient-light", "kind": "newIdent", "name": "AmbientLightSensor" }, { "featureId": "ambient-light", "kind": "instanceMember", "iface": "AmbientLightSensor", "prop": "illuminance" }, { "featureId": "ambient-light", "kind": "instanceMember", "iface": "Permissions", "prop": "permission_ambient-light-sensor" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "align-self" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "alignSelf" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "block-size" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "blockSize" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "bottom" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "height" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inline-size" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inlineSize" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inset" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inset-block" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inset-block-end" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inset-block-start" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inset-inline" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inset-inline-end" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "inset-inline-start" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "insetBlock" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "insetBlockEnd" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "insetBlockStart" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "insetInline" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "insetInlineEnd" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "insetInlineStart" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "justify-self" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "justifySelf" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "left" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-block" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-block-end" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-block-start" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-bottom" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-inline" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-inline-end" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-inline-start" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-left" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-right" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "margin-top" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginBlock" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginBlockEnd" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginBlockStart" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginBottom" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginInline" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginInlineEnd" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginInlineStart" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginLeft" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginRight" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "marginTop" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "max-block-size" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "max-height" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "max-inline-size" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "max-width" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "maxBlockSize" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "maxHeight" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "maxInlineSize" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "maxWidth" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "min-block-size" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "min-height" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "min-inline-size" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "min-width" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "minBlockSize" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "minHeight" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "minInlineSize" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "minWidth" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "place-self" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "placeSelf" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "position-anchor" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "position-area" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "positionAnchor" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "positionArea" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "right" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "top" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryDescriptors", "prop": "width" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryRule", "prop": "name" }, { "featureId": "anchor-positioning", "kind": "instanceMember", "iface": "CSSPositionTryRule", "prop": "style" }, { "featureId": "angle-instanced-arrays", "kind": "instanceMember", "iface": "ANGLE_instanced_arrays", "prop": "drawArraysInstancedANGLE" }, { "featureId": "angle-instanced-arrays", "kind": "instanceMember", "iface": "ANGLE_instanced_arrays", "prop": "drawElementsInstancedANGLE" }, { "featureId": "angle-instanced-arrays", "kind": "instanceMember", "iface": "ANGLE_instanced_arrays", "prop": "vertexAttribDivisorANGLE" }, { "featureId": "animations-css", "kind": "newIdent", "name": "AnimationEvent" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "AnimationEvent", "prop": "animationName" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "AnimationEvent", "prop": "elapsedTime" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "AnimationEvent", "prop": "pseudoElement" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSAnimation", "prop": "animationName" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframeRule", "prop": "keyText" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframeRule", "prop": "style" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframesRule", "prop": "appendRule" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframesRule", "prop": "cssRules" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframesRule", "prop": "deleteRule" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframesRule", "prop": "findRule" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframesRule", "prop": "length" }, { "featureId": "animations-css", "kind": "instanceMember", "iface": "CSSKeyframesRule", "prop": "name" }, { "featureId": "app-file-handlers", "kind": "instanceMember", "iface": "LaunchParams", "prop": "files" }, { "featureId": "app-launch-handler", "kind": "instanceMember", "iface": "LaunchParams", "prop": "targetURL" }, { "featureId": "app-launch-handler", "kind": "instanceMember", "iface": "LaunchQueue", "prop": "setConsumer" }, { "featureId": "app-launch-handler", "kind": "member", "base": "window", "prop": "launchQueue" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaActiveDescendantElement" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaAtomic" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaAutoComplete" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaBrailleLabel" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaBrailleRoleDescription" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaBusy" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaChecked" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaColCount" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaColIndex" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaColIndexText" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaColSpan" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaControlsElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaCurrent" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaDescribedByElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaDescription" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaDetailsElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaDisabled" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaErrorMessageElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaExpanded" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaFlowToElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaHasPopup" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaHidden" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaInvalid" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaKeyShortcuts" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaLabel" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaLabelledByElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaLevel" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaLive" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaModal" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaMultiLine" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaMultiSelectable" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaOrientation" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaOwnsElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaPlaceholder" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaPosInSet" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaPressed" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaReadOnly" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaRelevant" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaRequired" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaRoleDescription" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaRowCount" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaRowIndex" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaRowIndexText" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaRowSpan" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaSelected" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaSetSize" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaSort" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaValueMax" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaValueMin" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaValueNow" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "ariaValueText" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "Element", "prop": "role" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaActiveDescendantElement" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaAtomic" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaAutoComplete" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaBrailleLabel" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaBrailleRoleDescription" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaBusy" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaChecked" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaColCount" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaColIndex" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaColIndexText" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaColSpan" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaControlsElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaCurrent" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaDescribedByElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaDescription" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaDetailsElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaDisabled" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaErrorMessageElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaExpanded" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaFlowToElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaHasPopup" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaHidden" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaInvalid" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaKeyShortcuts" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaLabel" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaLabelledByElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaLevel" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaLive" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaModal" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaMultiLine" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaMultiSelectable" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaOrientation" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaOwnsElements" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaPlaceholder" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaPosInSet" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaPressed" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaReadOnly" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaRequired" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaRoleDescription" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaRowCount" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaRowIndex" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaRowIndexText" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaRowSpan" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaSelected" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaSetSize" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaSort" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaValueMax" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaValueMin" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaValueNow" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "ariaValueText" }, { "featureId": "aria-attribute-reflection", "kind": "instanceMember", "iface": "ElementInternals", "prop": "role" }, { "featureId": "arianotify", "kind": "instanceMember", "iface": "Document", "prop": "ariaNotify" }, { "featureId": "arianotify", "kind": "instanceMember", "iface": "Element", "prop": "ariaNotify" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Clipboard", "prop": "read" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Clipboard", "prop": "readText" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Clipboard", "prop": "type_image-png" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Clipboard", "prop": "type_text-html" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Clipboard", "prop": "type_text-plain" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Clipboard", "prop": "write" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Clipboard", "prop": "writeText" }, { "featureId": "async-clipboard", "kind": "newIdent", "name": "ClipboardItem" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "ClipboardItem", "prop": "getType" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "ClipboardItem", "prop": "presentationStyle" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "ClipboardItem", "prop": "types" }, { "featureId": "async-clipboard", "kind": "member", "base": "navigator", "prop": "clipboard" }, { "featureId": "async-clipboard", "kind": "instanceMember", "iface": "Permissions", "prop": "permission_clipboard-write" }, { "featureId": "async-iterable-streams", "kind": "instanceMember", "iface": "ReadableStream", "prop": "@@asyncIterator" }, { "featureId": "async-iterable-streams", "kind": "instanceMember", "iface": "ReadableStream", "prop": "values" }, { "featureId": "attribution-reporting", "kind": "instanceMember", "iface": "HTMLAnchorElement", "prop": "attributionSrc" }, { "featureId": "attribution-reporting", "kind": "instanceMember", "iface": "HTMLAreaElement", "prop": "attributionSrc" }, { "featureId": "attribution-reporting", "kind": "instanceMember", "iface": "HTMLImageElement", "prop": "attributionSrc" }, { "featureId": "attribution-reporting", "kind": "instanceMember", "iface": "HTMLScriptElement", "prop": "attributionSrc" }, { "featureId": "attribution-reporting", "kind": "instanceMember", "iface": "XMLHttpRequest", "prop": "setAttributionReporting" }, { "featureId": "attribution-reporting", "kind": "instanceMember", "iface": "fetch", "prop": "init_attributionReporting_parameter" }, { "featureId": "audio", "kind": "instanceMember", "iface": "HTMLAudioElement", "prop": "Audio" }, { "featureId": "audio-session", "kind": "instanceMember", "iface": "AudioSession", "prop": "type" }, { "featureId": "audio-session", "kind": "member", "base": "navigator", "prop": "audioSession" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrack", "prop": "enabled" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrack", "prop": "id" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrack", "prop": "kind" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrack", "prop": "label" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrack", "prop": "language" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrackList", "prop": "addtrack_event" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrackList", "prop": "change_event" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrackList", "prop": "getTrackById" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrackList", "prop": "length" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "AudioTrackList", "prop": "removetrack_event" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "HTMLMediaElement", "prop": "audioTracks" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "HTMLMediaElement", "prop": "videoTracks" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrack", "prop": "id" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrack", "prop": "kind" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrack", "prop": "label" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrack", "prop": "language" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrack", "prop": "selected" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrackList", "prop": "addtrack_event" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrackList", "prop": "change_event" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrackList", "prop": "getTrackById" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrackList", "prop": "length" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrackList", "prop": "removetrack_event" }, { "featureId": "audio-video-tracks", "kind": "instanceMember", "iface": "VideoTrackList", "prop": "selectedIndex" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletGlobalScope", "prop": "currentFrame" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletGlobalScope", "prop": "currentTime" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletGlobalScope", "prop": "port" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletGlobalScope", "prop": "registerProcessor" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletGlobalScope", "prop": "sampleRate" }, { "featureId": "audio-worklet", "kind": "newIdent", "name": "AudioWorkletNode" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletNode", "prop": "parameters" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletNode", "prop": "port" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletNode", "prop": "processorerror_event" }, { "featureId": "audio-worklet", "kind": "newIdent", "name": "AudioWorkletProcessor" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "AudioWorkletProcessor", "prop": "port" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "BaseAudioContext", "prop": "audioWorklet" }, { "featureId": "audio-worklet", "kind": "instanceMember", "iface": "Worklet", "prop": "addModule" }, { "featureId": "autocapitalize", "kind": "instanceMember", "iface": "HTMLElement", "prop": "autocapitalize" }, { "featureId": "autocorrect", "kind": "instanceMember", "iface": "HTMLElement", "prop": "autocorrect" }, { "featureId": "autofocus", "kind": "instanceMember", "iface": "HTMLElement", "prop": "autofocus" }, { "featureId": "autofocus", "kind": "instanceMember", "iface": "MathMLElement", "prop": "autofocus" }, { "featureId": "autofocus", "kind": "instanceMember", "iface": "SVGElement", "prop": "autofocus" }, { "featureId": "autonomous-custom-elements", "kind": "instanceMember", "iface": "CustomElementRegistry", "prop": "define" }, { "featureId": "autonomous-custom-elements", "kind": "instanceMember", "iface": "CustomElementRegistry", "prop": "get" }, { "featureId": "autonomous-custom-elements", "kind": "instanceMember", "iface": "CustomElementRegistry", "prop": "getName" }, { "featureId": "autonomous-custom-elements", "kind": "instanceMember", "iface": "CustomElementRegistry", "prop": "upgrade" }, { "featureId": "autonomous-custom-elements", "kind": "instanceMember", "iface": "CustomElementRegistry", "prop": "whenDefined" }, { "featureId": "autonomous-custom-elements", "kind": "member", "base": "window", "prop": "customElements" }, { "featureId": "background-fetch", "kind": "newIdent", "name": "BackgroundFetchEvent" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchEvent", "prop": "registration" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchManager", "prop": "fetch" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchManager", "prop": "get" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchManager", "prop": "getIds" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRecord", "prop": "request" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRecord", "prop": "responseReady" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "abort" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "downloadTotal" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "downloaded" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "failureReason" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "id" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "match" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "matchAll" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "progress_event" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "recordsAvailable" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "result" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "uploadTotal" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchRegistration", "prop": "uploaded" }, { "featureId": "background-fetch", "kind": "newIdent", "name": "BackgroundFetchUpdateUIEvent" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "BackgroundFetchUpdateUIEvent", "prop": "updateUI" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "ServiceWorkerGlobalScope", "prop": "backgroundfetchabort_event" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "ServiceWorkerGlobalScope", "prop": "backgroundfetchclick_event" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "ServiceWorkerGlobalScope", "prop": "backgroundfetchfail_event" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "ServiceWorkerGlobalScope", "prop": "backgroundfetchsuccess_event" }, { "featureId": "background-fetch", "kind": "instanceMember", "iface": "ServiceWorkerRegistration", "prop": "backgroundFetch" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "Permissions", "prop": "permission_background-sync" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "ServiceWorkerGlobalScope", "prop": "sync_event" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "ServiceWorkerRegistration", "prop": "sync" }, { "featureId": "background-sync", "kind": "newIdent", "name": "SyncEvent" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "SyncEvent", "prop": "lastChance" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "SyncEvent", "prop": "tag" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "SyncManager", "prop": "getTags" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "SyncManager", "prop": "register" }, { "featureId": "background-sync", "kind": "instanceMember", "iface": "SyncManager", "prop": "worker_support" }, { "featureId": "badging", "kind": "member", "base": "navigator", "prop": "clearAppBadge" }, { "featureId": "badging", "kind": "member", "base": "navigator", "prop": "setAppBadge" }, { "featureId": "barcode", "kind": "newIdent", "name": "BarcodeDetector" }, { "featureId": "barcode", "kind": "instanceMember", "iface": "BarcodeDetector", "prop": "detect" }, { "featureId": "barcode", "kind": "callStatic", "base": "BarcodeDetector", "prop": "getSupportedFormats" }, { "featureId": "barprop", "kind": "instanceMember", "iface": "BarProp", "prop": "visible" }, { "featureId": "barprop", "kind": "member", "base": "window", "prop": "locationbar" }, { "featureId": "barprop", "kind": "member", "base": "window", "prop": "menubar" }, { "featureId": "barprop", "kind": "member", "base": "window", "prop": "personalbar" }, { "featureId": "barprop", "kind": "member", "base": "window", "prop": "scrollbars" }, { "featureId": "barprop", "kind": "member", "base": "window", "prop": "statusbar" }, { "featureId": "barprop", "kind": "member", "base": "window", "prop": "toolbar" }, { "featureId": "base", "kind": "instanceMember", "iface": "HTMLBaseElement", "prop": "href" }, { "featureId": "base", "kind": "instanceMember", "iface": "HTMLBaseElement", "prop": "target" }, { "featureId": "base64encodedecode", "kind": "instanceMember", "iface": "atob", "prop": "worker_support" }, { "featureId": "base64encodedecode", "kind": "instanceMember", "iface": "btoa", "prop": "worker_support" }, { "featureI