permissions.contains()

Check whether the extension has the permissions listed in the given permissions.Permissions object.

The Permissions argument may contain either an origins property, which is an array of host permissions, or a permissions property, which is an array of API permissions, or both.

This is an asynchronous function that returns a Promise. The promise is fulfilled with true only if all the extension currently has all the given permissions. For host permissions, if the extension's permissions pattern-match the permissions listed in origins, then they are considered to match.

Syntax

let getContains = browser.permissions.contains(
  permissions                // Permissions object
)

Parameters

permissions

A permissions.Permissions object.

Return value

A Promise that will be fulfilled with true if the extension already has all the permissions listed in the permissions argument, or false otherwise.

Browser compatibility

Examples

// Extension permissions are:
// "webRequest", "tabs", "*://*.mozilla.org/*"

let testPermissions1 = {
  origins: ["*://mozilla.org/"],
  permissions: ["tabs"]
};

browser.permissions.contains(testPermissions1).then((result) => {
  console.log(result);    // true
});

let testPermissions2 = {
  origins: ["*://mozilla.org/"],
  permissions: ["tabs", "alarms"]
};

browser.permissions.contains(testPermissions2).then((result) => {
  console.log(result);   // false, "alarms" doesn't match
});

let testPermissions3 = {
  origins: ["https://developer.mozilla.org/"],
  permissions: ["tabs", "webRequest"]
};

browser.permissions.contains(testPermissions3).then((result) => {
  console.log(result);   // true: "https://developer.mozilla.org/"
});                      // matches: "*://*.mozilla.org/*"

let testPermissions4 = {
  origins: ["https://example.org/"]
};

browser.permissions.contains(testPermissions4).then((result) => {
  console.log(result);   // false, "https://example.org/"
});                      // does not match

Note: This API is based on Chromium's chrome.permissions API.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.