fune/browser/components/urlbar
Marco Bonardo e9ffac0820 Bug 1846781 - Use recalc_frecency for updating origins frecency instead of triggers. r=daisuke
Until now we updated origins frecency using direct SQL triggers.
While that guaranteed good performance, it also had some downsides:
 * replacing the algorithms is complicate, the current system only works
   with a straight sum of page frecencies. We are planning to experiment with
   different algorithms in the future.
 * it requires using multiple temp tables and DELETE triggers, that is error
   prone for consumers, that may forget to DELETE from the temp tables, and thus
   break data coherency.
 * there's not much atomicity, since the origins update must be triggered apart
   and a crash would lose some of the changes

This patch is changing the behavior to be closer to the recalc_frecency one that
is already used for pages.
When a page is added, visited, or removed, recalc_frecency of its origin is set
to 1. Later frecency of invalidated origins will be recalculated in chunks.
While this is surely less efficient than the existing system, it solves the
problems presented above.
A threshold is recalculated at each chunk, and stored in the moz_meta table.
This patch continues using the old STATS in the moz_meta table, to allow for
easier downgrades. Once a new threshold will be introduced we'll be able to
stop updating those.

The after delete temp table is maintained because there's no more efficient way
to remove orphan origins promptly. Thus, after a removal from moz_places,
consumers MUST still DELETE from the temp table to cleanup orphan origins.
This also introduces a delayed removal of orphan origins when their frecency
becomes 0.

Differential Revision: https://phabricator.services.mozilla.com/D186070
2023-09-13 13:58:30 +00:00
..
content Bug 1848048 - Add a result menu to disable trending results. r=dao,fluent-reviewers,settings-reviewers,flod,Gijs 2023-09-01 08:38:54 +00:00
docs Bug 1840558 - Remove autofill search engines code. r=mak 2023-06-29 12:36:08 +00:00
private Bug 1852354 - Invalidate the result menu command cache on "Show less frequently" for addon and Pocket suggestions. r=daisuke 2023-09-11 17:04:09 +00:00
tests Bug 1846781 - Use recalc_frecency for updating origins frecency instead of triggers. r=daisuke 2023-09-13 13:58:30 +00:00
unitconverters
.eslintrc.js
jar.mn Bug 1837239 - Remove the Preloaded Top URLs feature - r=adw 2023-06-13 18:27:12 +00:00
MerinoClient.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
metrics.yaml Bug 1849726: Rename telemetry ping name of quicksuggest r=adw 2023-08-23 00:51:24 +00:00
moz.build Bug 1842230 - URL bar suggested action for paste when clipboard contains valid URL. r=mak,flod 2023-08-01 11:51:59 +00:00
pings.yaml Bug 1836283 - Reinstrument contextual services PingCentre pings in parallel with Glean r=perry.mcmanis,nanj,wstuckey 2023-06-26 19:02:46 +00:00
QuickActionsLoaderDefault.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
QuickSuggest.sys.mjs Bug 1844495: Implement base of MDN Suggestions r=adw,dao 2023-07-28 00:15:27 +00:00
UrlbarController.sys.mjs Bug 1849726: Rename telemetry ping name of quicksuggest r=adw 2023-08-23 00:51:24 +00:00
UrlbarEventBufferer.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
UrlbarInput.sys.mjs Bug 1850902: Remove browser.fixup.alternate.enabled pref and its code path r=jteow,mak 2023-09-10 22:33:27 +00:00
UrlbarMuxerUnifiedComplete.sys.mjs Bug 1688019 - Dedupe google redirect links results. r=mak 2023-09-11 19:32:49 +00:00
UrlbarPrefs.sys.mjs Bug 1851940 - Enable addon suggestions by default with treatment B (no stars) for all Suggest users. r=daisuke 2023-09-07 05:04:06 +00:00
UrlbarProviderAboutPages.sys.mjs
UrlbarProviderAliasEngines.sys.mjs
UrlbarProviderAutofill.sys.mjs Bug 1840558 - Remove autofill search engines code. r=mak 2023-06-29 12:36:08 +00:00
UrlbarProviderBookmarkKeywords.sys.mjs
UrlbarProviderCalculator.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderClipboard.sys.mjs Bug 1842240 - Browser tests to verify the clipboard suggestion functionality. r=mak 2023-09-01 11:38:17 +00:00
UrlbarProviderContextualSearch.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderExtension.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderHeuristicFallback.sys.mjs Bug 1648188 - Fix SearchService init failures so that the address bar can be used to search history and bookmarks. r=Standard8,mak 2023-05-30 18:34:51 +00:00
UrlbarProviderHistoryUrlHeuristic.sys.mjs Bug 1826062 - Automatic fixes for upgrading Prettier to 2.8.8. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,calu 2023-05-20 12:26:53 +00:00
UrlbarProviderInputHistory.sys.mjs Bug 1837170 - Allow to use alternative pages frecency in the Address Bar. r=daisuke 2023-06-09 07:56:19 +00:00
UrlbarProviderInterventions.sys.mjs Bug 1831529 - Don't perform the primary intervention action when the help command is clicked. r=mak 2023-08-07 21:30:44 +00:00
UrlbarProviderOmnibox.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderOpenTabs.sys.mjs Bug 1826062 - Automatic fixes for upgrading Prettier to 2.8.8. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,calu 2023-05-20 12:26:53 +00:00
UrlbarProviderPlaces.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
UrlbarProviderPrivateSearch.sys.mjs
UrlbarProviderQuickActions.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderQuickSuggest.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
UrlbarProviderRemoteTabs.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
UrlbarProviderSearchSuggestions.sys.mjs Bug 1852300 - Make dismissal acknowledgments go through UrlbarController.removeResult(). r=dao 2023-09-11 17:04:09 +00:00
UrlbarProviderSearchTips.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
UrlbarProvidersManager.sys.mjs Bug 1842230 - URL bar suggested action for paste when clipboard contains valid URL. r=mak,flod 2023-08-01 11:51:59 +00:00
UrlbarProviderTabToSearch.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderTokenAliasEngines.sys.mjs
UrlbarProviderTopSites.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderUnitConversion.sys.mjs Bug 1827770 - Remove isPrivate argument from onEngagement() since it can be inferred. r=daleharvey 2023-07-07 10:01:50 +00:00
UrlbarProviderWeather.sys.mjs Bug 1852300 - Make dismissal acknowledgments go through UrlbarController.removeResult(). r=dao 2023-09-11 17:04:09 +00:00
UrlbarResult.sys.mjs Bug 1841553 - JsonSchemaValidator: Support "additionalProperties" in schema objects and rename "allowExtraProperties" to "allowAdditionalProperties". r=mossop 2023-07-05 15:47:23 +00:00
UrlbarSearchOneOffs.sys.mjs
UrlbarSearchUtils.sys.mjs Bug 1842766 - r=adw 2023-07-25 14:39:26 +00:00
UrlbarTokenizer.sys.mjs Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao 2023-07-26 16:28:11 +00:00
UrlbarUtils.sys.mjs Bug 1848048 - Add a result menu to disable trending results. r=dao,fluent-reviewers,settings-reviewers,flod,Gijs 2023-09-01 08:38:54 +00:00
UrlbarValueFormatter.sys.mjs Bug 1067293 - Omit "https://".r=dao 2023-08-09 22:27:21 +00:00
UrlbarView.sys.mjs Bug 1852300 - Make dismissal acknowledgments go through UrlbarController.removeResult(). r=dao 2023-09-11 17:04:09 +00:00