Remove Adobe Primetime Support.

This commit is contained in:
Fedor 2019-12-25 15:45:47 +03:00
parent bcf5aeb47d
commit 45cfa8084f
21 changed files with 12 additions and 236 deletions

View File

@ -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);
@ -1188,16 +1188,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);

View File

@ -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");

View File

@ -28,7 +28,5 @@ 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.
widevine_name=Widevine Content Decryption Module provided by Google Inc.
widevine_description2=Play back protected web video.

View File

@ -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;

View File

@ -47,7 +47,6 @@ class MediaContentType;
// EME Key System String.
extern const nsLiteralCString kEMEKeySystemClearkey;
extern const nsLiteralCString kEMEKeySystemWidevine;
extern const nsLiteralCString kEMEKeySystemPrimetime;
/**
* ReentrantMonitorConditionallyEnter

View File

@ -53,12 +53,6 @@ IsClearkeyKeySystem(const nsAString& aKeySystem)
return !CompareUTF8toUTF16(kEMEKeySystemClearkey, aKeySystem);
}
bool
IsPrimetimeKeySystem(const nsAString& aKeySystem)
{
return !CompareUTF8toUTF16(kEMEKeySystemPrimetime, aKeySystem);
}
bool
IsWidevineKeySystem(const nsAString& 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;
}

View File

@ -86,15 +86,11 @@ KeySystemToGMPName(const nsAString& aKeySystem);
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
};

View File

@ -134,23 +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;
}
#ifdef XP_WIN
// Win Vista and later only.
// if (!IsVistaOrLater()) {
// aOutMessage = NS_LITERAL_CSTRING("Minimum Windows version (Vista) not met for Adobe EME");
// return MediaKeySystemStatus::Cdm_not_supported;
// }
#endif
return EnsureCDMInstalled(aKeySystem, aOutMessage);
}
}
if (IsWidevineKeySystem(aKeySystem)) {
if (Preferences::GetBool("media.gmp-widevinecdm.visible", false)) {
#ifdef XP_WIN
@ -390,19 +373,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;
}

View File

@ -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

View File

@ -727,16 +727,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));

View File

@ -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();
}

View File

@ -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;
}
}

View File

@ -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 {}'
@ -351,10 +329,6 @@ class EMESetupMixin(object):
'media.eme.enabled', True),
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(

View File

@ -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.

View File

@ -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());
}

View File

@ -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
}

View File

@ -132,7 +132,6 @@ toolkit.jar:
#endif
content/global/svg/svgBindings.xml (/layout/svg/resources/content/svgBindings.xml)
#ifdef THE_GMP
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)
#endif

View File

@ -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") ||

View File

@ -49,22 +49,11 @@ 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",
name: "widevine_name",
// Describe the purpose of both CDMs in the same way.
description: "eme-adobe_description",
description: "widevine_description2",
licenseURL: "https://www.google.com/policies/privacy/",
homepageURL: "https://www.widevine.com/",
optionsURL: "chrome://mozapps/content/extensions/gmpPrefs.xul",

View File

@ -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"
}, {

View File

@ -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"],