Browse Source

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

Jonas Jenwald 11 years ago
parent
commit
4c9c43f82b
  1. 13
      extensions/firefox/content/PdfStreamConverter.jsm
  2. 10
      web/firefoxcom.js

13
extensions/firefox/content/PdfStreamConverter.jsm

@ -452,7 +452,7 @@ ChromeActions.prototype = { @@ -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 = { @@ -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 = { @@ -510,7 +513,11 @@ ChromeActions.prototype = {
break;
}
}
return JSON.stringify(currentPrefs);
if (sendResponse) {
sendResponse(JSON.stringify(currentPrefs));
} else {
return JSON.stringify(currentPrefs);
}
}
};

10
web/firefoxcom.js

@ -106,15 +106,15 @@ var DownloadManager = (function DownloadManagerClosure() { @@ -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);
});
});
};

Loading…
Cancel
Save