initial commit
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
console.log("muffcast server v0.1");
|
||||
|
||||
var port = browser.runtime.connectNative("muffcast");
|
||||
var waitForLoad = false;
|
||||
|
||||
browser.windows.getCurrent().then(function(windowInfo) {
|
||||
///*
|
||||
browser.windows.update(windowInfo.id, {
|
||||
state: "fullscreen"
|
||||
});
|
||||
//*/
|
||||
///*
|
||||
browser.tabs.query({
|
||||
currentWindow: true,
|
||||
active: true
|
||||
}).then(function(tabs) {
|
||||
var tab = tabs[0];
|
||||
browser.tabs.update(tab.id, {
|
||||
url: browser.extension.getURL("splash/splash.html")
|
||||
});
|
||||
});
|
||||
//*/
|
||||
})
|
||||
|
||||
var sendCommand = function(message) {
|
||||
browser.tabs.query({
|
||||
currentWindow: true,
|
||||
active: true
|
||||
}).then(function(tabs) {
|
||||
for (let tab of tabs) {
|
||||
browser.tabs.sendMessage(
|
||||
tab.id, message
|
||||
).catch(function(error) {
|
||||
port.postMessage(error);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
Listen for messages from the app.
|
||||
*/
|
||||
port.onMessage.addListener(function(message) {
|
||||
console.log("received", message);
|
||||
if (message.command) {
|
||||
if (message.command == "load") {
|
||||
if (message && message.url) {
|
||||
browser.tabs.query({
|
||||
currentWindow: true,
|
||||
active: true
|
||||
}).then(function(tabs) {
|
||||
var tab = tabs[0];
|
||||
waitForLoad = message;
|
||||
if (tab.url != decodeURIComponent(message.url)) {
|
||||
browser.tabs.update(tab.id, {
|
||||
url: decodeURIComponent(message.url)
|
||||
});
|
||||
} else {
|
||||
sendCommand(message);
|
||||
waitForLoad = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
} else
|
||||
if (message.command == "stop") {
|
||||
browser.tabs.query({
|
||||
currentWindow: true,
|
||||
active: true
|
||||
}).then(function(tabs) {
|
||||
var tab = tabs[0];
|
||||
waitForLoad = false;
|
||||
browser.tabs.update(tab.id, {
|
||||
url: browser.extension.getURL("splash/splash.html")
|
||||
}).then(function() {
|
||||
port.postMessage("ok");
|
||||
});
|
||||
});
|
||||
} else {
|
||||
sendCommand(message);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
browser.runtime.onMessage.addListener(function(message) {
|
||||
if (message !== "loaded") {
|
||||
console.log("response", message);
|
||||
port.postMessage(message);
|
||||
} else if (waitForLoad) {
|
||||
sendCommand(waitForLoad);
|
||||
waitForLoad = false;
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user