From 91c6564f53690c932f9464680f4409f25683ca0e Mon Sep 17 00:00:00 2001 From: Barret Rennie <barret@brennie.ca> Date: Tue, 30 Aug 2022 05:07:45 +0000 Subject: [PATCH] Bug 1787290 - Cache isDefaultBrowser in ASRouter targeting r=Mardak Differential Revision: https://phabricator.services.mozilla.com/D155646 --- browser/components/newtab/lib/ASRouterTargeting.jsm | 11 +++++++---- .../newtab/test/browser/browser_asrouter_targeting.js | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/browser/components/newtab/lib/ASRouterTargeting.jsm b/browser/components/newtab/lib/ASRouterTargeting.jsm index 7e33aa58c3bc2..24e2a035fdae1 100644 --- a/browser/components/newtab/lib/ASRouterTargeting.jsm +++ b/browser/components/newtab/lib/ASRouterTargeting.jsm @@ -277,6 +277,12 @@ const QueryCache = { FRECENT_SITES_UPDATE_INTERVAL, ShellService ), + isDefaultBrowser: new CachedTargetingGetter( + "isDefaultBrowser", + null, + FRECENT_SITES_UPDATE_INTERVAL, + ShellService + ), currentThemes: new CachedTargetingGetter( "getAddonsByTypes", ["theme"], @@ -506,10 +512,7 @@ const TargetingGetters = { }); }, get isDefaultBrowser() { - try { - return ShellService.isDefaultBrowser(); - } catch (e) {} - return null; + return QueryCache.getters.isDefaultBrowser.get().catch(() => null); }, get devToolsOpenedCount() { return lazy.devtoolsSelfXSSCount; diff --git a/browser/components/newtab/test/browser/browser_asrouter_targeting.js b/browser/components/newtab/test/browser/browser_asrouter_targeting.js index 53cff5e587924..918ae68c79f79 100644 --- a/browser/components/newtab/test/browser/browser_asrouter_targeting.js +++ b/browser/components/newtab/test/browser/browser_asrouter_targeting.js @@ -355,7 +355,7 @@ add_task(async function checksearchEngines() { add_task(async function checkisDefaultBrowser() { const expected = ShellService.isDefaultBrowser(); - const result = ASRouterTargeting.Environment.isDefaultBrowser; + const result = await ASRouterTargeting.Environment.isDefaultBrowser; is(typeof result, "boolean", "isDefaultBrowser should be a boolean value"); is( result, -- GitLab