Begin working on Chrome's storage API.

Let's start easy with $.delete.
This commit is contained in:
Nicolas Stepien 2013-03-29 02:39:02 +01:00
parent 48457f2712
commit 1b9c606f11
3 changed files with 22 additions and 12 deletions

View File

@ -202,8 +202,8 @@ $.extend $,
"#{size} #{['B', 'KB', 'MB', 'GB'][unit]}"
<% if (type === 'crx') { %>
delete: (key) ->
localStorage.removeItem g.NAMESPACE + key
delete: (keys) ->
chrome.storage.sync.remove keys
get: (key, defaultVal) ->
if val = localStorage.getItem g.NAMESPACE + key
JSON.parse val
@ -221,10 +221,14 @@ do ->
# To access the storage object later, keep a reference
# to the object.
{scriptStorage} = opera
$.delete = (key) ->
key = g.NAMESPACE + key
localStorage.removeItem key
delete scriptStorage[key]
$.delete = (keys) ->
unless keys instanceof Array
keys = [keys]
for key in keys
key = g.NAMESPACE + key
localStorage.removeItem key
delete scriptStorage[key]
return
$.get = (key, defaultVal) ->
if val = scriptStorage[g.NAMESPACE + key]
JSON.parse val
@ -238,9 +242,13 @@ do ->
scriptStorage[key] = val
<% } else { %>
delete: (key) ->
key = g.NAMESPACE + key
localStorage.removeItem key
GM_deleteValue key
unless keys instanceof Array
keys = [keys]
for key in keys
key = g.NAMESPACE + key
localStorage.removeItem key
GM_deleteValue key
return
get: (key, defaultVal) ->
if val = GM_getValue g.NAMESPACE + key
JSON.parse val

View File

@ -331,8 +331,7 @@ Settings =
innerHTML: "<button>Hidden: #{hiddenNum}</button><span class=description>: Clear manually hidden threads and posts on /#{g.BOARD}/."
$.on $('button', div), 'click', ->
@textContent = 'Hidden: 0'
$.delete "hiddenThreads.#{g.BOARD}"
$.delete "hiddenPosts.#{g.BOARD}"
$.delete ["hiddenThreads.#{g.BOARD}", "hiddenPosts.#{g.BOARD}"]
$.after $('input[name="Stubs"]', section).parentNode.parentNode, div
export: ->
now = Date.now()

View File

@ -14,5 +14,8 @@
"run_at": "document_start"
}],
"homepage_url": "<%= meta.page %>",
"minimum_chrome_version": "25"
"minimum_chrome_version": "25",
"permissions": [
"storage"
]
}