Slightly safer Chrome storage setting.

try/catch is probably useless.
This commit is contained in:
Mayhem 2014-01-31 16:10:30 +01:00 committed by ccd0
parent d4bea6380f
commit d5fb02e98e

View File

@ -338,7 +338,6 @@ $.set = do ->
setArea = (area) ->
data = items[area]
return if !Object.keys(data).length or timeout[area]
items[area] = {}
chrome.storage[area].set data, ->
if chrome.runtime.lastError
c.error chrome.runtime.lastError.message
@ -347,23 +346,20 @@ $.set = do ->
timeout[area] = setTimeout setArea, $.MINUTE, area
return
delete timeout[area]
items[area] = {}
setAll = $.debounce $.SECOND, ->
for key in $.localKeys
if key of items.sync
items.local[key] = items.sync[key]
delete items.sync[key]
try
setArea 'local'
setArea 'sync'
catch err
c.error err.stack
setAll = $.debounce 5 * $.SECOND, ->
setArea 'local'
setArea 'sync'
(key, val) ->
if typeof key is 'string'
items.sync[key] = val
else
$.extend items.sync, key
for key in $.localKeys when key of items.sync
items.local[key] = items.sync[key]
delete items.sync[key]
setAll()
$.clear = (cb) ->
count = 2