diff options
| author | Einar Egilsson <einar@einaregilsson.com> | 2016-05-31 15:09:27 +0200 | 
|---|---|---|
| committer | Einar Egilsson <einar@einaregilsson.com> | 2016-05-31 15:09:27 +0200 | 
| commit | 7ec3bc449dda34007c75d580b9a75f95c40bb4f3 (patch) | |
| tree | ed2ad852b0d5584b528ecd95e361ab19d6d0e453 /js | |
| parent | 44dfb4ec3c4585454ebfbb7b30fe7774c5c6a877 (diff) | |
Remove old Firefox specific hacks
Diffstat (limited to 'js')
| -rw-r--r-- | js/background.js | 22 | ||||
| -rw-r--r-- | js/popup.js | 15 | 
2 files changed, 7 insertions, 30 deletions
| diff --git a/js/background.js b/js/background.js index 5b393db..c025281 100644 --- a/js/background.js +++ b/js/background.js @@ -8,14 +8,6 @@ function log(msg) {  }  log.enabled = true; - -var isFirefox = !!navigator.userAgent.match(/Firefox/i); - -log('Is Firefox: ' + isFirefox); - -//Hopefully Firefox will fix this at some point and we can just use onBeforeRequest everywhere... -var redirectEvent = isFirefox ? chrome.webRequest.onBeforeSendHeaders : chrome.webRequest.onBeforeRequest; -  //Redirects partitioned by request type, so we have to run through  //the minimum number of redirects for each request.  var partitionedRedirects = {}; @@ -54,12 +46,6 @@ function setIcon(image) {  //decide whether or not we want to redirect.  function checkRedirects(details) { -	//Oh Firefox, please fix your broken url matching soon... -	if (isFirefox && !details.url.match(/^https?:\/\//)) { -		log('Not http: ' + details.url); -		return {}; -	} -  	//We only allow GET request to be redirected, don't want to accidentally redirect  	//sensitive POST parameters  	if (details.method != 'GET') { @@ -109,8 +95,6 @@ function checkRedirects(details) {  			ignoreNextRequest[result.redirectTo] = new Date().getTime();  			return { redirectUrl: result.redirectTo }; -		} else { -			log(details.url + ' is not a match for ' + r.includePattern + ', type ' + r.patternType);  		}  	} @@ -126,7 +110,7 @@ function monitorChanges(changes, namespace) {  		if (changes.disabled.newValue == true) {  			log('Disabling Redirector, removing listener'); -			redirectEvent.removeListener(checkRedirects); +			chrome.webRequest.onBeforeRequest.removeListener(checkRedirects);  		} else {  			log('Enabling Redirector, setting up listener');  			setUpRedirectListener(); @@ -180,7 +164,7 @@ function createPartitionedRedirects(redirects) {  //Sets up the listener, partitions the redirects, creates the appropriate filters etc.  function setUpRedirectListener() { -	redirectEvent.removeListener(checkRedirects); //Unsubscribe first, in case there are changes... +	chrome.webRequest.onBeforeRequest.removeListener(checkRedirects); //Unsubscribe first, in case there are changes...  	chrome.storage.local.get({redirects:[]}, function(obj) {  		var redirects = obj.redirects; @@ -193,7 +177,7 @@ function setUpRedirectListener() {  		var filter = createFilter(redirects);  		log('Setting filter for listener: ' + JSON.stringify(filter)); -		redirectEvent.addListener(checkRedirects, filter, ["blocking"]); +		chrome.webRequest.onBeforeRequest.addListener(checkRedirects, filter, ["blocking"]);  	});  } diff --git a/js/popup.js b/js/popup.js index 1241d20..0467286 100644 --- a/js/popup.js +++ b/js/popup.js @@ -20,8 +20,10 @@ angular.module('popupApp', []).controller('PopupCtrl', ['$scope', function($s) {  		//switch to open one if we have it to minimize conflicts  		var url = chrome.extension.getURL('redirector.html'); - -		chrome.tabs.query({currentWindow:true}, function(tabs)) { +		 +		//FIREFOXBUG: Firefox chokes on url:url filter if the url is a moz-extension:// url +		//so we don't use that, do it the more manual way instead. +		chrome.tabs.query({currentWindow:true}, function(tabs) {  			for (var i=0; i < tabs.length; i++) {  				if (tabs[i].url == url) {  					chrome.tabs.update(tabs[i].id, {active:true}, function(tab) { @@ -34,14 +36,5 @@ angular.module('popupApp', []).controller('PopupCtrl', ['$scope', function($s) {  			chrome.tabs.create({url:url, active:true});  		});  		return; -		chrome.tabs.query({currentWindow:true, url:url}, function(tabs) { -			if (tabs.length > 0) { -				chrome.tabs.update(tabs[0].id, {active:true}, function(tab) { -					close(); -				}); -			} else { -				chrome.tabs.create({url:url, active:true}); -			} -		});  	};  }]);
\ No newline at end of file | 
