From 7f7ace3a8f962dfb47a0137e346c4b6f639c8cea Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Tue, 15 Jul 2014 17:09:05 -0400 Subject: Add webpage's favicon to the request body Note that this is not perfect on Chrome since the favicon is loaded asynchronously after the page loaded event. --- firefox-addon/lib/main.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'firefox-addon/lib/main.js') diff --git a/firefox-addon/lib/main.js b/firefox-addon/lib/main.js index 285397b..f0926c4 100644 --- a/firefox-addon/lib/main.js +++ b/firefox-addon/lib/main.js @@ -1,15 +1,17 @@ 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; +var { Request } = require("sdk/request"); +var { prefs } = require("sdk/simple-prefs"); +var { XMLHttpRequest } = require("sdk/net/xhr"); +var { getFavicon } = require("sdk/places/favicon"); var previous_window = null; -function log(url, title){ +function log(url, title, favicon){ var data = JSON.stringify({ url: url, time: Date.now(), - title: title, key: prefs.key + title: title, key: prefs.key, + favicon: favicon }); var xhr = new XMLHttpRequest(); xhr.open("POST", prefs.callback); @@ -18,13 +20,16 @@ function log(url, title){ function logTab(tab) { if (tab.id === tabs.activeTab.id) { - log(tab.url, tab.title); + getFavicon(tab, function(favicon) { + log(tab.url, tab.title, favicon); + }); } } tabs.on("activate", function () { logTab(tabs.activeTab) }); tabs.on("pageshow", logTab ); + windows.on("activate", function (window) { if (previous_window != window) { previous_window = window; @@ -33,4 +38,4 @@ windows.on("activate", function (window) { logTab(tabs.activeTab) ; }); -windows.on("deactivate", function (window) { log(null, null) }); +windows.on("deactivate", function (window) { log(null, null, null) }); -- cgit v1.2.3-70-g09d2