Bug 1111967 - honor browser.casting.enabled pref for casting on desktop, r=mconley
This commit is contained in:
@@ -285,6 +285,7 @@ pref("browser.slowStartup.maxSamples", 5);
|
||||
pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
|
||||
|
||||
pref("browser.enable_automatic_image_resizing", true);
|
||||
pref("browser.casting.enabled", true);
|
||||
pref("browser.chrome.site_icons", true);
|
||||
pref("browser.chrome.favicons", true);
|
||||
// browser.warnOnQuit == false will override all other possible prompts when quitting or restarting
|
||||
|
||||
@@ -2949,7 +2949,10 @@ function BrowserFullScreen()
|
||||
}
|
||||
|
||||
function mirrorShow(popup) {
|
||||
let services = CastingApps.getServicesForMirroring();
|
||||
let services = [];
|
||||
if (Services.prefs.getBoolPref("browser.casting.enabled")) {
|
||||
services = CastingApps.getServicesForMirroring();
|
||||
}
|
||||
popup.ownerDocument.getElementById("menu_mirrorTabCmd").hidden = !services.length;
|
||||
}
|
||||
|
||||
@@ -2959,8 +2962,11 @@ function mirrorMenuItemClicked(event) {
|
||||
}
|
||||
|
||||
function populateMirrorTabMenu(popup) {
|
||||
let videoEl = this.target;
|
||||
popup.innerHTML = null;
|
||||
if (!Services.prefs.getBoolPref("browser.casting.enabled")) {
|
||||
return;
|
||||
}
|
||||
let videoEl = this.target;
|
||||
let doc = popup.ownerDocument;
|
||||
let services = CastingApps.getServicesForMirroring();
|
||||
services.forEach(service => {
|
||||
|
||||
@@ -105,6 +105,9 @@ addMessageListener("MixedContent:ReenableProtection", function() {
|
||||
});
|
||||
|
||||
addMessageListener("SecondScreen:tab-mirror", function(message) {
|
||||
if (!Services.prefs.getBoolPref("browser.casting.enabled")) {
|
||||
return;
|
||||
}
|
||||
let app = SimpleServiceDiscovery.findAppForService(message.data.service);
|
||||
if (app) {
|
||||
let width = content.innerWidth;
|
||||
|
||||
@@ -218,14 +218,15 @@ nsContextMenu.prototype = {
|
||||
this.showItem("context-sendaudio", this.onAudio);
|
||||
this.setItemAttr("context-sendvideo", "disabled", !this.mediaURL);
|
||||
this.setItemAttr("context-sendaudio", "disabled", !this.mediaURL);
|
||||
let shouldShowCast = Services.prefs.getBoolPref("browser.casting.enabled");
|
||||
// getServicesForVideo alone would be sufficient here (it depends on
|
||||
// SimpleServiceDiscovery.services), but SimpleServiceDiscovery is garanteed
|
||||
// to be already loaded, since we load it on startup, and CastingApps isn't,
|
||||
// so check SimpleServiceDiscovery.services first to avoid needing to load
|
||||
// CastingApps.jsm if we don't need to.
|
||||
let shouldShowCast = this.mediaURL &&
|
||||
SimpleServiceDiscovery.services.length > 0 &&
|
||||
CastingApps.getServicesForVideo(this.target).length > 0;
|
||||
// SimpleServiceDiscovery.services), but SimpleServiceDiscovery is guaranteed
|
||||
// to be already loaded, since we load it on startup in nsBrowserGlue,
|
||||
// and CastingApps isn't, so check SimpleServiceDiscovery.services first
|
||||
// to avoid needing to load CastingApps.jsm if we don't need to.
|
||||
shouldShowCast = shouldShowCast && this.mediaURL &&
|
||||
SimpleServiceDiscovery.services.length > 0 &&
|
||||
CastingApps.getServicesForVideo(this.target).length > 0;
|
||||
this.setItemAttr("context-castvideo", "disabled", !shouldShowCast);
|
||||
},
|
||||
|
||||
|
||||
@@ -987,6 +987,9 @@ BrowserGlue.prototype = {
|
||||
},
|
||||
|
||||
_initServiceDiscovery: function () {
|
||||
if (!Services.prefs.getBoolPref("browser.casting.enabled")) {
|
||||
return;
|
||||
}
|
||||
var rokuDevice = {
|
||||
id: "roku:ecp",
|
||||
target: "roku:ecp",
|
||||
|
||||
Reference in New Issue
Block a user