permissions.remove()

Ask to give up 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. Permissions must come from the set of permissions defined in the optional_permissions manifest.json key.

This is an asynchronous function that returns a Promise.

Syntax

var removing = browser.permissions.remove(
  permissions                // Permissions object
)

Parameters

permissions
A permissions.Permissions object.

Return value

A Promise that will be fulfilled with true if the permissions listed in the permissions argument were removed, or false otherwise.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaSafariFirefox for Android
removeChrome Full support YesEdge Full support 79Firefox Full support 55Opera Full support YesSafari Full support 14
Notes
Full support 14
Notes
Notes Removing <all_urls> or *://*/* origins will remove previously granted permission to request specific origin patterns and will stop automatically prompting the user for access to any visited website via the extension's access popover in the toolbar.
Firefox Android Full support 55

Legend

Full support  
Full support
See implementation notes.
See implementation notes.

Examples

This code adds a click handler that removes a given permission.

const permissionToRemove = {
  permissions: ["history"]
}

function remove() {
  console.log("removing");
  browser.permissions.remove(permissionToRemove).then(result => {
    console.log(result);
  });
}

document.querySelector("#remove").addEventListener("click", remove);

Example extensions

Acknowledgements

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.