Modify {get, set}Preferences in PdfStreamConverter.jsm to support async

This commit is contained in:
Jonas Jenwald 2014-03-26 19:38:56 +01:00
parent c920372ff2
commit 4c9c43f82b
2 changed files with 15 additions and 8 deletions

View File

@ -452,7 +452,7 @@ ChromeActions.prototype = {
getChromeWindow(this.domWindow).gFindBar
.updateControlState(result, findPrevious);
},
setPreferences: function(prefs) {
setPreferences: function(prefs, sendResponse) {
var defaultBranch = Services.prefs.getDefaultBranch(PREF_PREFIX + '.');
var numberOfPrefs = 0;
var prefValue, prefName;
@ -483,8 +483,11 @@ ChromeActions.prototype = {
break;
}
}
if (sendResponse) {
sendResponse(true);
}
},
getPreferences: function(prefs) {
getPreferences: function(prefs, sendResponse) {
var defaultBranch = Services.prefs.getDefaultBranch(PREF_PREFIX + '.');
var currentPrefs = {}, numberOfPrefs = 0;
var prefValue, prefName;
@ -510,7 +513,11 @@ ChromeActions.prototype = {
break;
}
}
return JSON.stringify(currentPrefs);
if (sendResponse) {
sendResponse(JSON.stringify(currentPrefs));
} else {
return JSON.stringify(currentPrefs);
}
}
};

View File

@ -106,15 +106,15 @@ var DownloadManager = (function DownloadManagerClosure() {
Preferences._writeToStorage = function (prefObj) {
return new Promise(function (resolve) {
FirefoxCom.requestSync('setPreferences', prefObj);
resolve();
FirefoxCom.request('setPreferences', prefObj, resolve);
});
};
Preferences._readFromStorage = function (prefObj) {
return new Promise(function (resolve) {
var readPrefs = JSON.parse(FirefoxCom.requestSync('getPreferences',
prefObj));
resolve(readPrefs);
FirefoxCom.request('getPreferences', prefObj, function (prefStr) {
var readPrefs = JSON.parse(prefStr);
resolve(readPrefs);
});
});
};