Open Bug 1282982 Opened 8 years ago Updated 6 months ago

Implement chrome.management.setEnabled

Categories

(WebExtensions :: General, enhancement, P5)

enhancement

Tracking

(Not tracked)

People

(Reporter: mattw, Unassigned)

References

Details

(Whiteboard: [management]triaged)

Some examples of usage from "popular chrome extensions":

- Video Downloader Pro is using it to enable a particular extension (Google Cast), after asking the user's permission.

- Adblock has a feature that allows a user to disable all other extensions, for which it uses setEnabled.
Summary: Implement chrome.management.setEnabled for WebExtensions → Implement chrome.management.setEnabled
Whiteboard: [management] → [management]triaged
Version: 34 Branch → unspecified
We are going to hold off on implementing this API method until some compelling use cases are presented by the developer community.
No longer blocks: 1282979
Priority: P2 → P5
Here is an example of use case for wich I need this API working also to enable / disable a WebExtension.

I have a WebExtension (call it A) with allow users to enable / disable several parameters related to our company user experience, including the use of our a newtab page.
As in WebExtension, newTab feature is provided by key chrome_url_overrides in manifest, I can't enable or disable it on the fly from my Extension. A solution is to have a dedicated webExtension (call it B) who only provide this newTab feature, and we propose to our users to install it only if they want to enable this feature. 

If a user change his mind, and want to disable it, we would like to have a simple way to disable it.
To allow users to enable or disable this new tab page in one click from extension A, I need to enable or disable extension B. That means calling setEnable extension B from A.
(In reply to Bob Silverberg [:bsilverberg] from comment #2)
> We are going to hold off on implementing this API method until some
> compelling use cases are presented by the developer community.

2 years later and setEnabled still only works for themes...

Here is one of the best use cases:

An extension manager, where the user can manage selective activation of add-ons from a handful icon on the add-ons bar, primarly for security purposes, like the metamask extension add-ons or other cryptocurrencies/financial/sensitive related add-ons that expose their APIs to other tabs with potential harmful effects, this kind of "add-on manager" would also be useful for performance purposes, where the user can define profiles or sets of enabled/disabled add-ons to quickly change their state.

The Chrome web store has plenty of this extension managers, being very popular some of them, like Extensity or Extension Manager.
Product: Toolkit → WebExtensions
Bulk move of bugs per https://bugzilla.mozilla.org/show_bug.cgi?id=1483958
Component: Untriaged → General
Another example it would help someone develop a better add-on manager since Bug 1499500 was caused in version 59, things like https://ainoob.com/en/project/nooboss could be developed for Firefox.
I really need this API to support extensions to complete my addon (I have it working seamlessly in chrome)

Firefox - https://addons.mozilla.org/en-US/firefox/addon/permission-inspector/
Chrome - https://chrome.google.com/webstore/detail/permission-inspector/ahfoecogpaccmnaiilgchbfemajmkcdi
Flags: needinfo?(bob.silverberg)
Flags: needinfo?(bob.silverberg)

After the changes to the add-on manager in Firefox 68, it would be nice if this feature could be reconsidered. The add-on manager is fine for users with only a few extensions. However, for users that have many extensions installed, the add-on manager is inefficient. Here are some issues with the current about:addons page:

  • Interacting with an extension now requires multiple clicks.
  • Not many extensions are displayed on the screen and a lot of scrolling may be required to find one.
  • Enabled and disabled extensions look the same. When scrolling fast, it's easy to miss when the other section begins.
  • If a user wishes to temporarily enable/disable multiple extensions that are displayed on the screen, the extensions are immediately sorted into the opposite category, requiring more scrolling to access them again.

With the capability to enable/disable an extension, extension managers in Firefox could do the following:

  • Compactly display the extensions in either a sidebar, toolbar button popup, or customized add-on page.
  • Display a find box that could search through extension names as well as descriptions.
  • Sort the extensions by enabled/disabled or alphabetically with favorite extensions optionally on top of the list.
  • Enable or disable extensions with a single click.
  • Go to an extensions options page or home page with a single click.
  • Switch between groups of extensions with profiles.
  • Disable all extensions and then restore the same extensions back to enabled with a toggle switch.
  • Use tabs or folders to place extensions into categories like enabled, disabled, favorites, recent, etc...

10 of the top Chrome extension managers currently have around 500k users. While a small number, it still shows that there is an audience for this feature.

Google Chrome extension managers:

  • Extensity (166k)
  • SimpleExtManager (78k)
  • Extensions Manager (aka Switcher) (74.6k)
  • Extension Manager (65k)
  • Disable Extensions Temporarily (36.6k)
  • Chrome Extension Manager (35.8k)
  • One Click Extensions Manager (19.5k)
  • Custom Chrome - Extension Manager (11.6k)
  • Extensions Manager (10.8k)
  • NooBoss(9.9k)
Type: defect → task

Would like to add additional pain points from the built in add-on manager:

  • can't stack add-on icons in toolbar (useful for hiding mostly passive security/privacy add-ons)
  • can't quickly (few clicks) add/remove/enable/disable/configure add-ons from toolbar
  • add-on screen doesn't allow sorting/organizing of list
  • add-on screen doesn't support ctl+f
  • no add-on scoping (tab,container,site) /automation

If you have more than a handful of extensions, firefox's addon menu is very tedious. The vast amounts of empty space does not help.

See Also: → 1650479

Bug 1336908 added support for enabling/disabling themes. Disabling/enabling extensions is not supported yet due to concerns of abuse.

If a patch comes along that has safeguards against abuse (e.g. prompting the user before allowing an extension to disable another extension, with clear attribution and hooking up with the "Report abuse" feature, potentially with an opt-in (internal permission / preference)), then we are willing to approve it.

Type: task → enhancement
See Also: → 1336908
Severity: normal → S3

What about allowing it for enterprise force_installed extensions?

You need to log in before you can comment on or make changes to this bug.