Merge branch 'midori'

This commit is contained in:
ccd0 2015-06-22 10:47:20 -07:00
commit 0d06f4c350
3 changed files with 42 additions and 38 deletions

View File

@ -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

View File

@ -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

View File

@ -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?()
<% } %> <% } %>