From d59a2173c91d3672f5433e6b470eeef3639c3ed9 Mon Sep 17 00:00:00 2001 From: Paul Bone Date: Tue, 28 Nov 2023 05:07:19 +0000 Subject: [PATCH] Bug 1863867 - Add expriment targeting based on archiecture bits r=barret Differential Revision: https://phabricator.services.mozilla.com/D193159 --- browser/components/newtab/lib/ASRouterTargeting.jsm | 4 ++++ .../components/newtab/test/browser/browser_asrouter_targeting.js | 6 ++++++ toolkit/modules/AppConstants.sys.mjs | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/browser/components/newtab/lib/ASRouterTargeting.jsm b/browser/components/newtab/lib/ASRouterTargeting.jsm index 6b877f51318c..dd2242890163 100644 --- a/browser/components/newtab/lib/ASRouterTargeting.jsm +++ b/browser/components/newtab/lib/ASRouterTargeting.jsm @@ -1011,6 +1011,10 @@ const TargetingGetters = { height: window?.screen.availHeight, }; }, + + get archBits() { + return AppConstants.archBits; + }, }; const ASRouterTargeting = { diff --git a/browser/components/newtab/test/browser/browser_asrouter_targeting.js b/browser/components/newtab/test/browser/browser_asrouter_targeting.js index 3d24f725d9ef..c9f84674e68b 100644 --- a/browser/components/newtab/test/browser/browser_asrouter_targeting.js +++ b/browser/components/newtab/test/browser/browser_asrouter_targeting.js @@ -1693,3 +1693,9 @@ add_task(async function check_primaryResolution() { "Height property should return a number" ); }); + +add_task(async function check_archBits() { + const bits = ASRouterTargeting.Environment.archBits; + is(typeof bits, "number", "archBits should be a number"); + ok(bits === 32 || bits === 64, "archBits is either 32 or 64"); +}); diff --git a/toolkit/modules/AppConstants.sys.mjs b/toolkit/modules/AppConstants.sys.mjs index 36b26056ecb9..12cb99d9029b 100644 --- a/toolkit/modules/AppConstants.sys.mjs +++ b/toolkit/modules/AppConstants.sys.mjs @@ -189,6 +189,13 @@ export var AppConstants = Object.freeze({ "other", #endif + archBits: +#ifdef HAVE_64BIT_BUILD + 64, +#else + 32, +#endif + isPlatformAndVersionAtLeast(platform, version) { let platformVersion = Services.sysinfo.getProperty("version"); return platform == this.platform && -- 2.11.4.GIT