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
)
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
|
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 |
? |
? |
79 |
? |
15 |
? |
Examples
let testPermissions1 = {
origins: ["*://mozilla.org/"],
permissions: ["tabs"]
};
const testResult1 = await browser.permissions.contains(testPermissions1);
console.log(testResult1);
let testPermissions2 = {
origins: ["*://mozilla.org/"],
permissions: ["tabs", "alarms"]
};
const testResult2 = await browser.permissions.contains(testPermissions2);
console.log(testResult2);
let testPermissions3 = {
origins: ["https://developer.mozilla.org/"],
permissions: ["tabs", "webRequest"]
};
const testResult3 = await browser.permissions.contains(testPermissions3);
console.log(testResult3);
let testPermissions4 = {
origins: ["https://example.org/"]
};
const testResult4 = await browser.permissions.contains(testPermissions4);
console.log(testResult4);