forked from mirrors/gecko-dev
Bug 1822503 - Pocket newtab fixing startup reset from happening during experiment load. r=nanj,mconley,barret
Differential Revision: https://phabricator.services.mozilla.com/D173342
This commit is contained in:
parent
34e0e21dc3
commit
add966c63f
2 changed files with 26 additions and 9 deletions
|
|
@ -89,15 +89,21 @@ class PrefsFeed {
|
||||||
*/
|
*/
|
||||||
onPocketExperimentUpdated(event, reason) {
|
onPocketExperimentUpdated(event, reason) {
|
||||||
const value = lazy.NimbusFeatures.pocketNewtab.getAllVariables() || {};
|
const value = lazy.NimbusFeatures.pocketNewtab.getAllVariables() || {};
|
||||||
this.store.dispatch(
|
// Loaded experiments are set up inside init()
|
||||||
ac.BroadcastToContent({
|
if (
|
||||||
type: at.PREF_CHANGED,
|
reason !== "feature-experiment-loaded" &&
|
||||||
data: {
|
reason !== "feature-rollout-loaded"
|
||||||
name: "pocketConfig",
|
) {
|
||||||
value,
|
this.store.dispatch(
|
||||||
},
|
ac.BroadcastToContent({
|
||||||
})
|
type: at.PREF_CHANGED,
|
||||||
);
|
data: {
|
||||||
|
name: "pocketConfig",
|
||||||
|
value,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
|
|
|
||||||
|
|
@ -177,6 +177,17 @@ describe("PrefsFeed", () => {
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
it("should not send a PREF_CHANGED actions when onPocketExperimentUpdated is called during startup", () => {
|
||||||
|
sandbox
|
||||||
|
.stub(global.NimbusFeatures.pocketNewtab, "getAllVariables")
|
||||||
|
.returns({
|
||||||
|
prefsButtonIcon: "icon-new",
|
||||||
|
});
|
||||||
|
feed.onPocketExperimentUpdated({}, "feature-experiment-loaded");
|
||||||
|
assert.notCalled(feed.store.dispatch);
|
||||||
|
feed.onPocketExperimentUpdated({}, "feature-rollout-loaded");
|
||||||
|
assert.notCalled(feed.store.dispatch);
|
||||||
|
});
|
||||||
it("should send a PREF_CHANGED actions when onExperimentUpdated is called", () => {
|
it("should send a PREF_CHANGED actions when onExperimentUpdated is called", () => {
|
||||||
sandbox.stub(global.NimbusFeatures.newtab, "getAllVariables").returns({
|
sandbox.stub(global.NimbusFeatures.newtab, "getAllVariables").returns({
|
||||||
prefsButtonIcon: "icon-new",
|
prefsButtonIcon: "icon-new",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue