Fixes for chrome
This commit is contained in:
parent
5ce0c51018
commit
20576675ce
@ -6,10 +6,24 @@ var _bd_isEdge = false; // we'll see if FF
|
|||||||
|
|
||||||
try{
|
try{
|
||||||
// todo: find something that works in firefox but not in edge (or vice-versa)
|
// todo: find something that works in firefox but not in edge (or vice-versa)
|
||||||
_bd_isFirefox = true;
|
var browserinfo = browser.runtime.getBrowserInfo();
|
||||||
_bd_isEdge = false;
|
|
||||||
|
// we don't need to actually check because only firefox supports that.
|
||||||
|
// if we're not on firefox, the above call will probably throw an exception anyway.
|
||||||
|
// if browsers other than firefox start supporting that, well ... we'll also need to actually await for promise
|
||||||
|
// that getBrowserInfo() returns to resolve.
|
||||||
|
|
||||||
|
// if (Browser.name.toLowerCase().indexOf(firefox) !== -1 || Browser.vendor.toLowerCase().indexOf(mozilla) !== -1) {
|
||||||
|
_bd_isFirefox = true;
|
||||||
|
_bd_isEdge = false;
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (e) {};
|
catch (e) {
|
||||||
|
if(Debug.debug) {
|
||||||
|
console.info("[BrowserDetect] browser.runtime.getBrowserInfo() probably failed. This means we're probably not using firefox.", e)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if(typeof browser === "undefined"){ // This is a good sign we're in chrome or chromium-based browsers
|
if(typeof browser === "undefined"){ // This is a good sign we're in chrome or chromium-based browsers
|
||||||
if(chrome){
|
if(chrome){
|
||||||
@ -17,6 +31,7 @@ if(typeof browser === "undefined"){ // This is a good sign we're in chrome or ch
|
|||||||
_bd_usebrowser = "chrome";
|
_bd_usebrowser = "chrome";
|
||||||
_bd_isChrome = true;
|
_bd_isChrome = true;
|
||||||
_bd_isEdge = false;
|
_bd_isEdge = false;
|
||||||
|
_bd_isFirefox = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
if(Debug.debug){
|
if(Debug.debug){
|
||||||
console.log("Loading Comms.js")
|
console.log("Loading Comms.js");
|
||||||
}
|
}
|
||||||
|
|
||||||
class CommsClient {
|
class CommsClient {
|
||||||
constructor(name){
|
constructor(name) {
|
||||||
this.port = browser.runtime.connect({name: name});
|
if (BrowserDetect.firefox) {
|
||||||
|
this.port = browser.runtime.connect({name: name});
|
||||||
|
} else if (BrowserDetect.chrome) {
|
||||||
|
this.port = chrome.runtime.connect({name: name});
|
||||||
|
}
|
||||||
|
|
||||||
var ths = this;
|
var ths = this;
|
||||||
this.port.onMessage.addListener(m => ths.processReceivedMessage(m));
|
this.port.onMessage.addListener(m => ths.processReceivedMessage(m));
|
||||||
@ -158,20 +162,25 @@ class CommsServer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sendToActive(message) {
|
async _getActiveTab() {
|
||||||
|
if (BrowserDetect.firefox) {
|
||||||
|
console.log("we firefox")
|
||||||
|
return await browser.tabs.query({currentWindow: true, active: true});
|
||||||
|
} else {
|
||||||
|
return await new Promise( (resolve, reject) => {
|
||||||
|
chrome.tabs.query({currentWindow: true, active: true}, function (res) {
|
||||||
|
resolve(res);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async sendToActive(message) {
|
||||||
if(Debug.debug && Debug.comms){
|
if(Debug.debug && Debug.comms){
|
||||||
console.log("%c[CommsServer::sendToActive] trying to send a message to active tab. Message:", "background: #dda; color: #11D", message);
|
console.log("%c[CommsServer::sendToActive] trying to send a message to active tab. Message:", "background: #dda; color: #11D", message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(BrowserDetect.firefox){
|
var tabs = await this._getActiveTab();
|
||||||
this._sendToActive_ff(message);
|
|
||||||
} else if (BrowserDetect.chrome) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async _sendToActive_ff(message){
|
|
||||||
var tabs = await browser.tabs.query({currentWindow: true, active: true});
|
|
||||||
|
|
||||||
if(Debug.debug && Debug.comms){
|
if(Debug.debug && Debug.comms){
|
||||||
console.log("[CommsServer::_sendToActive_ff] currently active tab(s)?", tabs);
|
console.log("[CommsServer::_sendToActive_ff] currently active tab(s)?", tabs);
|
||||||
@ -186,18 +195,6 @@ class CommsServer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async queryTabs_chrome(tabInfo){
|
|
||||||
return new Promise(function (resolve, reject){
|
|
||||||
browser.tabs.query(tabInfo, function(response){
|
|
||||||
browser.tabs.query(tabInfo);
|
|
||||||
// Chrome/js shittiness mitigation — remove this line and an empty array will be returned
|
|
||||||
var r = response;
|
|
||||||
resolve(r);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onConnect(port){
|
onConnect(port){
|
||||||
var ths = this;
|
var ths = this;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user