commit 991223d67804acc5d1c81631898fae77669ccbe3 parent 1d5fa889464d90596340823d9b57f1d7b2b13307 Author: scottdowne <sdowne@mozilla.com> Date: Fri, 5 Dec 2025 19:58:12 +0000 Bug 2004398 - Dedupe frecency boosted against both sponsored and organic top sites r=home-newtab-reviewers,nbarrett Differential Revision: https://phabricator.services.mozilla.com/D275248 Diffstat:
| M | browser/extensions/newtab/lib/TopSitesFeed.sys.mjs | | | 13 | ++++++++++--- |
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/browser/extensions/newtab/lib/TopSitesFeed.sys.mjs b/browser/extensions/newtab/lib/TopSitesFeed.sys.mjs @@ -1417,13 +1417,17 @@ export class TopSitesFeed { * @param {Array} sponsors - List of sponsor domain objects * @returns {Array} Filtered list of sponsors not in organic topsites */ - dedupeSponsorsAgainstTopsites(sponsors) { + dedupeSponsorsAgainstTopsites(sponsors = []) { const topsites = new Set( (this._linksWithDefaults || []) .filter(site => site.type !== "frecency-boost") .map(site => { try { - return new URL(site.url).hostname; + return ( + site.label?.toLowerCase() || + site.hostname || + lazy.NewTabUtils.shortURL(site) + ); } catch (e) { return null; } @@ -1431,7 +1435,10 @@ export class TopSitesFeed { .filter(Boolean) ); - return sponsors.filter(({ hostname }) => !topsites.has(hostname)); + return sponsors.filter( + ({ hostname }) => + !topsites.has(lazy.NewTabUtils.shortURL({ url: `https://${hostname}` })) + ); } /**