diff --git a/adapters/firefox/content/js/adapter.js b/adapters/firefox/content/js/adapter.js index 1c3fca8cd..16c269411 100644 --- a/adapters/firefox/content/js/adapter.js +++ b/adapters/firefox/content/js/adapter.js @@ -20,33 +20,64 @@ /** * Initialize */ - init: function() { - // Get version number - Components.utils.import('resource://gre/modules/AddonManager.jsm'); + init: function(callback) { + var handler = function() { + window.removeEventListener('load', handler, false); - AddonManager.getAddonByID('wappalyzer@crunchlabz.com', function(extension) { - w.version = extension.version; - }); + w.log('w.adapter: browser window loaded'); + + // Listen for tab events + gBrowser.addTabsProgressListener({ + /* + onLocationChange: function(progress, request, location, flags) { + w.log('tab location change: ' + location.URI.spec); + + w.adapter('displayApps', { url: location.URI.spec }); + } + */ + + /* + onStateChange: function(browser, progress, request, flags, status) { + if ( (flag & Components.interfaces.nsIWebProgressListener.STATE_STOP) ) { + // Some operations including the DOM parsing here + } + } + */ + }); - // Load content script - if ( messageManager != null ) { // Listen for messages from content script messageManager.addMessageListener('wappalyzer', content); + // Load content script messageManager.loadFrameScript('chrome://wappalyzer/content/js/content.js', true); - } + + // Get version number + Components.utils.import('resource://gre/modules/AddonManager.jsm'); + + AddonManager.getAddonByID('wappalyzer@crunchlabz.com', function(extension) { + w.version = extension.version; + + callback(); + }); + }; + + window.addEventListener('load', handler, false); }, /** * Display apps */ displayApps: function(args) { + var browser = gBrowser.getBrowserForTab(gBrowser.selectedTab); + + url = browser.currentURI.spec; }, /** * Go to URL */ goToURL: function(args) { + gBrowser.addTab(args.url); } }; @@ -56,10 +87,7 @@ function content(msg) { w.log('content.js'); - w.analyze(msg.json.hostname, msg.json.url, { - html: msg.json.html, - env: msg.json.env - }); + w.analyze(msg.json.hostname, msg.json.url, { html: msg.json.html, env: msg.json.env }); delete msg; } diff --git a/adapters/firefox/content/xul/wappalyzer.xul b/adapters/firefox/content/xul/wappalyzer.xul index fe4e134ac..9f935fdc7 100755 --- a/adapters/firefox/content/xul/wappalyzer.xul +++ b/adapters/firefox/content/xul/wappalyzer.xul @@ -14,18 +14,9 @@ - - + + - - diff --git a/adapters/firefox/skin/css/wappalyzer.css b/adapters/firefox/skin/css/wappalyzer.css index cc44c585a..e69de29bb 100755 --- a/adapters/firefox/skin/css/wappalyzer.css +++ b/adapters/firefox/skin/css/wappalyzer.css @@ -1,22 +0,0 @@ -#urlbar-icons #wappalyzer-container { - margin-left: 2px; -} - -.wappalyzer-icon { - margin-left: 4px !important; - width: 16px; - height: 16px; -} - -#wappalyzer-statubar #wappalyzer-icon { - margin-left: 0 !important; -} - -#wappalyzer-detected-apps label { - padding-top: 2px; - margin: 0 1px 0 4px; -} - -#wappalyzer-option-custom-apps { - font-family: monospace !important; -} diff --git a/wappalyzer.js b/wappalyzer.js index cf5ab5837..762cf781e 100644 --- a/wappalyzer.js +++ b/wappalyzer.js @@ -74,10 +74,10 @@ var wappalyzer = wappalyzer || (function() { } // Initialize adapter - adapter('init'); - - if ( w.config.firstRun ) adapter('goToURL', { url: w.config.websiteURL + 'install/success' }); - if ( w.config.upgraded ) adapter('goToURL', { url: w.config.websiteURL + 'install/upgraded' }); + adapter('init', function() { + if ( w.config.firstRun ) adapter('goToURL', { url: w.config.websiteURL + 'install/success' }); + if ( w.config.upgraded ) adapter('goToURL', { url: w.config.websiteURL + 'install/upgraded' }); + }); }, /**