aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authormrmr19932015-05-31 14:03:48 +0100
committermrmr19932015-05-31 14:03:48 +0100
commitc753194941b3c7a6df8ff328fa36b71c854bc26a (patch)
treef2aa472c28ea3f95ab855ebd4a913d8bbb0ce095 /lib
parenta51a4724c76d1eb644d5dcba3783f27d56d65e6b (diff)
downloadvimium-c753194941b3c7a6df8ff328fa36b71c854bc26a.tar.bz2
Add Settings.isLoaded to the unified settings implementation
Diffstat (limited to 'lib')
-rw-r--r--lib/settings.coffee6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/settings.coffee b/lib/settings.coffee
index dd667dbd..2dd6722b 100644
--- a/lib/settings.coffee
+++ b/lib/settings.coffee
@@ -30,6 +30,7 @@ Sync =
unless chrome.runtime.lastError
for own key, value of items
Settings.storeAndPropagate key, value if @shouldSyncKey key
+ Settings.isLoaded = true
# Asynchronous message from synced storage.
handleStorageUpdate: (changes, area) ->
@@ -58,15 +59,20 @@ Sync =
if Utils.isExtensionPage()
if Utils.isBackgroundPage()
settingsCache = localStorage
+ isPreloaded = true
else
settingsCache = extend {}, localStorage # Make a copy of the cached settings from localStorage
+ isPreloaded = true
else
settingsCache = {}
+ isPreloaded = false
root.Settings = Settings =
+ isLoaded: isPreloaded
cache: settingsCache
init: -> Sync.init()
get: (key) ->
+ console.log "WARNING: Settings have not loaded yet; using the default value for #{key}." unless @isLoaded
if (key of @cache) then JSON.parse(@cache[key]) else @defaults[key]
set: (key, value) ->