Build $.delete, $.get and $.set depending on the extension type.

This commit is contained in:
Nicolas Stepien 2013-03-27 18:41:13 +01:00
parent f01d6c974b
commit 50d091c896

View File

@ -201,25 +201,21 @@ $.extend $,
Math.round size Math.round size
"#{size} #{['B', 'KB', 'MB', 'GB'][unit]}" "#{size} #{['B', 'KB', 'MB', 'GB'][unit]}"
if GM_deleteValue? <% if (type === 'crx') { %>
$.delete = (name) -> delete: (name) ->
GM_deleteValue g.NAMESPACE + name localStorage.removeItem g.NAMESPACE + name
$.get = (name, defaultValue) -> get: (name, defaultValue) ->
if value = GM_getValue g.NAMESPACE + name if value = localStorage.getItem g.NAMESPACE + name
JSON.parse value JSON.parse value
else else
defaultValue defaultValue
$.set = (name, value) -> set: (name, value) ->
name = g.NAMESPACE + name localStorage.setItem g.NAMESPACE + name, JSON.stringify value
value = JSON.stringify value <% } else if (type === 'userjs') { %>
# for `storage` events do ->
localStorage.setItem name, value
GM_setValue name, value
else if window.opera
do ->
# http://www.opera.com/docs/userjs/specs/#scriptstorage # http://www.opera.com/docs/userjs/specs/#scriptstorage
# http://www.opera.com/docs/userjs/using/#securepages # http://www.opera.com/docs/userjs/using/#securepages
# >The scriptStorage object is available only during # The scriptStorage object is available only during
# the main User JavaScript thread, being therefore # the main User JavaScript thread, being therefore
# accessible only in the main body of the user script. # accessible only in the main body of the user script.
# To access the storage object later, keep a reference # To access the storage object later, keep a reference
@ -238,13 +234,18 @@ else if window.opera
# for `storage` events # for `storage` events
localStorage.setItem name, value localStorage.setItem name, value
scriptStorage[name] = value scriptStorage[name] = value
else <% } else { %>
$.delete = (name) -> delete: (name) ->
localStorage.removeItem g.NAMESPACE + name GM_deleteValue g.NAMESPACE + name
$.get = (name, defaultValue) -> get: (name, defaultValue) ->
if value = localStorage.getItem g.NAMESPACE + name if value = GM_getValue g.NAMESPACE + name
JSON.parse value JSON.parse value
else else
defaultValue defaultValue
$.set = (name, value) -> set: (name, value) ->
localStorage.setItem g.NAMESPACE + name, JSON.stringify value name = g.NAMESPACE + name
value = JSON.stringify value
# for `storage` events
localStorage.setItem name, value
GM_setValue name, value
<% } %>