Closed Bug 1631898 Opened 5 years ago Closed 4 years ago

Handle normandy installed search addons in SearchService startup

Categories

(Firefox :: Search, task, P3)

task
Points:
5

Tracking

()

RESOLVED FIXED
Firefox 79
Iteration:
79.2 - June 15 - June 28
Tracking Status
firefox79 --- fixed

People

(Reporter: daleharvey, Assigned: daleharvey)

References

Details

Attachments

(1 file, 1 obsolete file)

As the last part to https://bugzilla.mozilla.org/show_bug.cgi?id=1625179

SearchService assumes all addons referenced by the configurations are going to be builtIn and installed via |AddonManager.installBuiltinAddon(path)|, if an updated addon is being delivered via normandy then that is not going to work

For active addons that report to the SearchService on startup we should probably be able to do a lookup from the engines the AddonManager has reported to us. However if an addon has not yet been installed but has been updated I am not sure how that will work

Hey Shane, I am not 100% certain we havent already covered this and I have forgotten, if so sorry, but just in case there is work we need to do here

I am thinking about the case:

  1. Boot firefox in USA, SearchService installs google, amazon, twitter
  2. We update the the codes for Yandex, deliver an updated extension via Normandy
  3. We go to Russia, Firefox has figured out we have moved region, loads new engines including Yandex

How does SearchService ensure Yandex is installed?

Cheers

Flags: needinfo?(mixedpuppy)

(In reply to Dale Harvey (:daleharvey) from comment #1)

I am thinking about the case:

  1. Boot firefox in USA, SearchService installs google, amazon, twitter
  2. We update the the codes for Yandex, deliver an updated extension via Normandy
  3. We go to Russia, Firefox has figured out we have moved region, loads new engines including Yandex

How does SearchService ensure Yandex is installed?

My expectations are that the updated extension would only be delivered to the relevant regions. If Firefox switches regions to Russia, it will load Yandex and other engines via the search engine config, so will probably get the built-in versions. Once Remote Settings kicks in, then we'll get the updated Yandex delivered to us, at which point add-on manager will notify the search service to update.

That is possible, but it will always be possible (and very likely until we consolidate region fetching) that normandy delivers the update before the SearchService sees the new region so it would be good to know what happens when we AddonManager.installBuiltInAddon an addon that has a normandy delivered update.

Priority: -- → P3
Severity: -- → normal
No longer blocks: search-modernization
Blocks: 1635249

So discussed this with Shane last night, as it stands normandy installed addons will be treated by the SearchService as user installed engines. We need to add checks for isSystem to the current places that we currently check for isBuiltIn, with that normandy addons should just work as we expect, although we "may" want to do some refactoring of the startup path @ https://searchfox.org/mozilla-central/source/toolkit/components/search/SearchService.jsm#2559 at the same time

Summary: Ensure normandy installed search addons can be loaded in SearchService startup → Handle normandy installed search addons in SearchService startup
Flags: needinfo?(mixedpuppy)
Assignee: nobody → dharvey
Iteration: --- → 78.1 - May 4 - May 17
Points: --- → 5
Attachment #9146887 - Attachment is obsolete: true
Iteration: 78.1 - May 4 - May 17 → 79.1 - June 1 - June 14
Blocks: 1641993
Iteration: 79.1 - June 1 - June 14 → 79.2 - June 15 - June 28
Pushed by dharvey@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9e61cb1a6d0f Handle Normandy installed system search extensions. r=Standard8
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 79
Regressions: 1646650
Regressions: 1647256
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: