From a46a6c561406b7d83dc74738c64f7cc012592a6b Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Sat, 29 Mar 2014 12:24:10 -0700 Subject: [PATCH] Fix some content prefs issues. --- common/modules/buffer.jsm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/common/modules/buffer.jsm b/common/modules/buffer.jsm index e2446b71..5fadd30e 100644 --- a/common/modules/buffer.jsm +++ b/common/modules/buffer.jsm @@ -83,18 +83,26 @@ var Buffer = Module("Buffer", { * Returns a promise for the given preference name. * * @param {string} pref The name of the preference to return. - * @returns {Promise} + * @returns {Promise<*>} */ get: promises.withCallbacks(function get([resolve, reject], pref) { - let pref = services.contentPrefs.getCachedByDomainAndName( + let val = services.contentPrefs.getCachedByDomainAndName( self.uri.spec, pref, self.loadContext); - if (pref) - resolve(pref.value); + + let found = false; + if (val) + resolve(val.value); else services.contentPrefs.getByDomainAndName( self.uri.spec, pref, self.loadContext, - { handleCompletion: () => {}, - handleResult: resolve, + { handleCompletion: () => { + if (!found) + resolve(undefined); + }, + handleResult: (pref) => { + found = true; + resolve(pref.value); + }, handleError: reject }); }),