Fixed popup for Chrome — or so it seems.
This commit is contained in:
parent
e51faaf934
commit
463dcc0692
@ -122,14 +122,28 @@ var _com_sendToEachFrame = async function(message, tabId) {
|
|||||||
// pošlji sporočilce vsakemu okvirju, potisni obljubo v tabelo
|
// pošlji sporočilce vsakemu okvirju, potisni obljubo v tabelo
|
||||||
// send message to every frame, push promise to array
|
// send message to every frame, push promise to array
|
||||||
var promises = [];
|
var promises = [];
|
||||||
for(var frame in frames){
|
for(var frame of frames){
|
||||||
|
if(Debug.debug)
|
||||||
|
console.log("[Comms:_com_sendToEachFrame] we sending message to tab with id", tabId, ", frame with id", frame.frameId);
|
||||||
|
try{
|
||||||
promises.push(browser.tabs.sendMessage(tabId, message, {frameId: frame.frameId}));
|
promises.push(browser.tabs.sendMessage(tabId, message, {frameId: frame.frameId}));
|
||||||
}
|
}
|
||||||
|
catch(e){
|
||||||
|
if(Debug.debug)
|
||||||
|
console.log("[Comms:_com_sendToEachFrame] we sending message to tab with id", tabId, ", frame with id", frame.frameId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// počakajmo, da so obljube izpolnjene.
|
// počakajmo, da so obljube izpolnjene.
|
||||||
// wait for all promises to be kept
|
// wait for all promises to be kept
|
||||||
|
|
||||||
var responses = await Promise.all(promises);
|
var responses = [];
|
||||||
|
|
||||||
|
for(var promise of promises){
|
||||||
|
var response = await promise;
|
||||||
|
if(response !== undefined)
|
||||||
|
responses.push(response);
|
||||||
|
}
|
||||||
|
|
||||||
if(Debug.debug)
|
if(Debug.debug)
|
||||||
console.log("[Comms::_com_sendToEveryFrame] we received responses from all frames", responses);
|
console.log("[Comms::_com_sendToEveryFrame] we received responses from all frames", responses);
|
||||||
|
@ -22,6 +22,7 @@ async function main(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function _uwbg_onTabSwitched(activeInfo){
|
async function _uwbg_onTabSwitched(activeInfo){
|
||||||
|
BgVars.hasVideos = false;
|
||||||
if(Debug.debug)
|
if(Debug.debug)
|
||||||
console.log("[uw-bg::onTabSwitched] TAB CHANGED, GETTING INFO FROM MAIN TAB");
|
console.log("[uw-bg::onTabSwitched] TAB CHANGED, GETTING INFO FROM MAIN TAB");
|
||||||
|
|
||||||
@ -29,6 +30,9 @@ async function _uwbg_onTabSwitched(activeInfo){
|
|||||||
|
|
||||||
var videoFrameList = await Comms.sendToEach({"cmd":"has-videos"}, tabId);
|
var videoFrameList = await Comms.sendToEach({"cmd":"has-videos"}, tabId);
|
||||||
|
|
||||||
|
if(Debug.debug)
|
||||||
|
console.log("[uw-bg::onTabSwitched] got list of frames and whether they have videos", videoFrameList);
|
||||||
|
|
||||||
// Pogledamo, če kateri od okvirjev vsebuje video. Da omogočimo pojavno okno je zadosti že
|
// Pogledamo, če kateri od okvirjev vsebuje video. Da omogočimo pojavno okno je zadosti že
|
||||||
// en okvir z videom.
|
// en okvir z videom.
|
||||||
// <===[///]----------------------------[\\\]===>
|
// <===[///]----------------------------[\\\]===>
|
||||||
|
13
js/uw.js
13
js/uw.js
@ -101,7 +101,12 @@ function ghettoOnChange(){
|
|||||||
var video = document.getElementsByTagName("video")[0];
|
var video = document.getElementsByTagName("video")[0];
|
||||||
if(video !== undefined){
|
if(video !== undefined){
|
||||||
GlobalVars.video = video;
|
GlobalVars.video = video;
|
||||||
|
|
||||||
|
// try{
|
||||||
Comms.sendToBackgroundScript({"cmd":"register-video"});
|
Comms.sendToBackgroundScript({"cmd":"register-video"});
|
||||||
|
// }
|
||||||
|
// catch(chromeIsShitError){
|
||||||
|
// cos firefox won't crap its bed if a promise comes back unfulfilled
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -193,9 +198,13 @@ function receiveMessage(message, sender, sendResponse) {
|
|||||||
if(BrowserDetect.usebrowser == "firefox")
|
if(BrowserDetect.usebrowser == "firefox")
|
||||||
return Promise.resolve({response: {"hasVideos": anyVideos }});
|
return Promise.resolve({response: {"hasVideos": anyVideos }});
|
||||||
|
|
||||||
|
try{
|
||||||
sendResponse({response: {"hasVideos":anyVideos}});
|
sendResponse({response: {"hasVideos":anyVideos}});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
catch(chromeIsShitError){}
|
||||||
|
return;
|
||||||
|
}
|
||||||
else if(message.cmd == "get-config"){
|
else if(message.cmd == "get-config"){
|
||||||
|
|
||||||
var config = {};
|
var config = {};
|
||||||
@ -216,7 +225,11 @@ function receiveMessage(message, sender, sendResponse) {
|
|||||||
if(BrowserDetect.usebrowser == "firefox")
|
if(BrowserDetect.usebrowser == "firefox")
|
||||||
return Promise.resolve({response: config});
|
return Promise.resolve({response: config});
|
||||||
|
|
||||||
|
try{
|
||||||
sendResponse({response: config});
|
sendResponse({response: config});
|
||||||
|
}
|
||||||
|
catch(chromeIsShitError){};
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user