summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNew Tobin Paradigm <email@mattatobin.com>2019-11-10 15:35:44 -0500
committerGitHub <noreply@github.com>2019-11-10 15:35:44 -0500
commitb00601953bade944cd6df9cde6fcdd1f10d76feb (patch)
tree71531773f24b5e2ed5f47d8958cfa7268a169bcf
parentccb7e2c646eebbd4742b072f6f02195659fb0d9d (diff)
parentc43b770a0399b5e03a6f6e4d2292e0408b186433 (diff)
downloadUXP-b00601953bade944cd6df9cde6fcdd1f10d76feb.tar
UXP-b00601953bade944cd6df9cde6fcdd1f10d76feb.tar.gz
UXP-b00601953bade944cd6df9cde6fcdd1f10d76feb.tar.lz
UXP-b00601953bade944cd6df9cde6fcdd1f10d76feb.tar.xz
UXP-b00601953bade944cd6df9cde6fcdd1f10d76feb.zip
Merge pull request #1277 from adeshkp/remove-adobe-primetime
Remove Adobe Primetime support
-rw-r--r--application/basilisk/app/profile/basilisk.js12
-rw-r--r--application/basilisk/base/content/browser-media.js18
-rw-r--r--dom/locales/en-US/chrome/plugins.properties1
-rw-r--r--dom/media/VideoUtils.cpp1
-rw-r--r--dom/media/VideoUtils.h1
-rw-r--r--dom/media/eme/EMEUtils.cpp11
-rw-r--r--dom/media/eme/EMEUtils.h4
-rw-r--r--dom/media/eme/MediaKeySystemAccess.cpp23
-rw-r--r--dom/media/eme/MediaKeySystemAccessManager.cpp5
-rw-r--r--dom/media/gmp/GMPParent.cpp10
-rw-r--r--dom/media/gmp/GMPServiceParent.cpp36
-rw-r--r--dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp2
-rw-r--r--dom/media/test/external/external_media_harness/testcase.py26
-rw-r--r--media/psshparser/PsshParser.cpp10
-rw-r--r--media/psshparser/gtest/TestPsshParser.cpp13
-rw-r--r--toolkit/content/gmp-sources/eme-adobe.json31
-rw-r--r--toolkit/content/jar.mn1
-rw-r--r--toolkit/mozapps/extensions/GMPUtils.jsm11
-rw-r--r--toolkit/mozapps/extensions/internal/GMPProvider.jsm11
-rw-r--r--toolkit/mozapps/extensions/internal/ProductAddonChecker.jsm3
-rw-r--r--tools/lint/eslint/modules.json2
21 files changed, 8 insertions, 224 deletions
diff --git a/application/basilisk/app/profile/basilisk.js b/application/basilisk/app/profile/basilisk.js
index a773bc60e..a3ecce64d 100644
--- a/application/basilisk/app/profile/basilisk.js
+++ b/application/basilisk/app/profile/basilisk.js
@@ -170,7 +170,7 @@ pref("lightweightThemes.update.enabled", true);
pref("lightweightThemes.getMoreURL", "http://@AM_DOMAIN@/personas/");
pref("lightweightThemes.recommendedThemes", "[{\"id\":\"recommended-1\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/a-web-browser-renaissance/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.header.jpg\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.footer.jpg\",\"textcolor\":\"#000000\",\"accentcolor\":\"#f2d9b1\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.preview.jpg\",\"author\":\"Sean.Martell\",\"version\":\"0\"},{\"id\":\"recommended-2\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/space-fantasy/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.header.jpg\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.footer.jpg\",\"textcolor\":\"#ffffff\",\"accentcolor\":\"#d9d9d9\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.preview.jpg\",\"author\":\"fx5800p\",\"version\":\"1.0\"},{\"id\":\"recommended-3\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/linen-light/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.header.png\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.footer.png\",\"accentcolor\":\"#ada8a8\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.icon.png\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/3.preview.png\",\"author\":\"DVemer\",\"version\":\"1.0\"},{\"id\":\"recommended-4\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/pastel-gradient/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.header.png\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.footer.png\",\"textcolor\":\"#000000\",\"accentcolor\":\"#000000\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.icon.png\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.preview.png\",\"author\":\"darrinhenein\",\"version\":\"1.0\"},{\"id\":\"recommended-5\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/carbon-light/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.header.png\",\"footerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.footer.png\",\"textcolor\":\"#3b3b3b\",\"accentcolor\":\"#2e2e2e\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/5.preview.jpg\",\"author\":\"Jaxivo\",\"version\":\"1.0\"}]");
-#if defined(MOZ_ADOBE_EME) || defined(MOZ_WIDEVINE_EME)
+#if defined(MOZ_WIDEVINE_EME)
pref("browser.eme.ui.enabled", true);
#else
pref("browser.eme.ui.enabled", false);
@@ -1189,16 +1189,6 @@ pref("media.gmp.trial-create.enabled", true);
// 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);
diff --git a/application/basilisk/base/content/browser-media.js b/application/basilisk/base/content/browser-media.js
index bd5c5b227..775fc4de5 100644
--- a/application/basilisk/base/content/browser-media.js
+++ b/application/basilisk/base/content/browser-media.js
@@ -19,11 +19,7 @@ var gEMEHandler = {
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" &&
+ 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);
@@ -35,10 +31,6 @@ var gEMEHandler = {
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");
@@ -201,14 +193,6 @@ 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");
diff --git a/dom/locales/en-US/chrome/plugins.properties b/dom/locales/en-US/chrome/plugins.properties
index fe03be59e..6fa829bf1 100644
--- a/dom/locales/en-US/chrome/plugins.properties
+++ b/dom/locales/en-US/chrome/plugins.properties
@@ -28,7 +28,6 @@ gmp_privacy_info=Privacy Information
openH264_name=OpenH264 Video Codec provided by Cisco Systems, Inc.
openH264_description2=This plugin is automatically installed by Mozilla to comply with the WebRTC specification and to enable WebRTC calls with devices that require the H.264 video codec. Visit http://www.openh264.org/ to view the codec source code and learn more about the implementation.
-eme-adobe_name=Primetime Content Decryption Module provided by Adobe Systems, Incorporated
eme-adobe_description=Play back protected web video.
widevine_description=Widevine Content Decryption Module provided by Google Inc.
diff --git a/dom/media/VideoUtils.cpp b/dom/media/VideoUtils.cpp
index c06ba9070..56033c2fa 100644
--- a/dom/media/VideoUtils.cpp
+++ b/dom/media/VideoUtils.cpp
@@ -31,7 +31,6 @@ namespace mozilla {
NS_NAMED_LITERAL_CSTRING(kEMEKeySystemClearkey, "org.w3.clearkey");
NS_NAMED_LITERAL_CSTRING(kEMEKeySystemWidevine, "com.widevine.alpha");
-NS_NAMED_LITERAL_CSTRING(kEMEKeySystemPrimetime, "com.adobe.primetime");
using layers::PlanarYCbCrImage;
diff --git a/dom/media/VideoUtils.h b/dom/media/VideoUtils.h
index aaf0e9903..eee6561fd 100644
--- a/dom/media/VideoUtils.h
+++ b/dom/media/VideoUtils.h
@@ -47,7 +47,6 @@ class MediaContentType;
// EME Key System String.
extern const nsLiteralCString kEMEKeySystemClearkey;
extern const nsLiteralCString kEMEKeySystemWidevine;
-extern const nsLiteralCString kEMEKeySystemPrimetime;
/**
* ReentrantMonitorConditionallyEnter
diff --git a/dom/media/eme/EMEUtils.cpp b/dom/media/eme/EMEUtils.cpp
index c248b3a24..11eb0026e 100644
--- a/dom/media/eme/EMEUtils.cpp
+++ b/dom/media/eme/EMEUtils.cpp
@@ -54,12 +54,6 @@ IsClearkeyKeySystem(const nsAString& aKeySystem)
}
bool
-IsPrimetimeKeySystem(const nsAString& aKeySystem)
-{
- return !CompareUTF8toUTF16(kEMEKeySystemPrimetime, aKeySystem);
-}
-
-bool
IsWidevineKeySystem(const nsAString& aKeySystem)
{
return !CompareUTF8toUTF16(kEMEKeySystemWidevine, aKeySystem);
@@ -68,9 +62,6 @@ IsWidevineKeySystem(const nsAString& aKeySystem)
nsString
KeySystemToGMPName(const nsAString& aKeySystem)
{
- if (IsPrimetimeKeySystem(aKeySystem)) {
- return NS_LITERAL_STRING("gmp-eme-adobe");
- }
if (IsClearkeyKeySystem(aKeySystem)) {
return NS_LITERAL_STRING("gmp-clearkey");
}
@@ -88,8 +79,6 @@ ToCDMTypeTelemetryEnum(const nsString& aKeySystem)
return CDMType::eWidevine;
} else if (IsClearkeyKeySystem(aKeySystem)) {
return CDMType::eClearKey;
- } else if (IsPrimetimeKeySystem(aKeySystem)) {
- return CDMType::ePrimetime;
}
return CDMType::eUnknown;
}
diff --git a/dom/media/eme/EMEUtils.h b/dom/media/eme/EMEUtils.h
index 1794f8462..4a2e5da18 100644
--- a/dom/media/eme/EMEUtils.h
+++ b/dom/media/eme/EMEUtils.h
@@ -87,14 +87,10 @@ bool
IsClearkeyKeySystem(const nsAString& aKeySystem);
bool
-IsPrimetimeKeySystem(const nsAString& aKeySystem);
-
-bool
IsWidevineKeySystem(const nsAString& aKeySystem);
enum CDMType {
eClearKey = 0,
- ePrimetime = 1,
eWidevine = 2,
eUnknown = 3
};
diff --git a/dom/media/eme/MediaKeySystemAccess.cpp b/dom/media/eme/MediaKeySystemAccess.cpp
index 4cff464e7..4a5a7a30c 100644
--- a/dom/media/eme/MediaKeySystemAccess.cpp
+++ b/dom/media/eme/MediaKeySystemAccess.cpp
@@ -134,16 +134,6 @@ MediaKeySystemAccess::GetKeySystemStatus(const nsAString& aKeySystem,
return EnsureCDMInstalled(aKeySystem, aOutMessage);
}
- if (Preferences::GetBool("media.gmp-eme-adobe.visible", false)) {
- if (IsPrimetimeKeySystem(aKeySystem)) {
- if (!Preferences::GetBool("media.gmp-eme-adobe.enabled", false)) {
- aOutMessage = NS_LITERAL_CSTRING("Adobe EME disabled");
- return MediaKeySystemStatus::Cdm_disabled;
- }
- return EnsureCDMInstalled(aKeySystem, aOutMessage);
- }
- }
-
if (IsWidevineKeySystem(aKeySystem)) {
if (Preferences::GetBool("media.gmp-widevinecdm.visible", false)) {
if (!Preferences::GetBool("media.gmp-widevinecdm.enabled", false)) {
@@ -376,19 +366,6 @@ GetSupportedKeySystems()
keySystemConfigs.AppendElement(Move(widevine));
}
}
- {
- if (HavePluginForKeySystem(kEMEKeySystemPrimetime)) {
- KeySystemConfig primetime;
- primetime.mKeySystem = NS_ConvertUTF8toUTF16(kEMEKeySystemPrimetime);
- primetime.mInitDataTypes.AppendElement(NS_LITERAL_STRING("cenc"));
- primetime.mPersistentState = KeySystemFeatureSupport::Required;
- primetime.mDistinctiveIdentifier = KeySystemFeatureSupport::Required;
- primetime.mSessionTypes.AppendElement(MediaKeySessionType::Temporary);
- primetime.mMP4.SetCanDecryptAndDecode(EME_CODEC_AAC);
- primetime.mMP4.SetCanDecryptAndDecode(EME_CODEC_H264);
- keySystemConfigs.AppendElement(Move(primetime));
- }
- }
return keySystemConfigs;
}
diff --git a/dom/media/eme/MediaKeySystemAccessManager.cpp b/dom/media/eme/MediaKeySystemAccessManager.cpp
index 8fefc62ec..ed31059e2 100644
--- a/dom/media/eme/MediaKeySystemAccessManager.cpp
+++ b/dom/media/eme/MediaKeySystemAccessManager.cpp
@@ -95,8 +95,7 @@ MediaKeySystemAccessManager::Request(DetailedPromise* aPromise,
// Ensure keysystem is supported.
if (!IsWidevineKeySystem(aKeySystem) &&
- !IsClearkeyKeySystem(aKeySystem) &&
- !IsPrimetimeKeySystem(aKeySystem)) {
+ !IsClearkeyKeySystem(aKeySystem)) {
// Not to inform user, because nothing to do if the keySystem is not
// supported.
aPromise->MaybeReject(NS_ERROR_DOM_NOT_SUPPORTED_ERR,
@@ -132,7 +131,7 @@ MediaKeySystemAccessManager::Request(DetailedPromise* aPromise,
LogToBrowserConsole(NS_ConvertUTF8toUTF16(msg));
if (status == MediaKeySystemStatus::Cdm_not_installed &&
- (IsPrimetimeKeySystem(aKeySystem) || IsWidevineKeySystem(aKeySystem))) {
+ IsWidevineKeySystem(aKeySystem)) {
// These are cases which could be resolved by downloading a new(er) CDM.
// When we send the status to chrome, chrome's GMPProvider will attempt to
// download or update the CDM. In AwaitInstall() we add listeners to wait
diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp
index 418f14736..234ed5c05 100644
--- a/dom/media/gmp/GMPParent.cpp
+++ b/dom/media/gmp/GMPParent.cpp
@@ -726,16 +726,6 @@ GMPParent::ReadGMPInfoFile(nsIFile* aFile)
if (cap.mAPIName.EqualsLiteral(GMP_API_DECRYPTOR)) {
mCanDecrypt = true;
-
-#ifdef XP_WIN
- // Adobe GMP doesn't work without SSE2. Check the tags to see if
- // the decryptor is for the Adobe GMP, and refuse to load it if
- // SSE2 isn't supported.
- if (cap.mAPITags.Contains(kEMEKeySystemPrimetime) &&
- !mozilla::supports_sse2()) {
- return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
- }
-#endif // XP_WIN
}
mCapabilities.AppendElement(Move(cap));
diff --git a/dom/media/gmp/GMPServiceParent.cpp b/dom/media/gmp/GMPServiceParent.cpp
index 2b4831cd6..fcf9fa920 100644
--- a/dom/media/gmp/GMPServiceParent.cpp
+++ b/dom/media/gmp/GMPServiceParent.cpp
@@ -203,29 +203,6 @@ MoveAndOverwrite(nsIFile* aOldParentDir,
}
}
-static void
-MigratePreGecko42StorageDir(nsIFile* aOldStorageDir,
- nsIFile* aNewStorageDir)
-{
- MoveAndOverwrite(aOldStorageDir, aNewStorageDir, NS_LITERAL_STRING("id"));
- MoveAndOverwrite(aOldStorageDir, aNewStorageDir, NS_LITERAL_STRING("storage"));
-}
-
-static void
-MigratePreGecko45StorageDir(nsIFile* aStorageDirBase)
-{
- nsCOMPtr<nsIFile> adobeStorageDir(CloneAndAppend(aStorageDirBase, NS_LITERAL_STRING("gmp-eme-adobe")));
- if (NS_WARN_IF(!adobeStorageDir)) {
- return;
- }
-
- // The base storage dir in pre-45 contained "id" and "storage" subdirs.
- // We assume all storage in the base storage dir that aren't known to GMP
- // storage are records for the Adobe GMP.
- MoveAndOverwrite(aStorageDirBase, adobeStorageDir, NS_LITERAL_STRING("id"));
- MoveAndOverwrite(aStorageDirBase, adobeStorageDir, NS_LITERAL_STRING("storage"));
-}
-
static nsresult
GMPPlatformString(nsAString& aOutPlatform)
{
@@ -308,19 +285,6 @@ GeckoMediaPluginServiceParent::InitStorage()
return rv;
}
- // Prior to 42, GMP storage was stored in $profileDir/gmp/. After 42, it's
- // stored in $profileDir/gmp/$platform/. So we must migrate any old records
- // from the old location to the new location, for forwards compatibility.
- MigratePreGecko42StorageDir(gmpDirWithoutPlatform, mStorageBaseDir);
-
- // Prior to 45, GMP storage was not separated by plugin. In 45 and after,
- // it's stored in $profile/gmp/$platform/$gmpName. So we must migrate old
- // records from the old location to the new location, for forwards
- // compatibility. We assume all directories in the base storage dir that
- // aren't known to GMP storage are records for the Adobe GMP, since it
- // was first.
- MigratePreGecko45StorageDir(mStorageBaseDir);
-
return GeckoMediaPluginService::Init();
}
diff --git a/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp b/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
index cc53d2c93..50a5097ac 100644
--- a/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
+++ b/dom/media/platforms/agnostic/gmp/GMPDecoderModule.cpp
@@ -109,7 +109,6 @@ GMPDecoderModule::PreferredGMP(const nsACString& aMimeType)
if (aMimeType.EqualsLiteral("audio/mp4a-latm")) {
switch (MediaPrefs::GMPAACPreferred()) {
case 1: rv.emplace(kEMEKeySystemClearkey); break;
- case 2: rv.emplace(kEMEKeySystemPrimetime); break;
default: break;
}
}
@@ -117,7 +116,6 @@ GMPDecoderModule::PreferredGMP(const nsACString& aMimeType)
if (MP4Decoder::IsH264(aMimeType)) {
switch (MediaPrefs::GMPH264Preferred()) {
case 1: rv.emplace(kEMEKeySystemClearkey); break;
- case 2: rv.emplace(kEMEKeySystemPrimetime); break;
default: break;
}
}
diff --git a/dom/media/test/external/external_media_harness/testcase.py b/dom/media/test/external/external_media_harness/testcase.py
index 56350ccd9..35a944484 100644
--- a/dom/media/test/external/external_media_harness/testcase.py
+++ b/dom/media/test/external/external_media_harness/testcase.py
@@ -200,19 +200,6 @@ class NetworkBandwidthTestsMixin(object):
self.run_videos(timeout=120)
-reset_adobe_gmp_script = """
-navigator.requestMediaKeySystemAccess('com.adobe.primetime',
-[{initDataTypes: ['cenc']}]).then(
- function(access) {
- marionetteScriptFinished('success');
- },
- function(ex) {
- marionetteScriptFinished(ex);
- }
-);
-"""
-
-
reset_widevine_gmp_script = """
navigator.requestMediaKeySystemAccess('com.widevine.alpha',
[{initDataTypes: ['cenc']}]).then(
@@ -256,21 +243,12 @@ class EMESetupMixin(object):
def reset_GMP_version(self):
if EMESetupMixin.version_needs_reset:
with self.marionette.using_context(Marionette.CONTEXT_CHROME):
- if self.marionette.get_pref('media.gmp-eme-adobe.version'):
- self.marionette.reset_pref('media.gmp-eme-adobe.version')
if self.marionette.get_pref('media.gmp-widevinecdm.version'):
self.marionette.reset_pref('media.gmp-widevinecdm.version')
with self.marionette.using_context(Marionette.CONTEXT_CONTENT):
- adobe_result = self.marionette.execute_async_script(
- reset_adobe_gmp_script,
- script_timeout=60000)
widevine_result = self.marionette.execute_async_script(
reset_widevine_gmp_script,
script_timeout=60000)
- if not adobe_result == 'success':
- raise VideoException(
- 'ERROR: Resetting Adobe GMP failed {}'
- .format(adobe_result))
if not widevine_result == 'success':
raise VideoException(
'ERROR: Resetting Widevine GMP failed {}'
@@ -352,10 +330,6 @@ class EMESetupMixin(object):
self.check_and_log_boolean_pref(
'media.mediasource.mp4.enabled', True),
self.check_and_log_boolean_pref(
- 'media.gmp-eme-adobe.enabled', True),
- self.check_and_log_integer_pref(
- 'media.gmp-eme-adobe.version', 1),
- self.check_and_log_boolean_pref(
'media.gmp-widevinecdm.enabled', True),
self.chceck_and_log_version_string_pref(
'media.gmp-widevinecdm.version', '1.0.0.0')
diff --git a/media/psshparser/PsshParser.cpp b/media/psshparser/PsshParser.cpp
index e5d0acd26..3f76a9b4a 100644
--- a/media/psshparser/PsshParser.cpp
+++ b/media/psshparser/PsshParser.cpp
@@ -108,11 +108,6 @@ const uint8_t kSystemID[] = {
0xac, 0xe3, 0x3c, 0x1e, 0x52, 0xe2, 0xfb, 0x4b
};
-const uint8_t kPrimetimeID[] = {
- 0xf2, 0x39, 0xe7, 0x69, 0xef, 0xa3, 0x48, 0x50,
- 0x9c, 0x16, 0xa9, 0x03, 0xc6, 0x93, 0x2e, 0xfb
-};
-
bool
ParseCENCInitData(const uint8_t* aInitData,
uint32_t aInitDataSize,
@@ -163,11 +158,6 @@ ParseCENCInitData(const uint8_t* aInitData,
// Insufficient bytes to read SystemID.
return false;
}
- if (!memcmp(kPrimetimeID, sid, sizeof(kSystemID))) {
- // Allow legacy Primetime key system PSSH boxes, which
- // don't conform to common encryption format.
- return true;
- }
if (memcmp(kSystemID, sid, sizeof(kSystemID))) {
// Ignore pssh boxes with wrong system ID.
diff --git a/media/psshparser/gtest/TestPsshParser.cpp b/media/psshparser/gtest/TestPsshParser.cpp
index 972cc3e7d..5372c7598 100644
--- a/media/psshparser/gtest/TestPsshParser.cpp
+++ b/media/psshparser/gtest/TestPsshParser.cpp
@@ -113,15 +113,6 @@ const uint8_t g2xGoogleWPTCencInitData[] = {
0x00, 0x00, 0x00, 0x00 // datasize
};
-const uint8_t gPrimetimePSSH[] = {
- 0x00, 0x00, 0x00, 0x00, // size = 0
- 0x70, 0x73, 0x73, 0x68, // 'pssh'
- 0x01, // version = 1
- 0x00, 0x00, 0x00, // flags
- 0xf2, 0x39, 0xe7, 0x69, 0xef, 0xa3, 0x48, 0x50, // Primetime system Id
- 0x9c, 0x16, 0xa9, 0x03, 0xc6, 0x93, 0x2e, 0xfb
-};
-
TEST(PsshParser, ParseCencInitData) {
std::vector<std::vector<uint8_t>> keyIds;
bool rv;
@@ -162,8 +153,4 @@ TEST(PsshParser, ParseCencInitData) {
EXPECT_EQ(16u, keyIds[1].size());
EXPECT_EQ(0, memcmp(&keyIds[0].front(), &g2xGoogleWPTCencInitData[32], 16));
EXPECT_EQ(0, memcmp(&keyIds[1].front(), &g2xGoogleWPTCencInitData[84], 16));
-
- rv = ParseCENCInitData(gPrimetimePSSH, MOZ_ARRAY_LENGTH(gPrimetimePSSH), keyIds);
- EXPECT_TRUE(rv);
- EXPECT_EQ(0u, keyIds.size());
}
diff --git a/toolkit/content/gmp-sources/eme-adobe.json b/toolkit/content/gmp-sources/eme-adobe.json
deleted file mode 100644
index 3bd808be8..000000000
--- a/toolkit/content/gmp-sources/eme-adobe.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "vendors": {
- "gmp-eme-adobe": {
- "platforms": {
- "WINNT_x86-msvc-x64": {
- "alias": "WINNT_x86-msvc"
- },
- "WINNT_x86-msvc": {
- "fileUrl": "https://cdmdownload.adobe.com/firefox/win/x86/primetime_gmp_win_x86_gmc_40673.zip",
- "hashValue": "8aad35fc13814b0f1daacddb0d599eedd685287d5afddc97c2f740c8aea270636ccd75b1d1a57364b84e8eb1b23c9f1c126c057d95f3d8217b331dc4b1d5340f",
- "filesize": 3694349
- },
- "WINNT_x86_64-msvc-x64": {
- "alias": "WINNT_x86_64-msvc"
- },
- "WINNT_x86-msvc-x86": {
- "alias": "WINNT_x86-msvc"
- },
- "WINNT_x86_64-msvc": {
- "fileUrl": "https://cdmdownload.adobe.com/firefox/win/x64/primetime_gmp_win_x64_gmc_40673.zip",
- "hashValue": "bd1e1a370c5f9dadc247c9f00dd203fab1a75ff3afed8439a0a0bfcc7e1767d0da68497140cbe48daa70e2535dde5f220dd7b344619cecd830a6b685efb9d5a0",
- "filesize": 4853103
- }
- },
- "version": "17"
- }
- },
- "hashFunction": "sha512",
- "name": "CDM-17",
- "schema_version": 1000
-}
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
index 5bf6440be..5a940679b 100644
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -127,6 +127,5 @@ toolkit.jar:
content/global/macWindowMenu.js
#endif
content/global/svg/svgBindings.xml (/layout/svg/resources/content/svgBindings.xml)
- content/global/gmp-sources/eme-adobe.json (gmp-sources/eme-adobe.json)
content/global/gmp-sources/openh264.json (gmp-sources/openh264.json)
content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json)
diff --git a/toolkit/mozapps/extensions/GMPUtils.jsm b/toolkit/mozapps/extensions/GMPUtils.jsm
index a199b4d86..814ae4914 100644
--- a/toolkit/mozapps/extensions/GMPUtils.jsm
+++ b/toolkit/mozapps/extensions/GMPUtils.jsm
@@ -7,8 +7,7 @@
const {classes: Cc, interfaces: Ci, results: Cr, utils: Cu, manager: Cm} =
Components;
-this.EXPORTED_SYMBOLS = [ "EME_ADOBE_ID",
- "GMP_PLUGIN_IDS",
+this.EXPORTED_SYMBOLS = [ "GMP_PLUGIN_IDS",
"GMPPrefs",
"GMPUtils",
"OPEN_H264_ID",
@@ -20,9 +19,8 @@ Cu.import("resource://gre/modules/AppConstants.jsm");
// GMP IDs
const OPEN_H264_ID = "gmp-gmpopenh264";
-const EME_ADOBE_ID = "gmp-eme-adobe";
const WIDEVINE_ID = "gmp-widevinecdm";
-const GMP_PLUGIN_IDS = [ OPEN_H264_ID, EME_ADOBE_ID, WIDEVINE_ID ];
+const GMP_PLUGIN_IDS = [ OPEN_H264_ID, WIDEVINE_ID ];
var GMPPluginUnsupportedReason = {
NOT_WINDOWS: 1,
@@ -72,10 +70,7 @@ this.GMPUtils = {
if (this._isPluginForceSupported(aPlugin)) {
return true;
}
- if (aPlugin.id == EME_ADOBE_ID) {
- // Windows Vista and later only supported by Adobe EME.
- return AppConstants.isPlatformAndVersionAtLeast("win", "6");
- } else if (aPlugin.id == WIDEVINE_ID) {
+ if (aPlugin.id == WIDEVINE_ID) {
// The Widevine plugin is available for Windows versions Vista and later,
// Mac OSX, and Linux.
return AppConstants.isPlatformAndVersionAtLeast("win", "6") ||
diff --git a/toolkit/mozapps/extensions/internal/GMPProvider.jsm b/toolkit/mozapps/extensions/internal/GMPProvider.jsm
index 131db7249..39d8f2d98 100644
--- a/toolkit/mozapps/extensions/internal/GMPProvider.jsm
+++ b/toolkit/mozapps/extensions/internal/GMPProvider.jsm
@@ -49,17 +49,6 @@ const GMP_PLUGINS = [
homepageURL: "http://www.openh264.org/",
optionsURL: "chrome://mozapps/content/extensions/gmpPrefs.xul"
},
-/*
- {
- id: EME_ADOBE_ID,
- name: "eme-adobe_name",
- description: "eme-adobe_description",
- licenseURL: "http://help.adobe.com/en_US/primetime/drm/HTML5_CDM_EULA/index.html",
- homepageURL: "http://help.adobe.com/en_US/primetime/drm/HTML5_CDM",
- optionsURL: "chrome://mozapps/content/extensions/gmpPrefs.xul",
- isEME: true
- },
-*/
{
id: WIDEVINE_ID,
name: "widevine_description",
diff --git a/toolkit/mozapps/extensions/internal/ProductAddonChecker.jsm b/toolkit/mozapps/extensions/internal/ProductAddonChecker.jsm
index f98dd2a94..c6324da0a 100644
--- a/toolkit/mozapps/extensions/internal/ProductAddonChecker.jsm
+++ b/toolkit/mozapps/extensions/internal/ProductAddonChecker.jsm
@@ -7,9 +7,6 @@
const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
const LOCAL_EME_SOURCES = [{
- "id": "gmp-eme-adobe",
- "src": "chrome://global/content/gmp-sources/eme-adobe.json"
-}, {
"id": "gmp-gmpopenh264",
"src": "chrome://global/content/gmp-sources/openh264.json"
}, {
diff --git a/tools/lint/eslint/modules.json b/tools/lint/eslint/modules.json
index 1ff546978..d170f81be 100644
--- a/tools/lint/eslint/modules.json
+++ b/tools/lint/eslint/modules.json
@@ -88,7 +88,7 @@
"Gestures.jsm": ["GestureSettings", "GestureTracker"],
"GMPInstallManager.jsm": ["GMPInstallManager", "GMPExtractor", "GMPDownloader", "GMPAddon"],
"GMPProvider.jsm": [],
- "GMPUtils.jsm": ["EME_ADOBE_ID", "GMP_PLUGIN_IDS", "GMPPrefs", "GMPUtils", "OPEN_H264_ID", "WIDEVINE_ID"],
+ "GMPUtils.jsm": ["GMP_PLUGIN_IDS", "GMPPrefs", "GMPUtils", "OPEN_H264_ID", "WIDEVINE_ID"],
"hawkclient.js": ["HawkClient"],
"hawkrequest.js": ["HAWKAuthenticatedRESTRequest", "deriveHawkCredentials"],
"HelperApps.jsm": ["App", "HelperApps"],