| { |
| // All feature policy (https://github.com/w3c/webappsec-feature-policy) |
| // features are defined here. |
| // All Features have to be defined in FeaturePolicyFeature enum as well |
| // (defined in third_party/blink/public/mojom/feature_policy/feature_policy.mojom). |
| // The enum value has to have the same name as the feature name here. |
| // This list is used to generate "feature_policy_helper.cc". |
| // TODO(yashard): Add all feature policy features here. |
| |
| parameters: { |
| // "depends_on" specifies relationship to runtime features defined |
| // in "runtime_enabled_features.json5": |
| // depends_on: ["feature1", "feature2", ...] |
| // * If the depends_on features are *only* runtime features, the feature is |
| // available if any of the runtime features are enabled. |
| // * If the depends_on list includes origin trial features, the feature is |
| // available if any of the origin trial features are enabled. |
| depends_on: { |
| default: [], |
| valid_type: "list", |
| }, |
| // feature_policy_name: "FEATURE_NAME" is used to specify the policy name |
| // which gets parsed from the header or the allow attribute. |
| feature_policy_name: { |
| }, |
| |
| // feature_default: Default allowlist state for feature. This corresponds |
| // to enum class |FeaturePolicyFeatureDefault| in |
| // public/common/feature_policy/feature_policy_features.h |
| feature_default: { |
| default: "EnableForSelf", |
| valid_values: ["EnableForAll", "EnableForSelf"] |
| } |
| }, |
| |
| data: [ |
| { |
| name: "Accelerometer", |
| feature_policy_name: "accelerometer", |
| }, |
| { |
| name: "AmbientLightSensor", |
| feature_policy_name: "ambient-light-sensor", |
| depends_on: ["SensorExtraClasses"], |
| }, |
| { |
| name: "Autoplay", |
| feature_policy_name: "autoplay", |
| }, |
| { |
| name: "Camera", |
| feature_policy_name: "camera", |
| }, |
| { |
| name: "ClientHintDPR", |
| feature_policy_name: "ch-dpr", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintDeviceMemory", |
| feature_policy_name: "ch-device-memory", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintDownlink", |
| feature_policy_name: "ch-downlink", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintECT", |
| feature_policy_name: "ch-ect", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintLang", |
| feature_policy_name: "ch-lang", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintRTT", |
| feature_policy_name: "ch-rtt", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintUA", |
| feature_policy_name: "ch-ua", |
| feature_default: "EnableForAll", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintUAArch", |
| feature_policy_name: "ch-ua-arch", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintUAPlatform", |
| feature_policy_name: "ch-ua-platform", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintUAModel", |
| feature_policy_name: "ch-ua-model", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintUAMobile", |
| feature_policy_name: "ch-ua-mobile", |
| feature_default: "EnableForAll", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintUAFullVersion", |
| feature_policy_name: "ch-ua-full-version", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintUAPlatformVersion", |
| feature_policy_name: "ch-ua-platform-version", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintViewportWidth", |
| feature_policy_name: "ch-viewport-width", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClientHintWidth", |
| feature_policy_name: "ch-width", |
| depends_on: ["FeaturePolicyForClientHints"], |
| }, |
| { |
| name: "ClipboardRead", |
| feature_policy_name: "clipboard-read", |
| }, |
| { |
| name: "ClipboardWrite", |
| feature_policy_name: "clipboard-write", |
| }, |
| { |
| name: "ConversionMeasurement", |
| feature_policy_name: "conversion-measurement", |
| depends_on: ["ConversionMeasurement"], |
| }, |
| { |
| name: "CrossOriginIsolated", |
| feature_policy_name: "cross-origin-isolated", |
| depends_on: ["CrossOriginIsolation"], |
| }, |
| { |
| name: "DisplayCapture", |
| feature_policy_name: "display-capture", |
| depends_on: ["GetCurrentBrowsingContextMedia"], |
| }, |
| { |
| name: "DocumentDomain", |
| feature_policy_name: "document-domain", |
| feature_default: "EnableForAll", |
| }, |
| { |
| name: "EncryptedMedia", |
| feature_policy_name: "encrypted-media", |
| }, |
| { |
| name: "ExecutionWhileOutOfViewport", |
| feature_policy_name: "execution-while-out-of-viewport", |
| feature_default: "EnableForAll", |
| depends_on: ["FreezeFramesOnVisibility"], |
| }, |
| { |
| name: "ExecutionWhileNotRendered", |
| feature_policy_name: "execution-while-not-rendered", |
| feature_default: "EnableForAll", |
| depends_on: ["FreezeFramesOnVisibility"], |
| }, |
| { |
| name: "FocusWithoutUserActivation", |
| feature_policy_name: "focus-without-user-activation", |
| feature_default: "EnableForAll", |
| depends_on: ["BlockingFocusWithoutUserActivation"], |
| }, |
| { |
| name: "Fullscreen", |
| feature_policy_name: "fullscreen", |
| }, |
| { |
| name: "Frobulate", |
| feature_policy_name: "frobulate", |
| depends_on: ["OriginTrialsSampleAPI"], |
| }, |
| { |
| name: "Gamepad", |
| feature_policy_name: "gamepad", |
| depends_on: ["RestrictGamepadAccess"], |
| }, |
| { |
| name: "Geolocation", |
| feature_policy_name: "geolocation", |
| }, |
| { |
| name: "Gyroscope", |
| feature_policy_name: "gyroscope", |
| }, |
| { |
| name: "Hid", |
| feature_policy_name: "hid", |
| depends_on: ["WebHID"], |
| }, |
| { |
| name: "IdleDetection", |
| feature_policy_name: "idle-detection", |
| depends_on: ["IdleDetection"], |
| }, |
| { |
| name: "InterestCohort", |
| feature_policy_name: "interest-cohort", |
| feature_default: "EnableForAll", |
| depends_on: ["InterestCohortFeaturePolicy"], |
| }, |
| { |
| name: "Magnetometer", |
| feature_policy_name: "magnetometer", |
| }, |
| { |
| name: "Microphone", |
| feature_policy_name: "microphone", |
| }, |
| { |
| name: "MidiFeature", |
| feature_policy_name: "midi", |
| }, |
| { |
| name: "OTPCredentials", |
| feature_policy_name: "otp-credentials", |
| depends_on: ["WebOTPAssertionFeaturePolicy"], |
| }, |
| { |
| name: "Payment", |
| feature_policy_name: "payment", |
| depends_on: ["PaymentRequest"], |
| }, |
| { |
| name: "PictureInPicture", |
| feature_policy_name: "picture-in-picture", |
| feature_default: "EnableForAll", |
| depends_on: ["PictureInPictureAPI"], |
| }, |
| { |
| name: "PublicKeyCredentialsGet", |
| feature_policy_name: "publickey-credentials-get", |
| depends_on: ["WebAuthenticationGetAssertionFeaturePolicy"], |
| }, |
| { |
| name: "ScreenWakeLock", |
| feature_policy_name: "screen-wake-lock", |
| depends_on: ["WakeLock"], |
| }, |
| { |
| name: "Serial", |
| feature_policy_name: "serial", |
| depends_on: ["Serial"], |
| }, |
| { |
| name: "StorageAccessAPI", |
| feature_default: "EnableForAll", |
| feature_policy_name: "storage-access-api", |
| depends_on: ["StorageAccessAPI"], |
| }, |
| { |
| name: "SyncXHR", |
| feature_default: "EnableForAll", |
| feature_policy_name: "sync-xhr", |
| }, |
| { |
| name: "TrustTokenRedemption", |
| feature_policy_name: "trust-token-redemption", |
| depends_on: ["TrustTokens"], |
| }, |
| { |
| name: "Usb", |
| feature_policy_name: "usb", |
| depends_on: ["WebUSB"], |
| }, |
| { |
| name: "VerticalScroll", |
| feature_policy_name: "vertical-scroll", |
| feature_default: "EnableForAll", |
| depends_on: ["ExperimentalPolicies"], |
| }, |
| { |
| name: "WebShare", |
| feature_policy_name: "web-share", |
| depends_on: ["WebShare"], |
| }, |
| { |
| name: "WebXr", |
| feature_policy_name: "xr-spatial-tracking", |
| depends_on: ["WebXR"], |
| }, |
| ], |
| } |