commit 531df4b990989d6ef9b1098c687284148a16f2dd
parent 6fae4e32255543704b47c40de5bddcac8b570ae6
Author: scottdowne <sdowne@mozilla.com>
Date: Thu, 4 Dec 2025 15:30:47 +0000
Bug 2003894 - Newtab frecency-based sorting ensure dismiss and sponsored content opt out works r=home-newtab-reviewers,nbarrett
Differential Revision: https://phabricator.services.mozilla.com/D275027
Diffstat:
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/browser/extensions/newtab/lib/TelemetryFeed.sys.mjs b/browser/extensions/newtab/lib/TelemetryFeed.sys.mjs
@@ -1921,7 +1921,7 @@ export class TelemetryFeed {
if (action.source === "TOP_SITES") {
const { position, advertiser_name, tile_id, isSponsoredTopSite } =
datum;
- if (this.sovEnabled()) {
+ if (this.sovEnabled() && isSponsoredTopSite) {
if (this.privatePingEnabled) {
this.newtabContentPing.recordEvent("topSitesDismiss", {
advertiser_name,
diff --git a/browser/extensions/newtab/lib/TopSitesFeed.sys.mjs b/browser/extensions/newtab/lib/TopSitesFeed.sys.mjs
@@ -1377,7 +1377,7 @@ export class TopSitesFeed {
const url = `https://${domainObj.domain}/`;
const page = pagesMap.get(url);
- if (!page) {
+ if (!page || lazy.NewTabUtils.blockedLinks.isBlocked({ url })) {
continue;
}
@@ -1409,7 +1409,11 @@ export class TopSitesFeed {
* @returns {Array} An array of sponsored tile objects.
*/
async fetchFrecencyBoostedSpocs() {
- if (!this._contile.sovEnabled() || !this._linksWithDefaults?.length) {
+ if (
+ !this._contile.sovEnabled() ||
+ !this._linksWithDefaults?.length ||
+ !this.store.getState().Prefs.values[SHOW_SPONSORED_PREF]
+ ) {
return [];
}