permissions.contains()
Checks whether the extension has specific permissions.
In this article
Syntax
js
let getContains = browser.permissions.contains( permissions // Permissions object)Parameters
permissionsA
permissions.Permissionsobject.
Return value
APromise fulfilled withtrue if the extension has all the permissions listed in thepermissions argument, orfalse otherwise. For host permissions, if the extension's permissionspattern-match the permissions listed inorigins, then they are considered to match.
Examples
js
// Extension permissions are:// "webRequest", "tabs", "*://*.mozilla.org/*", and "healthInfo" in "data_collection"let testPermissions1 = { origins: ["*://mozilla.org/"], permissions: ["tabs"], data_collection: ["healthInfo"],};const testResult1 = await browser.permissions.contains(testPermissions1);console.log(testResult1); // truelet testPermissions2 = { origins: ["*://mozilla.org/"], permissions: ["tabs", "alarms"],};const testResult2 = await browser.permissions.contains(testPermissions2);console.log(testResult2); // false, "alarms" doesn't matchlet testPermissions3 = { origins: ["https://developer.mozilla.org/"], permissions: ["tabs", "webRequest"],};const testResult3 = await browser.permissions.contains(testPermissions3);console.log(testResult3); // true: "https://developer.mozilla.org/", matches: "*://*.mozilla.org/*"let testPermissions4 = { origins: ["https://example.org/"],};const testResult4 = await browser.permissions.contains(testPermissions4);console.log(testResult4); // false: "https://example.org/", `origins` doesn't matchlet testPermissions5 = { data_collection: ["searchTerms"],};const testResult5 = await browser.permissions.contains(testPermissions4);console.log(testResult5); // false: "searchTerms" doesn't match data type in `data_collection`Example extensions
Browser compatibility
Note:This API is based on Chromium'schrome.permissions API.