summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaming4JC <g4jc@bulletmail.org>2018-10-22 18:54:35 -0400
committerGaming4JC <g4jc@bulletmail.org>2018-10-22 18:54:35 -0400
commit80e50e1b3f42577f8526c0fa9b31877b6ae21285 (patch)
tree912afc0244765c389b86cfeff6cf6a57ce3e7ccb
parentc4cbed0a687d22dece072f02a3d3cfbde1e85a70 (diff)
downloadiceweasel-uxp-80e50e1b3f42577f8526c0fa9b31877b6ae21285.tar.gz
Remove DRM References
-rw-r--r--app/profile/iceweasel-uxp.js52
-rw-r--r--base/content/browser-media.js354
-rwxr-xr-xbase/content/global-scripts.inc1
-rw-r--r--base/content/nsContextMenu.js17
-rw-r--r--base/jar.mn1
-rw-r--r--locales/en-US/chrome/browser/browser.dtd1
-rw-r--r--locales/en-US/chrome/browser/browser.properties17
-rw-r--r--locales/en-US/chrome/browser/preferences/content.dtd6
-rw-r--r--themes/shared/drm-icon.svg38
-rw-r--r--themes/shared/incontentprefs/preferences.inc.css6
-rw-r--r--themes/shared/jar.inc.mn1
-rw-r--r--themes/shared/notification-icons.inc.css22
12 files changed, 1 insertions, 515 deletions
diff --git a/app/profile/iceweasel-uxp.js b/app/profile/iceweasel-uxp.js
index b255b2b..f671767 100644
--- a/app/profile/iceweasel-uxp.js
+++ b/app/profile/iceweasel-uxp.js
@@ -1173,58 +1173,6 @@ pref("identity.fxaccounts.migrateToDevEdition", false);
pref("ui.key.menuAccessKeyFocuses", true);
#endif
-#ifdef MOZ_EME
-// Encrypted media extensions.
-// EME is visible but disabled by default. This is so that the
-// "Play DRM content" checkbox in the browser UI is unchecked by default.
-// DRM requires downloading and installing proprietary binaries, which
-// users didn't necessarily opt-in to by installing the browser.
-// The first time a site using EME is encountered, the user will be
-// prompted to enable DRM, whereupon the EME plugin binaries will be
-// downloaded if permission is granted.
-pref("media.eme.enabled", false);
-pref("media.eme.apiVisible", true);
-#else
-// Disable redundant interfaces
-pref("media.eme.apiVisible", false);
-#endif
-
-// Decode using Gecko Media Plugins in <video>, if a system decoder is not
-// availble and the preferred GMP is available.
-pref("media.gmp.decoder.enabled", false);
-
-// If decoding-via-GMP is turned on for <video>, use Adobe's GMP for decoding,
-// if it's available. Note: We won't fallback to another GMP if Adobe's is not
-// installed.
-pref("media.gmp.decoder.aac", 2);
-pref("media.gmp.decoder.h264", 2);
-
-// Whether we should run a test-pattern through EME GMPs before assuming they'll
-// decode H.264.
-pref("media.gmp.trial-create.enabled", true);
-
-// Note: when media.gmp-*.visible is true, provided we're running on a
-// supported platform/OS version, the corresponding CDM appears in the
-// plugins list, Firefox will download the GMP/CDM if enabled, and our
-// UI to re-enable EME prompts the user to re-enable EME if it's disabled
-// and script requests EME. If *.visible is false, we won't show the UI
-// to enable the CDM if its disabled; it's as if the keysystem is completely
-// unsupported.
-
-#ifdef MOZ_ADOBE_EME
-pref("media.gmp-eme-adobe.visible", true);
-// When Adobe EME is enabled in the build system, we don't actually enable
-// the plugin by default, so that it doesn't download and install by default.
-// When Adobe EME is first used, Firefox will prompt the user to enable it,
-// and then download the CDM.
-pref("media.gmp-eme-adobe.enabled", false);
-#endif
-
-#ifdef MOZ_WIDEVINE_EME
-pref("media.gmp-widevinecdm.visible", true);
-pref("media.gmp-widevinecdm.enabled", true);
-#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)
diff --git a/base/content/browser-media.js b/base/content/browser-media.js
deleted file mode 100644
index bd5c5b2..0000000
--- a/base/content/browser-media.js
+++ /dev/null
@@ -1,354 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-var gEMEHandler = {
- get uiEnabled() {
-#ifdef MOZ_EME
- let emeUIEnabled = Services.prefs.getBoolPref("browser.eme.ui.enabled");
- // Force-disable on WinXP:
- if (navigator.platform.toLowerCase().startsWith("win")) {
- emeUIEnabled = emeUIEnabled && parseFloat(Services.sysinfo.get("version")) >= 6;
- }
- return emeUIEnabled;
-#else
- return false;
-#endif
- },
- ensureEMEEnabled: function(browser, keySystem) {
- Services.prefs.setBoolPref("media.eme.enabled", true);
- if (keySystem) {
- if (keySystem.startsWith("com.adobe") &&
- Services.prefs.getPrefType("media.gmp-eme-adobe.enabled") &&
- !Services.prefs.getBoolPref("media.gmp-eme-adobe.enabled")) {
- Services.prefs.setBoolPref("media.gmp-eme-adobe.enabled", true);
- } else if (keySystem == "com.widevine.alpha" &&
- Services.prefs.getPrefType("media.gmp-widevinecdm.enabled") &&
- !Services.prefs.getBoolPref("media.gmp-widevinecdm.enabled")) {
- Services.prefs.setBoolPref("media.gmp-widevinecdm.enabled", true);
- }
- }
- browser.reload();
- },
- isKeySystemVisible: function(keySystem) {
- if (!keySystem) {
- return false;
- }
- if (keySystem.startsWith("com.adobe") &&
- Services.prefs.getPrefType("media.gmp-eme-adobe.visible")) {
- return Services.prefs.getBoolPref("media.gmp-eme-adobe.visible");
- }
- if (keySystem == "com.widevine.alpha" &&
- Services.prefs.getPrefType("media.gmp-widevinecdm.visible")) {
- return Services.prefs.getBoolPref("media.gmp-widevinecdm.visible");
- }
- return true;
- },
- getEMEDisabledFragment: function(msgId) {
- let mainMessage = gNavigatorBundle.getString("emeNotifications.drmContentDisabled.message");
- let [prefix, suffix] = mainMessage.split(/%(?:\$\d)?S/).map(s => document.createTextNode(s));
- let text = gNavigatorBundle.getString("emeNotifications.drmContentDisabled.learnMoreLabel");
- let baseURL = Services.urlFormatter.formatURLPref("app.support.baseURL");
- let link = document.createElement("label");
- link.className = "text-link";
- link.setAttribute("href", baseURL + "drm-content");
- link.textContent = text;
-
- let fragment = document.createDocumentFragment();
- [prefix, link, suffix].forEach(n => fragment.appendChild(n));
- return fragment;
- },
- getMessageWithBrandName: function(notificationId) {
- let msgId = "emeNotifications." + notificationId + ".message";
- return gNavigatorBundle.getFormattedString(msgId, [this._brandShortName]);
- },
- receiveMessage: function({target: browser, data: data}) {
- let parsedData;
- try {
- parsedData = JSON.parse(data);
- } catch (ex) {
- Cu.reportError("Malformed EME video message with data: " + data);
- return;
- }
- let {status: status, keySystem: keySystem} = parsedData;
- // Don't need to show if disabled or keysystem not visible.
- if (!this.uiEnabled || !this.isKeySystemVisible(keySystem)) {
- return;
- }
-
- let notificationId;
- let buttonCallback;
- // Notification message can be either a string or a DOM fragment.
- let notificationMessage;
- switch (status) {
- case "available":
- case "cdm-created":
- // Only show the chain icon for proprietary CDMs. Clearkey is not one.
- if (keySystem != "org.w3.clearkey") {
- this.showPopupNotificationForSuccess(browser, keySystem);
- }
- // ... and bail!
- return;
-
- case "api-disabled":
- case "cdm-disabled":
- notificationId = "drmContentDisabled";
- buttonCallback = gEMEHandler.ensureEMEEnabled.bind(gEMEHandler, browser, keySystem)
- notificationMessage = this.getEMEDisabledFragment();
- break;
-
- case "cdm-insufficient-version":
- notificationId = "drmContentCDMInsufficientVersion";
- notificationMessage = this.getMessageWithBrandName(notificationId);
- break;
-
- case "cdm-not-installed":
- notificationId = "drmContentCDMInstalling";
- notificationMessage = this.getMessageWithBrandName(notificationId);
- break;
-
- case "cdm-not-supported":
- // Not to pop up user-level notification because they cannot do anything
- // about it.
- return;
- default:
- Cu.reportError(new Error("Unknown message ('" + status + "') dealing with EME key request: " + data));
- return;
- }
-
- // Now actually create the notification
-
- let box = gBrowser.getNotificationBox(browser);
- if (box.getNotificationWithValue(notificationId)) {
- return;
- }
-
- let buttons = [];
- if (buttonCallback) {
- let msgPrefix = "emeNotifications." + notificationId + ".";
- let btnLabelId = msgPrefix + "button.label";
- let btnAccessKeyId = msgPrefix + "button.accesskey";
- buttons.push({
- label: gNavigatorBundle.getString(btnLabelId),
- accessKey: gNavigatorBundle.getString(btnAccessKeyId),
- callback: buttonCallback
- });
- }
-
- let iconURL = "chrome://browser/skin/drm-icon.svg#chains-black";
-
- box.appendNotification(notificationMessage, notificationId, iconURL,
- box.PRIORITY_WARNING_MEDIUM, buttons);
- },
- showPopupNotificationForSuccess: function(browser, keySystem) {
- // We're playing EME content! Remove any "we can't play because..." messages.
- var box = gBrowser.getNotificationBox(browser);
- ["drmContentDisabled",
- "drmContentCDMInstalling"
- ].forEach(function (value) {
- var notification = box.getNotificationWithValue(value);
- if (notification)
- box.removeNotification(notification);
- });
-
- // Don't bother creating it if it's already there:
- if (PopupNotifications.getNotification("drmContentPlaying", browser)) {
- return;
- }
-
- let msgPrefix = "emeNotifications.drmContentPlaying.";
- let msgId = msgPrefix + "message2";
- let btnLabelId = msgPrefix + "button.label";
- let btnAccessKeyId = msgPrefix + "button.accesskey";
-
- let message = gNavigatorBundle.getFormattedString(msgId, [this._brandShortName]);
- let anchorId = "eme-notification-icon";
- let firstPlayPref = "browser.eme.ui.firstContentShown";
- if (!Services.prefs.getPrefType(firstPlayPref) ||
- !Services.prefs.getBoolPref(firstPlayPref)) {
- document.getElementById(anchorId).setAttribute("firstplay", "true");
- Services.prefs.setBoolPref(firstPlayPref, true);
- } else {
- document.getElementById(anchorId).removeAttribute("firstplay");
- }
-
- let mainAction = {
- label: gNavigatorBundle.getString(btnLabelId),
- accessKey: gNavigatorBundle.getString(btnAccessKeyId),
- callback: function() { openPreferences("paneContent"); },
- dismiss: true
- };
- let options = {
- dismissed: true,
- eventCallback: aTopic => aTopic == "swapping",
- learnMoreURL: Services.urlFormatter.formatURLPref("app.support.baseURL") + "drm-content",
- };
- PopupNotifications.show(browser, "drmContentPlaying", message, anchorId, mainAction, null, options);
- },
- QueryInterface: XPCOMUtils.generateQI([Ci.nsIMessageListener])
-};
-
-XPCOMUtils.defineLazyGetter(gEMEHandler, "_brandShortName", function() {
- return document.getElementById("bundle_brand").getString("brandShortName");
-});
-
-const TELEMETRY_DDSTAT_SHOWN = 0;
-const TELEMETRY_DDSTAT_SHOWN_FIRST = 1;
-const TELEMETRY_DDSTAT_CLICKED = 2;
-const TELEMETRY_DDSTAT_CLICKED_FIRST = 3;
-const TELEMETRY_DDSTAT_SOLVED = 4;
-
-let gDecoderDoctorHandler = {
- getLabelForNotificationBox(type) {
- if (type == "adobe-cdm-not-found" &&
- AppConstants.platform == "win") {
- return gNavigatorBundle.getString("decoder.noCodecs.message");
- }
- if (type == "adobe-cdm-not-activated" &&
- AppConstants.platform == "win") {
- return gNavigatorBundle.getString("decoder.noCodecs.message");
- }
- if (type == "platform-decoder-not-found") {
- if (AppConstants.platform == "win") {
- return gNavigatorBundle.getString("decoder.noHWAcceleration.message");
- }
- if (AppConstants.platform == "linux") {
- return gNavigatorBundle.getString("decoder.noCodecsLinux.message");
- }
- }
- if (type == "cannot-initialize-pulseaudio") {
- return gNavigatorBundle.getString("decoder.noPulseAudio.message");
- }
- if (type == "unsupported-libavcodec" &&
- AppConstants.platform == "linux") {
- return gNavigatorBundle.getString("decoder.unsupportedLibavcodec.message");
- }
- return "";
- },
-
- getSumoForLearnHowButton(type) {
- if (AppConstants.platform == "win") {
- return "fix-video-audio-problems-firefox-windows";
- }
- if (type == "cannot-initialize-pulseaudio") {
- return "fix-common-audio-and-video-issues";
- }
- return "";
- },
-
- receiveMessage({target: browser, data: data}) {
- let box = gBrowser.getNotificationBox(browser);
- let notificationId = "decoder-doctor-notification";
- if (box.getNotificationWithValue(notificationId)) {
- return;
- }
-
- let parsedData;
- try {
- parsedData = JSON.parse(data);
- } catch (ex) {
- Cu.reportError("Malformed Decoder Doctor message with data: " + data);
- return;
- }
- // parsedData (the result of parsing the incoming 'data' json string)
- // contains analysis information from Decoder Doctor:
- // - 'type' is the type of issue, it determines which text to show in the
- // infobar.
- // - 'decoderDoctorReportId' is the Decoder Doctor issue identifier, to be
- // used here as key for the telemetry (counting infobar displays,
- // "Learn how" buttons clicks, and resolutions) and for the prefs used
- // to store at-issue formats.
- // - 'formats' contains a comma-separated list of formats (or key systems)
- // that suffer the issue. These are kept in a pref, which the backend
- // uses to later find when an issue is resolved.
- // - 'isSolved' is true when the notification actually indicates the
- // resolution of that issue, to be reported as telemetry.
- let {type, isSolved, decoderDoctorReportId, formats} = parsedData;
- type = type.toLowerCase();
- // Error out early on invalid ReportId
- if (!(/^\w+$/mi).test(decoderDoctorReportId)) {
- return
- }
- let title = gDecoderDoctorHandler.getLabelForNotificationBox(type);
- if (!title) {
- return;
- }
-
- // We keep the list of formats in prefs for the sake of the decoder itself,
- // which reads it to determine when issues get solved for these formats.
- // (Writing prefs from e10s content is now allowed.)
- let formatsPref = "media.decoder-doctor." + decoderDoctorReportId + ".formats";
- let buttonClickedPref = "media.decoder-doctor." + decoderDoctorReportId + ".button-clicked";
- let histogram =
- Services.telemetry.getKeyedHistogramById("DECODER_DOCTOR_INFOBAR_STATS");
-
- let formatsInPref = Services.prefs.getPrefType(formatsPref) &&
- Services.prefs.getCharPref(formatsPref);
-
- if (!isSolved) {
- if (!formats) {
- Cu.reportError("Malformed Decoder Doctor unsolved message with no formats");
- return;
- }
- if (!formatsInPref) {
- Services.prefs.setCharPref(formatsPref, formats);
- histogram.add(decoderDoctorReportId, TELEMETRY_DDSTAT_SHOWN_FIRST);
- } else {
- // Split existing formats into an array of strings.
- let existing = formatsInPref.split(",").map(String.trim);
- // Keep given formats that were not already recorded.
- let newbies = formats.split(",").map(String.trim)
- .filter(x => !existing.includes(x));
- // And rewrite pref with the added new formats (if any).
- if (newbies.length) {
- Services.prefs.setCharPref(formatsPref,
- existing.concat(newbies).join(", "));
- }
- }
- histogram.add(decoderDoctorReportId, TELEMETRY_DDSTAT_SHOWN);
-
- let buttons = [];
- let sumo = gDecoderDoctorHandler.getSumoForLearnHowButton(type);
- if (sumo) {
- buttons.push({
- label: gNavigatorBundle.getString("decoder.noCodecs.button"),
- accessKey: gNavigatorBundle.getString("decoder.noCodecs.accesskey"),
- callback() {
- let clickedInPref = Services.prefs.getPrefType(buttonClickedPref) &&
- Services.prefs.getBoolPref(buttonClickedPref);
- if (!clickedInPref) {
- Services.prefs.setBoolPref(buttonClickedPref, true);
- histogram.add(decoderDoctorReportId, TELEMETRY_DDSTAT_CLICKED_FIRST);
- }
- histogram.add(decoderDoctorReportId, TELEMETRY_DDSTAT_CLICKED);
-
- let baseURL = Services.urlFormatter.formatURLPref("app.support.baseURL");
- openUILinkIn(baseURL + sumo, "tab");
- }
- });
- }
-
- box.appendNotification(
- title,
- notificationId,
- "", // This uses the info icon as specified below.
- box.PRIORITY_INFO_LOW,
- buttons
- );
- } else if (formatsInPref) {
- // Issue is solved, and prefs haven't been cleared yet, meaning it's the
- // first time we get this resolution -> Clear prefs and report telemetry.
- Services.prefs.clearUserPref(formatsPref);
- Services.prefs.clearUserPref(buttonClickedPref);
- histogram.add(decoderDoctorReportId, TELEMETRY_DDSTAT_SOLVED);
- }
- },
-}
-
-window.getGroupMessageManager("browsers").addMessageListener("DecoderDoctor:Notification", gDecoderDoctorHandler);
-window.getGroupMessageManager("browsers").addMessageListener("EMEVideo:ContentMediaKeysRequest", gEMEHandler);
-window.addEventListener("unload", function() {
- window.getGroupMessageManager("browsers").removeMessageListener("EMEVideo:ContentMediaKeysRequest", gEMEHandler);
- window.getGroupMessageManager("browsers").removeMessageListener("DecoderDoctor:Notification", gDecoderDoctorHandler);
-}, false);
diff --git a/base/content/global-scripts.inc b/base/content/global-scripts.inc
index f3d2300..ec45545 100755
--- a/base/content/global-scripts.inc
+++ b/base/content/global-scripts.inc
@@ -19,7 +19,6 @@
<script type="application/javascript" src="chrome://browser/content/browser-fullScreenAndPointerLock.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-fullZoom.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-gestureSupport.js"/>
-<script type="application/javascript" src="chrome://browser/content/browser-media.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-places.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-plugins.js"/>
<script type="application/javascript" src="chrome://browser/content/browser-refreshblocker.js"/>
diff --git a/base/content/nsContextMenu.js b/base/content/nsContextMenu.js
index f7d4a2d..4e684f3 100644
--- a/base/content/nsContextMenu.js
+++ b/base/content/nsContextMenu.js
@@ -423,7 +423,7 @@ nsContextMenu.prototype = {
this.setItemAttr("context-media-showcontrols", "disabled", hasError);
this.setItemAttr("context-media-hidecontrols", "disabled", hasError);
if (this.onVideo) {
- let canSaveSnapshot = !this.onDRMMedia && this.target.readyState >= this.target.HAVE_CURRENT_DATA;
+ let canSaveSnapshot = this.target.readyState >= this.target.HAVE_CURRENT_DATA;
this.setItemAttr("context-video-saveimage", "disabled", !canSaveSnapshot);
this.setItemAttr("context-video-fullscreen", "disabled", hasError);
}
@@ -545,7 +545,6 @@ nsContextMenu.prototype = {
this.onCanvas = false;
this.onVideo = false;
this.onAudio = false;
- this.onDRMMedia = false;
this.onTextInput = false;
this.onNumeric = false;
this.onKeywordField = false;
@@ -643,9 +642,6 @@ nsContextMenu.prototype = {
if (this.isMediaURLReusable(mediaURL)) {
this.mediaURL = mediaURL;
}
- if (this._isProprietaryDRM()) {
- this.onDRMMedia = true;
- }
// Firefox always creates a HTMLVideoElement when loading an ogg file
// directly. If the media is actually audio, be smarter and provide a
// context menu with audio operations.
@@ -1669,17 +1665,6 @@ nsContextMenu.prototype = {
clipboard.copyString(this.mediaURL);
},
- drmLearnMore: function(aEvent) {
- let drmInfoURL = Services.urlFormatter.formatURLPref("app.support.baseURL") + "drm-content";
- let dest = whereToOpenLink(aEvent);
- // Don't ever want this to open in the same tab as it'll unload the
- // DRM'd video, which is going to be a bad idea in most cases.
- if (dest == "current") {
- dest = "tab";
- }
- openUILinkIn(drmInfoURL, dest);
- },
-
get imageURL() {
if (this.onImage)
return this.mediaURL;
diff --git a/base/jar.mn b/base/jar.mn
index 4a6ba65..988d1ea 100644
--- a/base/jar.mn
+++ b/base/jar.mn
@@ -78,7 +78,6 @@ browser.jar:
content/browser/browser-fullZoom.js (content/browser-fullZoom.js)
content/browser/browser-fxaccounts.js (content/browser-fxaccounts.js)
content/browser/browser-gestureSupport.js (content/browser-gestureSupport.js)
-* content/browser/browser-media.js (content/browser-media.js)
content/browser/browser-places.js (content/browser-places.js)
content/browser/browser-plugins.js (content/browser-plugins.js)
content/browser/browser-refreshblocker.js (content/browser-refreshblocker.js)
diff --git a/locales/en-US/chrome/browser/browser.dtd b/locales/en-US/chrome/browser/browser.dtd
index 3475af3..fa3b7cf 100644
--- a/locales/en-US/chrome/browser/browser.dtd
+++ b/locales/en-US/chrome/browser/browser.dtd
@@ -206,7 +206,6 @@ These should match what Safari and other Apple applications use on OS X Lion. --
<!ENTITY urlbar.webRTCShareScreenNotificationAnchor.tooltip "Manage sharing your windows or screen with the site">
<!ENTITY urlbar.servicesNotificationAnchor.tooltip "Open install message panel">
-<!ENTITY urlbar.emeNotificationAnchor.tooltip "Manage use of DRM software">
<!ENTITY urlbar.cameraBlocked.tooltip "You have blocked your camera for this website.">
<!ENTITY urlbar.microphoneBlocked.tooltip "You have blocked your microphone for this website.">
diff --git a/locales/en-US/chrome/browser/browser.properties b/locales/en-US/chrome/browser/browser.properties
index 7c46200..e51fec0 100644
--- a/locales/en-US/chrome/browser/browser.properties
+++ b/locales/en-US/chrome/browser/browser.properties
@@ -568,23 +568,6 @@ getUserMedia.sharingMenuAudioCaptureBrowser = %S (tab audio and tab)
# origin for the sharing menu if no readable origin could be deduced from the URL.
getUserMedia.sharingMenuUnknownHost = Unknown origin
-# LOCALIZATION NOTE(emeNotifications.drmContentPlaying.message2): %S is brandShortName.
-emeNotifications.drmContentPlaying.message2 = Some audio or video on this site uses DRM software, which may limit what %S can let you do with it.
-emeNotifications.drmContentPlaying.button.label = Configure…
-emeNotifications.drmContentPlaying.button.accesskey = C
-
-# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S will be the 'learn more' link
-emeNotifications.drmContentDisabled.message = You must enable DRM to play some audio or video on this page. %S
-emeNotifications.drmContentDisabled.button.label = Enable DRM
-emeNotifications.drmContentDisabled.button.accesskey = E
-# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
-emeNotifications.drmContentDisabled.learnMoreLabel = Learn More
-
-# LOCALIZATION NOTE(emeNotifications.drmContentCDMInstalling.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S is brandShortName
-emeNotifications.drmContentCDMInstalling.message = %S is installing components needed to play the audio or video on this page. Please try again later.
-
-emeNotifications.unknownDRMSoftware = Unknown
-
# LOCALIZATION NOTE - %S is brandShortName
slowStartup.message = %S seems slow… to… start.
slowStartup.helpButton.label = Learn How to Speed It Up
diff --git a/locales/en-US/chrome/browser/preferences/content.dtd b/locales/en-US/chrome/browser/preferences/content.dtd
index d1d83b3..5717db1 100644
--- a/locales/en-US/chrome/browser/preferences/content.dtd
+++ b/locales/en-US/chrome/browser/preferences/content.dtd
@@ -37,9 +37,3 @@
<!ENTITY chooseLanguage.label "Choose your preferred language for displaying pages">
<!ENTITY chooseButton.label "Choose…">
<!ENTITY chooseButton.accesskey "o">
-
-<!ENTITY drmContent.label "DRM content">
-
-<!ENTITY playDRMContent.label "Play DRM content">
-<!ENTITY playDRMContent.accesskey "P">
-<!ENTITY playDRMContent.learnMore.label "Learn more">
diff --git a/themes/shared/drm-icon.svg b/themes/shared/drm-icon.svg
deleted file mode 100644
index db2b36d..0000000
--- a/themes/shared/drm-icon.svg
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16">
- <style>
- #chains {
- fill: url(#baseGradient);
- }
- #chains-pressed {
- fill: url(#pressedGradient);
- }
- #chains-black {
- fill: #000;
- }
- use:not(:target) {
- display: none;
- }
- </style>
- <defs>
- <linearGradient id="baseGradient" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="16" y2="0">
- <stop offset="0" style="stop-color: #808080"/>
- <stop offset="1" style="stop-color: #999"/>
- </linearGradient>
- <linearGradient id="pressedGradient" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="16" y2="0">
- <stop offset="0" style="stop-color: #4d4d4d"/>
- <stop offset="1" style="stop-color: #808080"/>
- </linearGradient>
- <g id="path">
- <path d="M7.058,9.72c-0.245,0.245-0.62,0.27-0.834,0.056C6.01,9.562,6.035,9.186,6.28,8.942l0.218-0.218 c-0.245-0.245-0.645-0.245-0.89,0L4.496,9.836c-0.245,0.245-0.245,0.645,0,0.89l0.779,0.779c0.245,0.245,0.645,0.245,0.89,0 l1.112-1.112c0.245-0.245,0.245-0.645,0-0.89L7.058,9.72z"/>
- <path d="M10.726,4.496c-0.245-0.245-0.645-0.245-0.89,0L8.723,5.608c-0.245,0.245-0.245,0.645,0,0.89 L8.95,6.272c0.245-0.245,0.62-0.27,0.834-0.056s0.189,0.59-0.056,0.834L9.502,7.277c0.245,0.245,0.645,0.245,0.89,0l1.112-1.112 c0.245-0.245,0.245-0.645,0-0.89L10.726,4.496z"/>
- <path d="M8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s8-3.582,8-8S12.418,0,8,0z M12.527,6.81l-1.489,1.489 c-0.631,0.631-1.663,0.631-2.293,0L8.612,8.167L8.167,8.612l0.133,0.133c0.631,0.631,0.631,1.663,0,2.293L6.81,12.527 c-0.631,0.631-1.663,0.631-2.293,0l-1.044-1.044c-0.631-0.631-0.631-1.663,0-2.293l1.489-1.489c0.631-0.631,1.663-0.631,2.293,0 l0.133,0.133l0.445-0.445L7.701,7.255c-0.631-0.631-0.631-1.663,0-2.293L9.19,3.473c0.631-0.631,1.663-0.631,2.293,0l1.044,1.044 C13.158,5.148,13.158,6.18,12.527,6.81z"/>
- </g>
- </defs>
- <use xlink:href="#path" id="chains"/>
- <use xlink:href="#path" id="chains-pressed"/>
- <use xlink:href="#path" id="chains-black"/>
-</svg>
diff --git a/themes/shared/incontentprefs/preferences.inc.css b/themes/shared/incontentprefs/preferences.inc.css
index 20ea983..5b598d7 100644
--- a/themes/shared/incontentprefs/preferences.inc.css
+++ b/themes/shared/incontentprefs/preferences.inc.css
@@ -179,12 +179,6 @@ treecol {
}
/* Content pane */
-#playDRMContentLink {
- /* Line up with the buttons in the other grid bits: */
- margin-left: 4px !important;
- margin-right: 4px !important;
-}
-
#notificationsPolicyLearnMore {
margin-inline-start: 1.5em !important;
}
diff --git a/themes/shared/jar.inc.mn b/themes/shared/jar.inc.mn
index eff741e..6c0d37e 100644
--- a/themes/shared/jar.inc.mn
+++ b/themes/shared/jar.inc.mn
@@ -51,7 +51,6 @@
skin/classic/browser/downloads/download-blocked.svg (../shared/downloads/download-blocked.svg)
skin/classic/browser/downloads/menubutton-dropmarker.svg (../shared/downloads/menubutton-dropmarker.svg)
skin/classic/browser/downloads/download-summary.svg (../shared/downloads/download-summary.svg)
- skin/classic/browser/drm-icon.svg (../shared/drm-icon.svg)
skin/classic/browser/filters.svg (../shared/filters.svg)
skin/classic/browser/fullscreen/insecure.svg (../shared/fullscreen/insecure.svg)
skin/classic/browser/fullscreen/secure.svg (../shared/fullscreen/secure.svg)
diff --git a/themes/shared/notification-icons.inc.css b/themes/shared/notification-icons.inc.css
index c648713..ad01edf 100644
--- a/themes/shared/notification-icons.inc.css
+++ b/themes/shared/notification-icons.inc.css
@@ -172,28 +172,6 @@ html|*#webRTC-previewVideo {
list-style-image: url("chrome://browser/skin/notification-icons.svg#popup");
}
-/* EME */
-
-.popup-notification-icon[popupid="drmContentPlaying"],
-.drm-icon {
- list-style-image: url("chrome://browser/skin/drm-icon.svg#chains");
-}
-
-.drm-icon:hover:active {
- list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed");
-}
-
-#eme-notification-icon[firstplay=true] {
- animation: emeTeachingMoment 0.2s linear 0s 5 normal;
-}
-
-@keyframes emeTeachingMoment {
- 0% {transform: translateX(0); }
- 25% {transform: translateX(3px) }
- 75% {transform: translateX(-3px) }
- 100% { transform: translateX(0); }
-}
-
/* INSTALL ADDONS */
.install-icon {