WebExtensions/Permissions

From MozillaWiki
Jump to: navigation, search

This page covers permissions for WebExtensions in Firefox. There are a few main parts: required permissions, optional permissions and the permissions API.

Initial product requirements document.

Status

Update January 2017: Mostly landed in Nightly and should be on by default in Firefox 54.

You can try it out until its on by default by creating the preference: extensions.webextPermissionPrompts as a boolean set to true. Then install a WebExtension. Here are some examples.

Required permissions

This is the biggest class and it covers prompting a user when they install an add-on. If they upgrade an add-on and the permissions change then they will also be prompted with a warning for the upgrades.

When: aiming for Firefox 53.

Scenarios being looked at include:

  • installing a WebExtension from a third party site
  • installing a WebExtension from AMO or the disco pane
  • installing a WebExtension temporarily through about:debugging (no permissions should be shown)
  • installing a WebExtension through about:addons
  • have a WebExtension be side loaded
  • have a WebExtension be upgraded

Not covered:

  • changes to legacy extension types

Tracking bug: 1308292

ID Priority Status Summary
1329884 P3 NEW Handle notifications for simultaneous installs better
1329942 P3 NEW Misaligned icon and webextension name in permissions doorhanger
1332061 P1 NEW Add unsigned warning to webextension permission dialog
1334096 P1 NEW Sideloading button should be removed if it not used to enable to extension
1335985 P1 NEW Add delay before an action can be taken on a persistent notification when the window is reactivated
1337870 -- NEW Fix ellipsis on truncated add-on names
1337951 P3 NEW Add separator above menu items for sideloaded/updated addons
1338713 P1 NEW Basic telemetry for permissions notifications
1339952 -- NEW List permissions in descending order of priority in the install prompts
1340078 -- NEW Old permissions are reposted in interactive webextension update pop-up
1340102 -- NEW No updates found after closing the Add-ons Manager tab which displays the interactive update pop-up
1340109 -- NEW ”No updates found” message is displayed after canceling the interactive update pop-up
1340220 -- NEW Can enable a sideloaded add-on skipping permissions using gcli
1340443 -- NEW “nativeMessaging” prevents the installation of a WebExtension
1340471 -- NEW Legacy add-ons update is broken while permission preference is enabled
1340501 -- NEW Incorrect text in sideloading-install pop-up for several types of add-ons
1340531 -- NEW A sideloaded add-on can be enabled after it is removed

17 Total; 17 Open (100%); 0 Resolved (0%); 0 Verified (0%);


UX

The main UX flow for this is on Figma. However at the time of writing there a few divergences from the user interface, noted above.

Optional permissions and associated permissions API

Optional permissions are currently in the planning stage and will land after required permissions. This is because the majority of extensions on the Chrome store have a required permission (around 90%). Where as only about 8% have an optional permission.

When: aiming for Firefox 54.

Tracking bug: 1197420

ID Priority Status Summary
1333477 -- NEW Support injecting and invalidating schema wrappers dynamically

1 Total; 1 Open (100%); 0 Resolved (0%); 0 Verified (0%);


UX

The main UX flow for this is on Figma. However at the time of writing there a few divergences from the user interface, noted above.