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.
permissions
permissions.Permissions
object.A Promise
that will be fulfilled with true
if the extension already has all the permissions listed in the permissions
argument, or false
otherwise.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
contains |
Yes |
79 |
55 |
? |
Yes |
14 |
? |
? |
55 |
? |
? |
? |
// Extension permissions are: // "webRequest", "tabs", "*://*.mozilla.org/*" var testPermissions1 = { origins: ["*://mozilla.org/"], permissions: ["tabs"] }; browser.permissions.contains(testPermissions1).then((result) => { console.log(result); // true }); var testPermissions2 = { origins: ["*://mozilla.org/"], permissions: ["tabs", "alarms"] }; browser.permissions.contains(testPermissions2).then((result) => { console.log(result); // false, "alarms" doesn't match }); var 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/*" var 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.
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/permissions/contains