From 9077d745c46effeb1afb8624975b16dfc2592a69 Mon Sep 17 00:00:00 2001 From: Yura Zenevich Date: Thu, 23 Jan 2014 16:44:13 -0500 Subject: [PATCH] Bug 963207 - fixing SettingCache to run callback on setting change observed. r=eeejay --- accessible/src/jsat/Utils.jsm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) --- accessible/src/jsat/Utils.jsm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/accessible/src/jsat/Utils.jsm b/accessible/src/jsat/Utils.jsm index cc4856be059..7a74239d2c5 100644 --- a/accessible/src/jsat/Utils.jsm +++ b/accessible/src/jsat/Utils.jsm @@ -778,7 +778,7 @@ PrefCache.prototype = { this.SettingCache = function SettingCache(aName, aCallback, aOptions = {}) { this.value = aOptions.defaultValue; let runCallback = () => { - if (aCallback && aOptions.callbackNow) { + if (aCallback) { aCallback(aName, this.value); if (aOptions.callbackOnce) { runCallback = () => {}; @@ -788,7 +788,9 @@ this.SettingCache = function SettingCache(aName, aCallback, aOptions = {}) { let settings = Utils.win.navigator.mozSettings; if (!settings) { - runCallback(); + if (aOptions.callbackNow) { + runCallback(); + } return; } @@ -798,7 +800,9 @@ this.SettingCache = function SettingCache(aName, aCallback, aOptions = {}) { req.addEventListener('success', () => { this.value = req.result[aName] == undefined ? aOptions.defaultValue : req.result[aName]; - runCallback(); + if (aOptions.callbackNow) { + runCallback(); + } }); settings.addObserver(aName,