Skip to content

Latest commit

 

History

History
86 lines (64 loc) · 8.67 KB

supported-manifest-keys.md

File metadata and controls

86 lines (64 loc) · 8.67 KB
description title author ms.author ms.date ms.topic ms.prod keywords
Find information on supported manifest keys as well as their known issues/Chrome incompatibilities.
Extensions - Supported manifest keys
MSEdgeTeam
msedgedevrel
12/16/2019
article
microsoft-edge
edge, web development, html, css, javascript, developer

Supported manifest keys

[!INCLUDE deprecation-note]

Every extension has a JSON-formatted manifest file, named manifest.json. This file provides important information for the extension ranging from its name to its permissions. Unless specified in a note below, the Microsoft Edge manifest properties follow the same implementation as Chrome.

Here is an example of a Microsoft Edge JSON manifest file.

Required keys

The following keys are required:

Key Known issues Chrome incompatibilities
author
name
version

Recommended keys

The following keys are recommended:

Key Known issues Chrome incompatibilities
browser_specific_settings Indicates the extension's preferred state in the browser. The browser may or may not choose to respect it in a future release, depending on factors such as the reputation of the extension, or the total number of buttons already in the user's address bar. This can be used to indicate the default position of the browserAction icon.

"browser_specific_settings": {
    "edge": {
        "browser_action_next_to_addressbar": true
    }
}

Not supported in Chrome.
default_locale
description
icons
manifest_version Currently ignored in Microsoft Edge.

browser_action or page_action keys

You can only include one of the following keys (or none):

Key Known issues Chrome incompatibilities
browser_action Microsoft Edge does not support the following syntax: browser_action : {"default_icon" : "icon.png" }
Size for icons must be specified.
Preferred sizes: 20px, 25px, 30px, 40px.
Other supported sizes: 19px, 35px, 38px.
page_action Microsoft Edge does not support the following syntax: page_action : {"default_icon" : "icon.png" }
Size for icons must be specified.
Preferred sizes: 20px, 25px, 30px, 40px.
Other supported sizes: 19px, 35px, 38px.

Optional keys

The following keys are optional:

Key Known issues Chrome incompatibilities
background Persistent is a required field for Microsoft Edge.
content_scripts
content_security_policy The content security policy of a page blocks websockets in content scripts, generating an undefined exception. Microsoft Edge extensions currently only support Default Policy Restrictions: script-src 'self'; object-src 'self'
incognito
key
options_page
permissions
short_name
web_accessible_resources

Supported permissions

The following permissions are supported:

Permission Description
<all_urls> Allows background and content scripts to interact with all webpages with extra privileges.
contextMenus Gives access to contextMenus API. This enables adding items to Microsoft Edge's context menu.
cookies Gives access to the cookies API. This enable querying and modifying cookies as well as being notified when they change.
geolocation Allow the extension to use the HTML5 geolocation API without prompting the user for permission.
idle Gives access to the idle API. This enables detection of when the machine's idle state changes.
storage Gives access to the storage API. This enables storing, retrieving, and tracking changes to user data.
tabs Gives access to the tabs API to interact with the browser's tab system. This enables creating, modifying, and rearranging tabs in the browser, including the URLs associated with each tab.
unlimitedStorage Allows storage.local to have unlimited storage (depending on system resources) instead of 5MB. The max storage per key value pair is also increased from 5MB to unlimited (depending on system resources).
webNavigation Gives access to the webNavigation API. This enables receiving notifications about the status of navigation requests.
webRequest Gives access to the webRequest API. This enables observing and analyzing traffic, as well as intercepting, blocking or modifying request in-flight.
webRequestBlocking Required if an extension uses the webRequest API in a blocking fashion.