// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This features file defines manifest keys implemented under src/chrome.
// See chrome/common/extensions/api/_features.md to understand this file, as
// well as feature.h, simple_feature.h, and feature_provider.h.

{
  "about_page": {
    "channel": "stable",
    "extension_types": ["shared_module"]
  },
  "action": {
    "channel": "stable",
    "extension_types": ["extension"],
    "min_manifest_version": 3
  },
  "app.linked_icons": {
    "channel": "stable",
    "extension_types": ["hosted_app"]
  },
  "app.launch": {
    "channel": "stable",
    "extension_types": ["legacy_packaged_app", "hosted_app"]
  },
  "author": {
    "channel": "stable",
    "extension_types": "all"
  },
  "browser_action": {
    "channel": "stable",
    "extension_types": ["extension"],
    "max_manifest_version": 2
  },
  "chrome_settings_overrides": {
    "channel": "stable",
    "extension_types": ["extension"],
    "platforms": ["win", "mac"]
  },
  "chrome_url_overrides": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "chrome_url_overrides.activationmessage": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "platforms": ["chromeos"]
  },
  "chrome_url_overrides.keyboard": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"],
    "platforms": ["chromeos"]
  },
  "commands": {
    "channel": "stable",
    "extension_types": ["extension", "platform_app"]
  },
  "content_scripts": [
    {
      "channel": "stable",
      "extension_types": ["extension", "legacy_packaged_app"]
    },
    {
      // The URLs that can be matched with content scripts added by login screen
      // extensions are restricted to the Imprivata IdP.
      "channel": "stable",
      "dependencies": ["behavior:imprivata_login_screen_extension"],
      "extension_types": ["login_screen_extension"]
    }
  ],
  "converted_from_user_script": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app"
    ]
  },
  "event_rules": {
    "channel": "stable",
    // "event_rules" does not grant any capabilities, it's just
    // an optimisation for any API which uses events, so it's safe
    // to expose to all extension types.
    "extension_types": [
      "extension",
      "legacy_packaged_app",
      "platform_app",
      "hosted_app",
      "shared_module",
      "theme"
    ]
  },
  "devtools_page": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "display_in_launcher": [
    {
      "channel": "stable",
      "extension_types": ["legacy_packaged_app", "platform_app", "hosted_app"],
      "location": "component"
    },
    {
      "channel": "stable",
      "extension_types": ["legacy_packaged_app", "platform_app"],
      "allowlist": [
        "64291898C201DAF15B090EC4B9EC270BEB6BE6FF",
        "07BD6A765FFC289FF755D7CAB2893A40EC337FEC",  // http://crbug.com/453955
        "896B85CC7E913E11C34892C1425A093C0701D386",  // http://crbug.com/453955
        "11A01C82EF355E674E4F9728A801F5C3CB40D83F",  // http://crbug.com/453955
        "F410C88469990EE7947450311D24B8AF2ADB2595"   // http://crbug.com/453955
      ]
    }
  ],
  "display_in_new_tab_page": [
    {
      "channel": "stable",
      "extension_types": ["legacy_packaged_app", "platform_app", "hosted_app"],
      "location": "component"
    },
    {
      "channel": "stable",
      "extension_types": ["legacy_packaged_app", "platform_app"],
      "allowlist": [
        "64291898C201DAF15B090EC4B9EC270BEB6BE6FF",
        "07BD6A765FFC289FF755D7CAB2893A40EC337FEC",  // http://crbug.com/453955
        "896B85CC7E913E11C34892C1425A093C0701D386",  // http://crbug.com/453955
        "11A01C82EF355E674E4F9728A801F5C3CB40D83F",  // http://crbug.com/453955
        "F410C88469990EE7947450311D24B8AF2ADB2595"   // http://crbug.com/453955
      ]
    }
  ],
  "export": {
    "channel": "stable",
    "extension_types": ["shared_module"]
  },
  "file_browser_handlers": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "file_system_provider_capabilities": [{
    "channel": "stable",
    "extension_types": ["extension", "platform_app"]
  }, {
    "channel": "stable",
    "extension_types": ["legacy_packaged_app"],
    "platforms": ["chromeos", "lacros"],
    "allowlist": [
      "0EA6B717932AD64C469C1CCB6911457733295907",  // http://crbug.com/673004
      "58B0C2968C335964D5433E89CA4D86628A0E3D4B"   // http://crbug.com/673004
    ]
  }],
  "homepage_url": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "import": {
    "channel": "stable",
    "extension_types": "all"
  },
  "input_components": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "minimum_chrome_version": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app", "theme"
    ]
  },
  "natively_connectable": {
    "channel": "dev",
    "extension_types": ["extension"]
  },
  "omnibox": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "optional_permissions": {
    "channel": "stable",
    "extension_types": [
      "extension",
      "legacy_packaged_app",
      "hosted_app",
      "platform_app",
      "chromeos_system_extension"
    ]
  },
  "options_page": {
    "channel": "stable",
    "extension_types": [
      "extension",
      "legacy_packaged_app",
      "hosted_app",
      "chromeos_system_extension"
    ]
  },
  "page_action": {
    "channel": "stable",
    "extension_types": ["extension"],
    "max_manifest_version": 2
  },
  "platforms": {
    "channel": "stable",
    "extension_types": "all"
  },
  "requirements": {
    "channel": "stable",
    "extension_types": [
      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    ]
  },
  "short_name": {
    "channel": "stable",
    "extension_types": "all"
  },
  "side_panel": {
    "channel": "stable",
    "extension_types": ["extension"],
    "min_manifest_version": 3
  },
  "storage": {
    "channel": "stable",
    "extension_types": [
      "extension",
      "legacy_packaged_app",
      "platform_app",
      "login_screen_extension"
    ]
  },
  "system_indicator": {
    "channel": "stable",
    "allowlist": [
      "F29716B08705C9D3C12CDFE3F638BAE709570C31",  // Tests
      // See crbug.com/245730 for details on the Hangouts allowlist.
      "53041A2FA309EECED01FFC751E7399186E860B2C",  // Hangouts
      "312745D9BF916161191143F6490085EEA0434997",  // Hangouts beta
      "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",  // Hangouts alpha
      "E7E2461CE072DF036CF9592740196159E2D7C089",  // Hangouts debug
      "49DA0B9CCEEA299186C6E7226FD66922D57543DC"   // Hangouts dev
    ],
    "extension_types": ["extension", "platform_app"],
    "platforms": ["linux", "mac", "win"]
  },
  "theme": {
    "channel": "stable",
    "extension_types": ["theme"]
  },
  "tts_engine": {
    "channel": "stable",
    "extension_types": ["extension", "legacy_packaged_app"]
  },
  "update_url": {
    "channel": "stable",
    "extension_types": "all"
  },
  "url_handlers": {
    "channel": "stable",
    "extension_types": ["platform_app"]
  }
}
