diff --git a/api.js b/api.js index e77d6a3..a4404ec 100644 --- a/api.js +++ b/api.js @@ -1,6 +1,8 @@ /** * Wraps up the remote calling API. */ + +// Private variables var $_connection = null; var $_listeners = {}; @@ -28,77 +30,77 @@ function $_addlistener(obj, evt, cb) { $_listeners[en].push(cb); } -function $ListApi(obj) { - this.$obj = obj; - Object.freeze(this); -} - -$ListApi.prototype = { - get: function(cb) { - var msg = {$name: this.$obj}; - if (cb) { - chrome.extension.sendRequest(msg, cb); - } else { - chrome.extension.sendRequest(msg); - } - }, - each: function(cb) { - chrome.extension.sendRequest({$name: this.$obj}, function(items) { - for (i in items.sort()) { - cb(items[i], i); +const UseHttps = { + site: { + all: function(cb) { + chrome.extension.sendRequest({$name: 'site.all'}, cb); + }, + each: function(cb) { + UseHttps.site.all(function(sites) { + sites.forEach(function(site) { + cb(site); + }); + }); + }, + get: function(site, cb) { + chrome.extension.sendRequest({$name: 'site.get', site:site}, cb); + }, + add: function(site, data, cb) { + var msg = {$name: 'site.add', site: site, status: data.status}; + if (cb) { + chrome.extension.sendRequest(msg, cb); + } else { + chrome.extension.sendRequest(msg); } - }); - }, - add: function(site, cb) { - var msg = {$name: this.$obj+'.add', site:site}; - if (cb) { - chrome.extension.sendRequest(msg, cb); - } else { - chrome.extension.sendRequest(msg); - } - }, - del: function(site, cb) { - var msg = {$name: this.$obj+'.del', site:site}; - if (cb) { - chrome.extension.sendRequest(msg, cb); - } else { - chrome.extension.sendRequest(msg); - } - }, - match: function(site, cb) { - var msg = {$name: this.$obj+'.match', site:site}; - if (cb) { - chrome.extension.sendRequest(msg, cb); - } else { - chrome.extension.sendRequest(msg); + }, + set: function(site, data, cb) { + var msg = {$name: 'site.set', site: site, status: data.status}; + if (cb) { + chrome.extension.sendRequest(msg, cb); + } else { + chrome.extension.sendRequest(msg); + } + }, + makeItSo: function(site, data, cb) { + var msg = {$name: 'site.set', site: site, status: data.status}; + if (cb) { + chrome.extension.sendRequest(msg, cb); + } else { + chrome.extension.sendRequest(msg); + } + }, + del: function(site, cb) { + var msg = {$name: 'site.del', site: site}; + if (cb) { + chrome.extension.sendRequest(msg, cb); + } else { + chrome.extension.sendRequest(msg); + } + }, + match: function(site, cb) { + chrome.extension.sendRequest({$name: 'site.match', site:site}, cb); + }, + connect: function(evt, cb) { + $_addlistener('site', evt, cb); } }, - clear: function() { - chrome.extension.sendRequest({$name: this.$obj+'.clear'}); - }, - connect: function(evt, cb) { - $_addlistener(this.$obj, evt, cb); - } -}; - -const UseHttps = { - sitelist: new $ListApi('sitelist'), - potentials: new $ListApi('potentials'), - blacklist: new $ListApi('blacklist'), - clearAll: function() { - chrome.extension.sendRequest({$name: 'clearAll'}); - }, - enabled: { - get: function(cb) { - var msg = {$name: 'enabled'}; + setting: { + get: function(name, cb) { + chrome.extension.sendRequest({$name: 'setting.get', name:name}, cb); + }, + has: function(name, cb) { + chrome.extension.sendRequest({$name: 'setting.has', name:name}, cb); + }, + set: function(name, value, cb) { + var msg = {$name: 'setting.set', name: name, value: value}; if (cb) { chrome.extension.sendRequest(msg, cb); } else { chrome.extension.sendRequest(msg); } }, - set: function(value, cb) { - var msg = {$name: 'enabled.set', value: value}; + del: function(name, cb) { + var msg = {$name: 'setting.del', name:name}; if (cb) { chrome.extension.sendRequest(msg, cb); } else { @@ -106,7 +108,7 @@ const UseHttps = { } }, connect: function(evt, cb) { - $_addlistener('enabled', evt, cb); + $_addlistener('setting', evt, cb); } }, haspotential: function(site, cb) { diff --git a/background.html b/background.html index e594e80..baf985b 100644 --- a/background.html +++ b/background.html @@ -1,119 +1,126 @@