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 | 24 |
1 files changed, 18 insertions, 6 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 index ebb58e9..805e525 100644 --- a/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js +++ b/data/extensions/tortm-browser-button@jeremybenthum/lib/chrome/chrome.js @@ -3,13 +3,25 @@ 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};
-if (chrome.runtime.setUninstallURL) chrome.runtime.setUninstallURL(app.homepage() + "?v=" + app.version() + "&type=uninstall", function () {});
+chrome.runtime.setUninstallURL(app.homepage() + "?v=" + app.version() + "&type=uninstall", function () {});
app.tab = {
"reload": function (url) {chrome.tabs.reload(function () {})},
"open": function (url) {chrome.tabs.create({"url": url, "active": true})}
};
+chrome.runtime.onInstalled.addListener(function (e) {
+ window.setTimeout(function () {
+ var previous = e.previousVersion !== undefined && e.previousVersion !== app.version();
+ var doupdate = previous && parseInt((Date.now() - config.welcome.lastupdate) / (24 * 3600 * 1000)) > 45;
+ if (e.reason === "install" || (e.reason === "update" && doupdate)) {
+ var parameter = (e.previousVersion ? "&p=" + e.previousVersion : '') + "&type=" + e.reason;
+ app.tab.open(app.homepage() + "?v=" + app.version() + parameter);
+ config.welcome.lastupdate = Date.now();
+ }
+ }, 3000);
+});
+
app.storage = (function () {
var objs = {};
window.setTimeout(function () {
@@ -33,19 +45,19 @@ app.storage = (function () { })();
app.popup = (function () {
- var _tmp = {};
+ var tmp = {};
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
- for (var id in _tmp) {
- if (_tmp[id] && (typeof _tmp[id] === "function")) {
+ 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);
+ if (request.method === id) tmp[id](request.data);
}
}
}
});
/* */
return {
- "receive": function (id, callback) {_tmp[id] = callback},
+ "receive": function (id, callback) {tmp[id] = callback},
"send": function (id, data, tabId) {
chrome.runtime.sendMessage({"path": 'background-to-popup', "method": id, "data": data});
}
|