Skip to content

Commit a4e3c36

Browse files
committed
Bug 1883682 - Migrate saveToPocket feature to use setPref r=thecount
Differential Revision: https://phabricator.services.mozilla.com/D204520
1 parent dd2170a commit a4e3c36

File tree

6 files changed

+52
-36
lines changed

6 files changed

+52
-36
lines changed

browser/components/newtab/lib/DiscoveryStreamFeed.sys.mjs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -565,8 +565,8 @@ export class DiscoveryStreamFeed {
565565

566566
generateFeedUrl(isBff) {
567567
if (isBff) {
568-
return `https://${lazy.NimbusFeatures.saveToPocket.getVariable(
569-
"bffApi"
568+
return `https://${Services.prefs.getStringPref(
569+
"extensions.pocket.bffApi"
570570
)}/desktop/v1/recommendations?locale=$locale&region=$region&count=30`;
571571
}
572572
return FEED_URL;
@@ -1324,8 +1324,8 @@ export class DiscoveryStreamFeed {
13241324
let options = {};
13251325
if (this.isBff) {
13261326
const headers = new Headers();
1327-
const oAuthConsumerKey = lazy.NimbusFeatures.saveToPocket.getVariable(
1328-
"oAuthConsumerKeyBff"
1327+
const oAuthConsumerKey = Services.prefs.getStringPref(
1328+
"extensions.pocket.oAuthConsumerKeyBff"
13291329
);
13301330
headers.append("consumer_key", oAuthConsumerKey);
13311331
options = {

browser/components/newtab/test/unit/lib/DiscoveryStreamFeed.test.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3444,16 +3444,13 @@ describe("DiscoveryStreamFeed", () => {
34443444
},
34453445
});
34463446
sandbox.stub(global.Region, "home").get(() => "DE");
3447-
globals.set("NimbusFeatures", {
3448-
saveToPocket: {
3449-
getVariable: sandbox.stub(),
3450-
},
3451-
});
3452-
global.NimbusFeatures.saveToPocket.getVariable
3453-
.withArgs("bffApi")
3454-
.returns("bffApi");
3455-
global.NimbusFeatures.saveToPocket.getVariable
3456-
.withArgs("oAuthConsumerKeyBff")
3447+
global
3448+
.stub(global.Services.prefs, "getStringPref")
3449+
.withArgs("extensions.pocket.bffApi")
3450+
.returns("bffAPi");
3451+
global
3452+
.stub(global.Services.prefs, "getStringPref")
3453+
.withArgs("extensions.pocket.oAuthConsumerKeyBff")
34573454
.returns("oAuthConsumerKeyBff");
34583455
});
34593456
it("should return true with isBff", async () => {

browser/components/pocket/content/pktApi.sys.mjs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
4747
const lazy = {};
4848
ChromeUtils.defineESModuleGetters(lazy, {
4949
IndexedDB: "resource://gre/modules/IndexedDB.sys.mjs",
50-
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
5150
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
5251
});
5352

@@ -291,12 +290,12 @@ export var pktApi = (function () {
291290
"extensions.pocket.oAuthConsumerKey"
292291
);
293292
} else {
294-
baseAPIUrl = `https://${lazy.NimbusFeatures.saveToPocket.getVariable(
295-
"bffApi"
293+
baseAPIUrl = `https://${Services.prefs.getStringPref(
294+
"extensions.pocket.bffApi"
296295
)}/desktop/v1`;
297296

298-
oAuthConsumerKey = lazy.NimbusFeatures.saveToPocket.getVariable(
299-
"oAuthConsumerKeyBff"
297+
oAuthConsumerKey = Services.prefs.getStringPref(
298+
"extensions.pocket.oAuthConsumerKeyBff"
300299
);
301300
}
302301

@@ -761,8 +760,9 @@ export var pktApi = (function () {
761760
access_token: getAccessToken(),
762761
});
763762

764-
const useBFF =
765-
lazy.NimbusFeatures.saveToPocket.getVariable("bffRecentSaves");
763+
const useBFF = Services.prefs.getBoolPref(
764+
"extensions.pocket.bffRecentSaves"
765+
);
766766

767767
return apiRequest(
768768
{
@@ -816,8 +816,9 @@ export var pktApi = (function () {
816816
{ count: 4 },
817817
{
818818
success(data) {
819-
const useBFF =
820-
lazy.NimbusFeatures.saveToPocket.getVariable("bffRecentSaves");
819+
const useBFF = Services.prefs.getBoolPref(
820+
"extensions.pocket.bffRecentSaves"
821+
);
821822

822823
// Don't try to parse bad or missing data
823824
if (

browser/components/pocket/content/pktUI.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646

4747
ChromeUtils.defineESModuleGetters(this, {
4848
ExperimentAPI: "resource://nimbus/ExperimentAPI.sys.mjs",
49-
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
5049
pktApi: "chrome://pocket/content/pktApi.sys.mjs",
5150
pktTelemetry: "chrome://pocket/content/pktTelemetry.sys.mjs",
5251
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
@@ -129,7 +128,9 @@ var pktUI = (function () {
129128
showPanel(
130129
"about:pocket-signup?" +
131130
"emailButton=" +
132-
NimbusFeatures.saveToPocket.getVariable("emailButton"),
131+
Services.prefs.getBoolPref(
132+
"extensions.pocket.refresh.emailButton.enabled"
133+
),
133134
`signup`
134135
);
135136
});
@@ -154,8 +155,9 @@ var pktUI = (function () {
154155
* Show the Pocket home panel state
155156
*/
156157
function showPocketHome() {
157-
const hideRecentSaves =
158-
NimbusFeatures.saveToPocket.getVariable("hideRecentSaves");
158+
const hideRecentSaves = Services.prefs.getBoolPref(
159+
"extensions.pocket.refresh.hideRecentSaves.enabled"
160+
);
159161
const locale = getUILocale();
160162
let panel = `home_no_topics`;
161163
if (locale.startsWith("en-")) {
@@ -232,7 +234,11 @@ var pktUI = (function () {
232234
async function onShowHome() {
233235
pktTelemetry.submitPocketButtonPing("click", "home_button");
234236

235-
if (!NimbusFeatures.saveToPocket.getVariable("hideRecentSaves")) {
237+
if (
238+
!Services.prefs.getBoolPref(
239+
"extensions.pocket.refresh.hideRecentSaves.enabled"
240+
)
241+
) {
236242
let recentSaves = await pktApi.getRecentSavesCache();
237243
if (recentSaves) {
238244
// We have cache, so we can use those.
@@ -299,7 +305,11 @@ var pktUI = (function () {
299305
pktUIMessaging.sendMessageToPanel(saveLinkMessageId, successResponse);
300306
SaveToPocket.itemSaved();
301307

302-
if (!NimbusFeatures.saveToPocket.getVariable("hideRecentSaves")) {
308+
if (
309+
!Services.prefs.getBoolPref(
310+
"extensions.pocket.refresh.hideRecentSaves.enabled"
311+
)
312+
) {
303313
// Articles saved for the first time (by anyone) won't have a resolved_id
304314
if (item?.resolved_id && item?.resolved_id !== "0") {
305315
pktApi.getArticleInfo(item.resolved_url, {

toolkit/components/nimbus/FeatureManifest.yaml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -915,27 +915,36 @@ saveToPocket:
915915
description: The save to Pocket feature
916916
owner: sdowne@getpocket.com
917917
hasExposure: false
918-
isEarlyStartup: true
919918
variables:
920919
emailButton:
921920
type: boolean
922-
fallbackPref: extensions.pocket.refresh.emailButton.enabled
921+
setPref:
922+
branch: user
923+
pref: extensions.pocket.refresh.emailButton.enabled
923924
description: Just for the new Pocket panels, enables the email signup button.
924925
hideRecentSaves:
925926
type: boolean
926-
fallbackPref: extensions.pocket.refresh.hideRecentSaves.enabled
927+
setPref:
928+
branch: user
929+
pref: extensions.pocket.refresh.hideRecentSaves.enabled
927930
description: Hides the recently saved section in the home panel.
928931
bffRecentSaves:
929932
type: boolean
930-
fallbackPref: "extensions.pocket.bffRecentSaves"
933+
setPref:
934+
branch: user
935+
pref: extensions.pocket.bffRecentSaves
931936
description: Use the new BFF Proxy Service instead of the legacy Pocket Service for Recent Saves
932937
bffApi:
933938
type: string
934-
fallbackPref: "extensions.pocket.bffApi"
939+
setPref:
940+
branch: user
941+
pref: extensions.pocket.bffApi
935942
description: BFF Proxy Service domain
936943
oAuthConsumerKeyBff:
937944
type: string
938-
fallbackPref: "extensions.pocket.oAuthConsumerKeyBff"
945+
setPref:
946+
branch: user
947+
pref: extensions.pocket.oAuthConsumerKeyBff
939948
description: BFF Proxy Service OAuth Consumer Key
940949

941950
password-autocomplete:

toolkit/components/nimbus/generate/generate_feature_manifest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
"majorRelease2022",
3232
"newtab",
3333
"pocketNewtab",
34-
"saveToPocket",
3534
"searchConfiguration",
3635
"shellService",
3736
"testFeature",

0 commit comments

Comments
 (0)