зеркало из https://github.com/mozilla/gecko-dev.git
Bug 777207 - Alarm API - AlarmService should use "activities" or "system messages", or not broadcast information to all content processes. r=cjones
This commit is contained in:
Родитель
13dd383c9a
Коммит
cbae0dbddc
|
@ -75,16 +75,17 @@ let AlarmService = {
|
||||||
receiveMessage: function receiveMessage(aMessage) {
|
receiveMessage: function receiveMessage(aMessage) {
|
||||||
debug("receiveMessage(): " + aMessage.name);
|
debug("receiveMessage(): " + aMessage.name);
|
||||||
|
|
||||||
|
let mm = aMessage.target.QueryInterface(Ci.nsIFrameMessageManager);
|
||||||
let json = aMessage.json;
|
let json = aMessage.json;
|
||||||
switch (aMessage.name) {
|
switch (aMessage.name) {
|
||||||
case "AlarmsManager:GetAll":
|
case "AlarmsManager:GetAll":
|
||||||
this._db.getAll(
|
this._db.getAll(
|
||||||
function getAllSuccessCb(aAlarms) {
|
function getAllSuccessCb(aAlarms) {
|
||||||
debug("Callback after getting alarms from database: " + JSON.stringify(aAlarms));
|
debug("Callback after getting alarms from database: " + JSON.stringify(aAlarms));
|
||||||
this._sendAsyncMessage("GetAll:Return:OK", json.requestId, aAlarms);
|
this._sendAsyncMessage(mm, "GetAll", true, json.requestId, aAlarms);
|
||||||
}.bind(this),
|
}.bind(this),
|
||||||
function getAllErrorCb(aErrorMsg) {
|
function getAllErrorCb(aErrorMsg) {
|
||||||
this._sendAsyncMessage("GetAll:Return:KO", json.requestId, aErrorMsg);
|
this._sendAsyncMessage(mm, "GetAll", false, json.requestId, aErrorMsg);
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
@ -110,7 +111,7 @@ let AlarmService = {
|
||||||
if (newAlarmTime <= Date.now()) {
|
if (newAlarmTime <= Date.now()) {
|
||||||
debug("Adding a alarm that has past time. Don't set it in system.");
|
debug("Adding a alarm that has past time. Don't set it in system.");
|
||||||
this._debugCurrentAlarm();
|
this._debugCurrentAlarm();
|
||||||
this._sendAsyncMessage("Add:Return:OK", json.requestId, aNewId);
|
this._sendAsyncMessage(mm, "Add", true, json.requestId, aNewId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,7 +119,7 @@ let AlarmService = {
|
||||||
if (this._currentAlarm == null) {
|
if (this._currentAlarm == null) {
|
||||||
this._currentAlarm = newAlarm;
|
this._currentAlarm = newAlarm;
|
||||||
this._debugCurrentAlarm();
|
this._debugCurrentAlarm();
|
||||||
this._sendAsyncMessage("Add:Return:OK", json.requestId, aNewId);
|
this._sendAsyncMessage(mm, "Add", true, json.requestId, aNewId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +131,7 @@ let AlarmService = {
|
||||||
alarmQueue.unshift(this._currentAlarm);
|
alarmQueue.unshift(this._currentAlarm);
|
||||||
this._currentAlarm = newAlarm;
|
this._currentAlarm = newAlarm;
|
||||||
this._debugCurrentAlarm();
|
this._debugCurrentAlarm();
|
||||||
this._sendAsyncMessage("Add:Return:OK", json.requestId, aNewId);
|
this._sendAsyncMessage(mm, "Add", true, json.requestId, aNewId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,10 +139,10 @@ let AlarmService = {
|
||||||
alarmQueue.push(newAlarm);
|
alarmQueue.push(newAlarm);
|
||||||
alarmQueue.sort(this._sortAlarmByTimeStamps.bind(this));
|
alarmQueue.sort(this._sortAlarmByTimeStamps.bind(this));
|
||||||
this._debugCurrentAlarm();
|
this._debugCurrentAlarm();
|
||||||
this._sendAsyncMessage("Add:Return:OK", json.requestId, aNewId);
|
this._sendAsyncMessage(mm, "Add", true, json.requestId, aNewId);
|
||||||
}.bind(this),
|
}.bind(this),
|
||||||
function addErrorCb(aErrorMsg) {
|
function addErrorCb(aErrorMsg) {
|
||||||
this._sendAsyncMessage("Add:Return:KO", json.requestId, aErrorMsg);
|
this._sendAsyncMessage(mm, "Add", false, json.requestId, aErrorMsg);
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
@ -195,23 +196,27 @@ let AlarmService = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_sendAsyncMessage: function _sendAsyncMessage(aMessageName, aRequestId, aData) {
|
_sendAsyncMessage: function _sendAsyncMessage(aMessageManager, aMessageName, aSuccess, aRequestId, aData) {
|
||||||
debug("_sendAsyncMessage()");
|
debug("_sendAsyncMessage()");
|
||||||
|
|
||||||
|
if (!aMessageManager) {
|
||||||
|
debug("Invalid message manager: null");
|
||||||
|
throw Components.results.NS_ERROR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
let json = null;
|
let json = null;
|
||||||
switch (aMessageName)
|
switch (aMessageName)
|
||||||
{
|
{
|
||||||
case "Add:Return:OK":
|
case "Add":
|
||||||
json = { requestId: aRequestId, id: aData };
|
json = aSuccess ?
|
||||||
|
{ requestId: aRequestId, id: aData } :
|
||||||
|
{ requestId: aRequestId, errorMsg: aData };
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "GetAll:Return:OK":
|
case "GetAll":
|
||||||
json = { requestId: aRequestId, alarms: aData };
|
json = aSuccess ?
|
||||||
break;
|
{ requestId: aRequestId, alarms: aData } :
|
||||||
|
{ requestId: aRequestId, errorMsg: aData };
|
||||||
case "Add:Return:KO":
|
|
||||||
case "GetAll:Return:KO":
|
|
||||||
json = { requestId: aRequestId, errorMsg: aData };
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -219,8 +224,7 @@ let AlarmService = {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aMessageName && json)
|
aMessageManager.sendAsyncMessage("AlarmsManager:" + aMessageName + ":Return:" + (aSuccess ? "OK" : "KO"), json);
|
||||||
ppmm.sendAsyncMessage("AlarmsManager:" + aMessageName, json);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_onAlarmFired: function _onAlarmFired() {
|
_onAlarmFired: function _onAlarmFired() {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче