Slightly safer Chrome storage setting.
try/catch is probably useless.
This commit is contained in:
parent
d4bea6380f
commit
d5fb02e98e
@ -338,7 +338,6 @@ $.set = do ->
|
|||||||
setArea = (area) ->
|
setArea = (area) ->
|
||||||
data = items[area]
|
data = items[area]
|
||||||
return if !Object.keys(data).length or timeout[area]
|
return if !Object.keys(data).length or timeout[area]
|
||||||
items[area] = {}
|
|
||||||
chrome.storage[area].set data, ->
|
chrome.storage[area].set data, ->
|
||||||
if chrome.runtime.lastError
|
if chrome.runtime.lastError
|
||||||
c.error chrome.runtime.lastError.message
|
c.error chrome.runtime.lastError.message
|
||||||
@ -347,23 +346,20 @@ $.set = do ->
|
|||||||
timeout[area] = setTimeout setArea, $.MINUTE, area
|
timeout[area] = setTimeout setArea, $.MINUTE, area
|
||||||
return
|
return
|
||||||
delete timeout[area]
|
delete timeout[area]
|
||||||
|
items[area] = {}
|
||||||
|
|
||||||
setAll = $.debounce $.SECOND, ->
|
setAll = $.debounce 5 * $.SECOND, ->
|
||||||
for key in $.localKeys
|
setArea 'local'
|
||||||
if key of items.sync
|
setArea 'sync'
|
||||||
items.local[key] = items.sync[key]
|
|
||||||
delete items.sync[key]
|
|
||||||
try
|
|
||||||
setArea 'local'
|
|
||||||
setArea 'sync'
|
|
||||||
catch err
|
|
||||||
c.error err.stack
|
|
||||||
|
|
||||||
(key, val) ->
|
(key, val) ->
|
||||||
if typeof key is 'string'
|
if typeof key is 'string'
|
||||||
items.sync[key] = val
|
items.sync[key] = val
|
||||||
else
|
else
|
||||||
$.extend items.sync, key
|
$.extend items.sync, key
|
||||||
|
for key in $.localKeys when key of items.sync
|
||||||
|
items.local[key] = items.sync[key]
|
||||||
|
delete items.sync[key]
|
||||||
setAll()
|
setAll()
|
||||||
$.clear = (cb) ->
|
$.clear = (cb) ->
|
||||||
count = 2
|
count = 2
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user