diff --git a/index.bs b/index.bs index ab4d6795..e11c271e 100644 --- a/index.bs +++ b/index.bs @@ -11,33 +11,33 @@ Abstract: [Placeholder] Abstract. Markup Shorthands: markdown yes -# File structure +## File structure Once unpacked from the distribution format, a WebExtension is a directory containing a number of files. Note: In some operating systems, filenames are case insensitive. This can lead to naming collisions. -## manifest.json +### manifest.json A Manifest file. -## _locales subdirectory +### _locales subdirectory An optional directory containing strings as defined in localization. -## Other files +### Other files An extension may also contain other files, such as those referenced in the content_scripts and background part of the Manifest. -# Manifest +## Manifest A WebExtension must have a manifest file at its root directory. -## Manifest file +### Manifest file A manifest file is a [[!JSON]] document named `manifest.json`. Malformed JSON files are not supported. -## Manifest keys +### Manifest keys If manifest keys that are not defined in this specification are specified, implementors must ignore those keys. @@ -68,88 +68,138 @@ The following keys must be considered valid in Manifest V3: * `host_permissions`: optional * `optional_host_permissions`: optional -### Key `manifest_version` +#### Key `manifest_version` This key must be present. -### Key `name` +#### Key `name` Name of the extension used in the browser’s user interface. This should be the full name used to identify the extension. See also `short_name`. This key must be present. This property can be localized. -### Key `version` +#### Key `version` This key must be present. -### Key `permissions` +#### Key `permissions` This key may be present. -### Key `optional_permissions` +#### Key `optional_permissions` This key may be present. -### Key `host_permissions` +#### Key `host_permissions` This key may be present. -### Key `optional_host_permissions` +#### Key `optional_host_permissions` This key may be present. -### Key `default_locale` +#### Key `default_locale` This key must be present if the `_locales` subdirectory is present, must be absent otherwise. -### Key `background` +#### Key `background` This key may be present. -### Key `commands` +#### Key `commands` This key may be present. -### Key `content_scripts` +#### Key `content_scripts` This key may be present. -### Key `content_security_policy` +#### Key `content_security_policy` This key may be present. -### Key `description` +#### Key `description` This key may be present. -### Key `icons` +#### Key `icons` This key may be present. -### Key `options_ui` +#### Key `options_ui` This key may be present. -### Key `short_name` +#### Key `short_name` The short name of the extension. This value should be used in contexts where `name` is too long to use in full. If `short_name` is not provided, manifest consumers should use a truncated version of `name`. This key may be present. This property can be localized. -### Key `web_accessible_resources` +#### Key `web_accessible_resources` This key may be present. -### Key `externally_connectable` +#### Key `externally_connectable` This key may be present. -### Key `devtools_page` +#### Key `devtools_page` This key may be present. -# Localization +### Reserved file names + +Filenames beginning with an underscore (`_`) are reserved for use by user agent. + +## Isolated worlds + +## Unavailable APIs + +## The `browser` global + +## Extension origin + +## Localization The _locales subdirectory of a WebExtension can contain strings for internationalization purposes. Issue(62): Specify localization handling. + +## Host permissions + +### Cross-origin fetch + +## Match patterns + +## Concepts + +### Uniqueness of extension IDs + +### Promises and callbacks + +### User gestures and activeTab + +### Extension permissions and web perissions + +## Content security policy + +## Architecture + +### Background content + +### Content scripts + +#### Isolated worlds + +### Extension pages + +## Classes of security risk + +## Web accessible resources + +## Interaction with the web + +### Current behavior of cookie partitioning + +## Version number handling