Closed Bug 1582185 Opened 5 years ago Closed 5 years ago

[meta] Add GeckoView support for installing/uninstalling extensions

Categories

(GeckoView :: Extensions, enhancement)

Unspecified
Android
enhancement
Not set
normal

Tracking

(firefox71 wontfix, firefox72 affected)

RESOLVED FIXED
Tracking Status
firefox71 --- wontfix
firefox72 --- affected

People

(Reporter: agi, Unassigned)

References

Details

(Keywords: meta)

Attachments

(1 obsolete file)

In GeckoView we have registerWebExtension and unregisterWebExtension to run first-party extensions in apps.

For third-party extensions, we need to support installing and uninstalling an extension so that the following things can happen:

  • We check signatures
  • We remember settings and options for the extension
  • the extension runs at startup (especially important for extensions that manipulate network requests)

We want to reuse code from the AddonManager as much as possible here, probably using the WebExtensionController for this.

This bug will likely turn into a meta-bug.

Blocks: 1582194
No longer blocks: webext-geckoview
Rank: 2
Priority: -- → P2

Mass moving bugs to the Extension component.

Component: General → Extensions

Based on the preliminary mock-ups for managing extensions (https://miro.com/app/board/o9J_kw8Lt8g=), we'd need to make sure that the returned extension object exposes the following meta data:

  • The list of required permissions
  • The link to the settings (options_ui) page
  • The link to the default popup

The mock-ups also contains an option to configure whether or not the extension is allowed to run in private sessions. This can be done at a later stage though.

The mock-ups also show an additional step to have users confirm required permissions before completing installation. This will likely have an impact on the planned API as well and needs some more discussion.

The required permissions are being returned from the AMO (collection) endpoint. So the step to confirm permissions can also be handled by A-C / Fenix directly.

Agi plans to start in November, but expects to deliver in December. He might file separate bugs for November's design work and December's implementation.

Assignee: nobody → agi
OS: All → Android

Adding to GV's November sprint because Agi says Fenix would really like this in November.

He will get agreement on the API. Then we can split up installation and uninstallation to multiple developers. Extension updating can be follow up work.

Priority: P2 → P1
Whiteboard: [geckoview:m1911]
See Also: → 1596867
Blocks: 1598792
Depends on: 1599578
Summary: Add GeckoView support for installing/uninstalling extensions → [meta] Add GeckoView support for installing/uninstalling extensions
Depends on: 1599580
Depends on: 1599581
Depends on: 1599585

Unassigning since this is a meta now.

Assignee: agi → nobody
Whiteboard: [geckoview:m1911]
Depends on: 1600742
Depends on: 1601067

GeckoView will install extensions from the native UI so it doesn't have a
browser object to pass into this method.

Assignee: nobody → agi

Comment on attachment 9113314 [details]
Bug 1582185 - Allow null aBrowser in AddonManager.installAddonFromWebpage.

Revision D55726 was moved to bug 1599580. Setting attachment 9113314 [details] to obsolete.

Attachment #9113314 - Attachment is obsolete: true
Assignee: agi → nobody
Depends on: 1601420
Keywords: meta
Priority: P1 → --
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: