diff options
Diffstat (limited to 'data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js')
-rw-r--r-- | data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js b/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js new file mode 100644 index 0000000..14491f7 --- /dev/null +++ b/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js @@ -0,0 +1,49 @@ +var app = {};
+
+app.button = {set icon (o) {chrome.browserAction.setIcon(o)}};
+app.version = function () {return chrome.runtime.getManifest().version};
+app.homepage = function () {return chrome.runtime.getManifest().homepage_url};
+app.tab = {"open": function (url) {chrome.tabs.create({"url": url, "active": true})}};
+if (chrome.runtime.setUninstallURL) chrome.runtime.setUninstallURL(app.homepage() + "?v=" + app.version() + "&type=uninstall", function () {});
+
+app.storage = (function () {
+ var objs = {};
+ window.setTimeout(function () {
+ chrome.storage.local.get(null, function (o) {
+ objs = o;
+ var script = document.createElement("script");
+ script.src = "../common.js";
+ document.body.appendChild(script);
+ });
+ }, 300);
+ /* */
+ return {
+ "read": function (id) {return objs[id]},
+ "write": function (id, data) {
+ var tmp = {};
+ objs[id] = data;
+ tmp[id] = data;
+ chrome.storage.local.set(tmp, function () {});
+ }
+ }
+})();
+
+app.popup = (function () {
+ var _tmp = {};
+ chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
+ for (var id in _tmp) {
+ if (_tmp[id] && (typeof _tmp[id] === "function")) {
+ if (request.path === 'popup-to-background') {
+ if (request.method === id) _tmp[id](request.data);
+ }
+ }
+ }
+ });
+ /* */
+ return {
+ "receive": function (id, callback) {_tmp[id] = callback},
+ "send": function (id, data, tabId) {
+ chrome.runtime.sendMessage({"path": 'background-to-popup', "method": id, "data": data});
+ }
+ }
+})();
|