Backed out changeset 0943ef016d1c (bug 1277026)

MozReview-Commit-ID: HlPMAtJZ2Pp
This commit is contained in:
Matthew Noorenberghe 2016-06-07 16:10:57 -07:00
parent e74c05284e
commit 7cd6c3a3bf
2 changed files with 37 additions and 46 deletions

View File

@ -115,46 +115,37 @@ FxAccountsPushService.prototype = {
* @param data
*/
observe(subject, topic, data) {
this.log.trace(`observed topic=${topic}, data=${data}, subject=${subject}`);
switch (topic) {
case this.pushService.pushTopic:
if (data === FXA_PUSH_SCOPE_ACCOUNT_UPDATE) {
let message = subject.QueryInterface(Ci.nsIPushMessage);
this._onPushMessage(message);
}
break;
case this.pushService.subscriptionChangeTopic:
if (data === FXA_PUSH_SCOPE_ACCOUNT_UPDATE) {
this._onPushSubscriptionChange();
}
break;
case ONLOGOUT_NOTIFICATION:
// user signed out, we need to stop polling the Push Server
this.unsubscribe().catch(err => {
this.log.error("Error during unsubscribe", err);
});
break;
default:
break;
}
this.log.trace(`observed topic=${topic}, data=${data}, subject=${subject}`);
switch (topic) {
case this.pushService.pushTopic:
if (data === FXA_PUSH_SCOPE_ACCOUNT_UPDATE) {
this._onPushMessage();
}
break;
case this.pushService.subscriptionChangeTopic:
if (data === FXA_PUSH_SCOPE_ACCOUNT_UPDATE) {
this._onPushSubscriptionChange();
}
break;
case ONLOGOUT_NOTIFICATION:
// user signed out, we need to stop polling the Push Server
this.unsubscribe().catch(err => {
this.log.error("Error during unsubscribe", err);
});
break;
default:
break;
}
},
/**
* Fired when the Push server sends a notification.
*
* @private
*/
_onPushMessage(message) {
_onPushMessage() {
this.log.trace("FxAccountsPushService _onPushMessage");
if (!message.data) {
// Use the empty signal to check the verification state of the account right away
this.fxAccounts.checkVerificationStatus();
return;
}
let payload = message.data.json();
switch (payload.command) {
default:
this.log.warn("FxA Push command unrecognized: " + payload.command);
}
// Use this signal to check the verification state of the account right away
this.fxAccounts.checkVerificationStatus();
},
/**
* Fired when the Push server drops a subscription, or the subscription identifier changes.

View File

@ -49,7 +49,7 @@ let mockLog = {
add_task(function* initialize() {
let pushService = new FxAccountsPushService();
equal(pushService.initialize(), false);
do_check_eq(pushService.initialize(), false);
});
add_task(function* registerPushEndpointSuccess() {
@ -59,7 +59,7 @@ add_task(function* registerPushEndpointSuccess() {
});
let subscription = yield pushService.registerPushEndpoint();
equal(subscription.endpoint, MOCK_ENDPOINT);
do_check_eq(subscription.endpoint, MOCK_ENDPOINT);
});
add_task(function* registerPushEndpointFailure() {
@ -75,7 +75,7 @@ add_task(function* registerPushEndpointFailure() {
});
let subscription = yield pushService.registerPushEndpoint();
equal(subscription, null);
do_check_eq(subscription, null);
});
add_task(function* unsubscribeSuccess() {
@ -85,7 +85,7 @@ add_task(function* unsubscribeSuccess() {
});
let result = yield pushService.unsubscribe();
equal(result, true);
do_check_eq(result, true);
});
add_task(function* unsubscribeFailure() {
@ -101,7 +101,7 @@ add_task(function* unsubscribeFailure() {
});
let result = yield pushService.unsubscribe();
equal(result, null);
do_check_eq(result, null);
});
add_test(function observeLogout() {
@ -122,15 +122,10 @@ add_test(function observeLogout() {
pushService.observe(null, ONLOGOUT_NOTIFICATION);
});
add_test(function observePushTopicVerify() {
let emptyMsg = {
QueryInterface: function() {
return this;
}
};
add_test(function observePushTopic() {
let customAccounts = Object.assign(mockFxAccounts, {
checkVerificationStatus: function () {
// checking verification status on push messages without data
// checking verification status on push messages
run_next_test();
}
});
@ -140,7 +135,7 @@ add_test(function observePushTopicVerify() {
fxAccounts: customAccounts,
});
pushService.observe(emptyMsg, mockPushService.pushTopic, FXA_PUSH_SCOPE_ACCOUNT_UPDATE);
pushService.observe(null, mockPushService.pushTopic, FXA_PUSH_SCOPE_ACCOUNT_UPDATE);
});
add_test(function observeSubscriptionChangeTopic() {
@ -158,3 +153,8 @@ add_test(function observeSubscriptionChangeTopic() {
pushService.observe(null, mockPushService.subscriptionChangeTopic, FXA_PUSH_SCOPE_ACCOUNT_UPDATE);
});
function run_test() {
run_next_test();
}