Closed Bug 1610293 Opened 2 years ago Closed 2 years ago

maybeReloadEngines should not rebuild the entire engine list, only handle new/update/remove of engines


(Firefox :: Search, task, P3)




Firefox 80
80.2 - July 13 - July 26
Tracking Status
firefox80 --- fixed


(Reporter: standard8, Assigned: standard8)




(3 files)

maybeReloadEngines currently assumes that the entire engine list is going to change. That is not usually the case, and ends up with doing more work than necessary, including writing to the cache.

Ideally we should only add or remove engines from the existing list. For the modern configuration we also need to remember to handle engine updates where the configuration has actually changed.

Blocks: 1612824
Blocks: 1613182
Severity: normal → N/A
Points: --- → 8
Blocks: post-modern-search-cleanup
No longer blocks: 1613182
Blocks: 1589710
Assignee: nobody → standard8
Iteration: --- → 80.1 - June 29 - July 12
Depends on: 1650756

Also note: I intentionally haven't read from the cache for maybeReloadEngines in the new version. Existing engines already have the cached information stored within them, and the engine's settings don't overwrite that. Hence, we really don't need to read the cache here.

Pushed by
Split out delay region notification test to separate test file, so that test_reload_engines can concentrate on testing the reload engines function. r=daleharvey
Rewrite maybeReloadEngines to not completely reload the search engines. r=daleharvey
When reloading engines, ensure useDBForOrder isn't set, and handle more cases of updating engines. r=daleharvey
Iteration: 80.1 - June 29 - July 12 → 80.2 - July 13 - July 26
Regressions: 1653976
Regressions: 1654377
You need to log in before you can comment on or make changes to this bug.