diff options
author | Gaming4JC <g4jc@bulletmail.org> | 2018-10-22 18:54:35 -0400 |
---|---|---|
committer | Gaming4JC <g4jc@bulletmail.org> | 2018-10-22 18:54:35 -0400 |
commit | 80e50e1b3f42577f8526c0fa9b31877b6ae21285 (patch) | |
tree | 912afc0244765c389b86cfeff6cf6a57ce3e7ccb | |
parent | c4cbed0a687d22dece072f02a3d3cfbde1e85a70 (diff) | |
download | iceweasel-uxp-80e50e1b3f42577f8526c0fa9b31877b6ae21285.tar.gz |
Remove DRM References
-rw-r--r-- | app/profile/iceweasel-uxp.js | 52 | ||||
-rw-r--r-- | base/content/browser-media.js | 354 | ||||
-rwxr-xr-x | base/content/global-scripts.inc | 1 | ||||
-rw-r--r-- | base/content/nsContextMenu.js | 17 | ||||
-rw-r--r-- | base/jar.mn | 1 | ||||
-rw-r--r-- | locales/en-US/chrome/browser/browser.dtd | 1 | ||||
-rw-r--r-- | locales/en-US/chrome/browser/browser.properties | 17 | ||||
-rw-r--r-- | locales/en-US/chrome/browser/preferences/content.dtd | 6 | ||||
-rw-r--r-- | themes/shared/drm-icon.svg | 38 | ||||
-rw-r--r-- | themes/shared/incontentprefs/preferences.inc.css | 6 | ||||
-rw-r--r-- | themes/shared/jar.inc.mn | 1 | ||||
-rw-r--r-- | themes/shared/notification-icons.inc.css | 22 |
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 { |