Closed Bug 1599580 Opened 4 years ago Closed 4 years ago

Implement install/uninstall Extensions

Categories

(GeckoView :: Extensions, enhancement, P1)

Unspecified
All
enhancement

Tracking

(firefox73 fixed)

RESOLVED FIXED
mozilla73
Tracking Status
firefox73 --- fixed

People

(Reporter: agi, Assigned: agi)

References

Details

(Whiteboard: [geckoview:m1912])

Attachments

(7 files)

Design doc: https://docs.google.com/document/d/10Za-_ZqjrDpq-7qTOZ05k5IGkj8R2ttj5zB_3l8nX1Q/edit

This tracks implementing install/uninstall/installBuiltIn from the doc.

Assignee: nobody → agi
Rank: 1
Priority: -- → P2
Whiteboard: [geckoview:m1912]
Depends on: 1599897
Blocks: 1600742

This is a pre-requisite for making extensions persistent, as sometimes we have
to fetch state from Gecko, so getting the extension needs to be async.

Spinning off installBuiltIn to Bug 1601067.

Summary: Implement install/installBuiltIn/uninstall Extensions → Implement install/uninstall Extensions

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

Non-AddonManager extensions are invisible to GeckoView, so when a message like
"open a new tab" comes to GeckoView we will ignore them unless the extension is
properly registered.

Because of this, we need to register them in tests too.

Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/312f626fb657
Allow null aBrowser in AddonManager.installAddonFromWebpage. r=mixedpuppy,snorp
https://hg.mozilla.org/integration/autoland/rev/24d4083da050
Fix typo in setPromptDelegate. r=snorp
https://hg.mozilla.org/integration/autoland/rev/176337e5ba59
Make Extensions.get(id) asynchronous. r=snorp
https://hg.mozilla.org/integration/autoland/rev/e7fbe7147d19
Make GeckoViewWebExtension.extensionById async. r=snorp
https://hg.mozilla.org/integration/autoland/rev/51a8fbed80c3
Rename blockedReason -> blocklistState. r=snorp
https://hg.mozilla.org/integration/autoland/rev/7dc53077d58a
Set useAddonManager for extension tests that interact with GeckoView. r=snorp
https://hg.mozilla.org/integration/autoland/rev/64fd40663930
Implement install/uninstall extension. r=snorp,esawin
Backout by shindli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fa933e86341b
Backed out 7 changesets for causing linting opt failure CLOSED TREE
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f00e026cc99b
Allow null aBrowser in AddonManager.installAddonFromWebpage. r=mixedpuppy,snorp
https://hg.mozilla.org/integration/autoland/rev/8ea43c8cf1e8
Fix typo in setPromptDelegate. r=snorp
https://hg.mozilla.org/integration/autoland/rev/088580001d18
Make Extensions.get(id) asynchronous. r=snorp
https://hg.mozilla.org/integration/autoland/rev/4009a6313f44
Make GeckoViewWebExtension.extensionById async. r=snorp
https://hg.mozilla.org/integration/autoland/rev/39436056f305
Rename blockedReason -> blocklistState. r=snorp
https://hg.mozilla.org/integration/autoland/rev/1b7ed3d0de92
Set useAddonManager for extension tests that interact with GeckoView. r=snorp
https://hg.mozilla.org/integration/autoland/rev/7bc82062b998
Implement install/uninstall extension. r=snorp,esawin

Made a last minute change and forgot to update apilint, sorry about that!

Flags: needinfo?(agi)
See Also: → 1641735
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: