Merge branch 'midori'
This commit is contained in:
commit
0d06f4c350
@ -291,7 +291,6 @@ module.exports = (grunt) ->
|
|||||||
GM_deleteValue: true
|
GM_deleteValue: true
|
||||||
GM_listValues: true
|
GM_listValues: true
|
||||||
GM_openInTab: true
|
GM_openInTab: true
|
||||||
GM_info: true
|
|
||||||
GM_xmlhttpRequest: true
|
GM_xmlhttpRequest: true
|
||||||
cloneInto: true
|
cloneInto: true
|
||||||
chrome: true
|
chrome: true
|
||||||
|
|||||||
@ -195,14 +195,6 @@ Main =
|
|||||||
$.set 'previousversion', g.VERSION
|
$.set 'previousversion', g.VERSION
|
||||||
|
|
||||||
if Conf['Show Support Message']
|
if Conf['Show Support Message']
|
||||||
<% if (type === 'userscript') { %>
|
|
||||||
GMver = GM_info.version.split '.'
|
|
||||||
for v, i in "<%= meta.min.greasemonkey %>".split '.'
|
|
||||||
continue if v is GMver[i]
|
|
||||||
(v < GMver[i]) or new Notice 'warning', "Your version of Greasemonkey is outdated (v#{GM_info.version} instead of v<%= meta.min.greasemonkey %> minimum) and <%= meta.name %> may not operate correctly.", 30
|
|
||||||
break
|
|
||||||
<% } %>
|
|
||||||
|
|
||||||
try
|
try
|
||||||
localStorage.getItem '4chan-settings'
|
localStorage.getItem '4chan-settings'
|
||||||
catch err
|
catch err
|
||||||
|
|||||||
@ -221,9 +221,12 @@ $.event = (event, detail, root=d) ->
|
|||||||
|
|
||||||
$.open =
|
$.open =
|
||||||
<% if (type === 'userscript') { %>
|
<% if (type === 'userscript') { %>
|
||||||
GM_openInTab
|
if GM_openInTab?
|
||||||
|
GM_openInTab
|
||||||
|
else
|
||||||
|
(url) -> window.open url, '_blank'
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
(URL) -> window.open URL, '_blank'
|
(url) -> window.open url, '_blank'
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
$.debounce = (wait, fn) ->
|
$.debounce = (wait, fn) ->
|
||||||
@ -415,15 +418,39 @@ do ->
|
|||||||
# http://wiki.greasespot.net/Main_Page
|
# http://wiki.greasespot.net/Main_Page
|
||||||
$.oldValue = {}
|
$.oldValue = {}
|
||||||
|
|
||||||
|
if GM_getValue?
|
||||||
|
$.getValue = GM_getValue
|
||||||
|
$.setValue = (key, val) ->
|
||||||
|
GM_setValue key, val
|
||||||
|
if key of $.syncing
|
||||||
|
$.oldValue[key] = val
|
||||||
|
localStorage[key] = val # for `storage` events
|
||||||
|
$.deleteValue = (key) ->
|
||||||
|
GM_deleteValue key
|
||||||
|
if key of $.syncing
|
||||||
|
delete $.oldValue[key]
|
||||||
|
delete localStorage[key] # for `storage` events
|
||||||
|
$.listValues = GM_listValues
|
||||||
|
else
|
||||||
|
$.getValue = (key) -> localStorage[key]
|
||||||
|
$.setValue = (key, val) ->
|
||||||
|
$.oldValue[key] = val if key of $.syncing
|
||||||
|
localStorage[key] = val
|
||||||
|
$.deleteValue = (key) ->
|
||||||
|
delete $.oldValue[key] if key of $.syncing
|
||||||
|
delete localStorage[key]
|
||||||
|
$.listValues = ->
|
||||||
|
key for key of localStorage when key[...g.NAMESPACE.length] is g.NAMESPACE
|
||||||
|
|
||||||
$.sync = (key, cb) ->
|
$.sync = (key, cb) ->
|
||||||
key = g.NAMESPACE + key
|
key = g.NAMESPACE + key
|
||||||
$.syncing[key] = cb
|
$.syncing[key] = cb
|
||||||
$.oldValue[key] = GM_getValue key
|
$.oldValue[key] = $.getValue key
|
||||||
|
|
||||||
do ->
|
do ->
|
||||||
onChange = (key) ->
|
onChange = (key) ->
|
||||||
return unless cb = $.syncing[key]
|
return unless cb = $.syncing[key]
|
||||||
newValue = GM_getValue key
|
newValue = $.getValue key
|
||||||
return if newValue is $.oldValue[key]
|
return if newValue is $.oldValue[key]
|
||||||
if newValue?
|
if newValue?
|
||||||
$.oldValue[key] = newValue
|
$.oldValue[key] = newValue
|
||||||
@ -443,12 +470,7 @@ $.delete = (keys) ->
|
|||||||
unless keys instanceof Array
|
unless keys instanceof Array
|
||||||
keys = [keys]
|
keys = [keys]
|
||||||
for key in keys
|
for key in keys
|
||||||
key = g.NAMESPACE + key
|
$.deleteValue g.NAMESPACE + key
|
||||||
GM_deleteValue key
|
|
||||||
if key of $.syncing
|
|
||||||
delete $.oldValue[key]
|
|
||||||
# for `storage` events
|
|
||||||
localStorage.removeItem key
|
|
||||||
return
|
return
|
||||||
|
|
||||||
$.get = (key, val, cb) ->
|
$.get = (key, val, cb) ->
|
||||||
@ -459,27 +481,18 @@ $.get = (key, val, cb) ->
|
|||||||
cb = val
|
cb = val
|
||||||
$.queueTask ->
|
$.queueTask ->
|
||||||
for key of items
|
for key of items
|
||||||
if val = GM_getValue g.NAMESPACE + key
|
if val = $.getValue g.NAMESPACE + key
|
||||||
items[key] = JSON.parse val
|
items[key] = JSON.parse val
|
||||||
cb items
|
cb items
|
||||||
|
|
||||||
$.set = do ->
|
$.set = (keys, val, cb) ->
|
||||||
set = (key, val) ->
|
if typeof keys is 'string'
|
||||||
key = g.NAMESPACE + key
|
$.setValue(g.NAMESPACE + keys, JSON.stringify val)
|
||||||
val = JSON.stringify val
|
else
|
||||||
GM_setValue key, val
|
for key, value of keys
|
||||||
if key of $.syncing
|
$.setValue(g.NAMESPACE + key, JSON.stringify value)
|
||||||
$.oldValue[key] = val
|
cb = val
|
||||||
# for `storage` events
|
cb?()
|
||||||
localStorage.setItem key, val
|
|
||||||
|
|
||||||
(keys, val, cb) ->
|
|
||||||
if typeof keys is 'string'
|
|
||||||
set keys, val
|
|
||||||
else
|
|
||||||
set key, value for key, value of keys
|
|
||||||
cb = val
|
|
||||||
cb?()
|
|
||||||
|
|
||||||
$.clear = (cb) ->
|
$.clear = (cb) ->
|
||||||
# XXX https://github.com/greasemonkey/greasemonkey/issues/2033
|
# XXX https://github.com/greasemonkey/greasemonkey/issues/2033
|
||||||
@ -490,7 +503,7 @@ $.clear = (cb) ->
|
|||||||
boards.push 'qa'
|
boards.push 'qa'
|
||||||
$.delete ("cooldown.#{board}" for board in boards)
|
$.delete ("cooldown.#{board}" for board in boards)
|
||||||
try
|
try
|
||||||
$.delete GM_listValues().map (key) -> key.replace g.NAMESPACE, ''
|
$.delete $.listValues().map (key) -> key.replace g.NAMESPACE, ''
|
||||||
cb?()
|
cb?()
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user