Bug 1289634 - Disable Widevine CDM by default on Linux, but prompt user to enable and download on first use. r?gerald draft
authorChris Pearce <cpearce@mozilla.com>
Fri, 05 Aug 2016 14:35:36 +1200 (2016-08-05)
changeset 397028 483fa8a7d332af10c3cc28cfcf4546633ec2b076
parent 397027 9896c6f8cb78975565ff0741a1de809c9a49668f
child 527357 bb75398533216dd5eeae712f6d612d4a10da2ee4
push id25183
push userbmo:cpearce@mozilla.com
push dateFri, 05 Aug 2016 02:52:22 +0000 (2016-08-05)
reviewersgerald
bugs1289634
milestone50.0a1
Bug 1289634 - Disable Widevine CDM by default on Linux, but prompt user to enable and download on first use. r?gerald We don't want the Widevine CDM to be downloaded by default on Linux, as the CDM is proprietary software and the user hasn't opted in to having such software on their system. By leaving the CDM visible but disabled, we'll prompt the user the first time EME is used, and they can approve the download. This means the Widevine CDM won't be downloaded by default. The user will need to opt-in to enablding DRM playback before we'll download proprietary CDMs. MozReview-Commit-ID: GLBoK2Czjcc
browser/app/profile/firefox.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1339,18 +1339,27 @@ pref("media.gmp.trial-create.enabled", t
 
 #ifdef MOZ_ADOBE_EME
 pref("media.gmp-eme-adobe.visible", true);
 pref("media.gmp-eme-adobe.enabled", true);
 #endif
 
 #ifdef MOZ_WIDEVINE_EME
 pref("media.gmp-widevinecdm.visible", true);
+// On Linux Widevine is visible but disabled by default. This is because
+// enabling Widevine downloads a proprietary binary, which users on an open
+// source operating system didn't opt into. The first time a site using EME
+// is encountered, the user will be prompted to enable EME, whereupon the
+// EME plugin binary will be downloaded if permission is granted.
+#ifdef XP_LINUX
+pref("media.gmp-widevinecdm.enabled", false);
+#else
 pref("media.gmp-widevinecdm.enabled", true);
 #endif
+#endif
 
 // Play with different values of the decay time and get telemetry,
 // 0 means to randomize (and persist) the experiment value in users' profiles,
 // -1 means no experiment is run and we use the preferred value for frecency (6h)
 pref("browser.cache.frecency_experiment", 0);
 
 pref("browser.translation.detectLanguage", false);
 pref("browser.translation.neverForLanguages", "");