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