summaryrefslogtreecommitdiffstats
path: root/firefox-addon/lib/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'firefox-addon/lib/main.js')
-rw-r--r--firefox-addon/lib/main.js43
1 files changed, 17 insertions, 26 deletions
diff --git a/firefox-addon/lib/main.js b/firefox-addon/lib/main.js
index 2c2786d..c5446f2 100644
--- a/firefox-addon/lib/main.js
+++ b/firefox-addon/lib/main.js
@@ -2,33 +2,24 @@ var windows = require("sdk/windows").browserWindows;
var tabs = require("sdk/tabs");
var Request = require("sdk/request").Request;
var prefs = require("sdk/simple-prefs").prefs;
+var XMLHttpRequest = require("sdk/net/xhr").XMLHttpRequest;
-function logUrl(tab) {
- if (tab !== tabs.activeTab) {
- return;
+function log(url, title){
+ var xhr = new XMLHttpRequest();
+ xhr.open("POST", prefs.callbackUrl);
+ var data = "url=" + url;
+ data += "&time=" + Date.now();
+ data += "&title=" + title;
+ xhr.send(data);
+}
+
+function logTab(tab) {
+ if (tab.id === tabs.activeTab.id) {
+ log(tab.url, tab.title);
}
- Request({
- url: prefs.callbackUrl,
- headers: {
- "url": unescape(encodeURIComponent(tab.url)),
- "time": Date.now(),
- "title": unescape(encodeURIComponent(tab.title)),
- }
- }).post();
};
-function logDesactivate() {
- Request({
- url: prefs.callbackUrl,
- headers: {
- "url": null,
- "time": Date.now(),
- "title": null,
- }
- }).post();
-}
-
-tabs.on("activate", function () { logUrl(tabs.activeTab) });
-tabs.on("pageshow", function(tab) { logUrl(tab) });
-windows.on("activate", function () { logUrl(tabs.activeTab) });
-windows.on("deactivate", function () { logDesactivate() });
+tabs.on("activate", function () { logTab(tabs.activeTab) });
+tabs.on("pageshow", logTab );
+windows.on("activate", function () { logTab(tabs.activeTab) });
+windows.on("deactivate", function () { log(null, null) });