Index: chrome/browser/media/encrypted_media_browsertest.cc |
diff --git a/chrome/browser/media/encrypted_media_browsertest.cc b/chrome/browser/media/encrypted_media_browsertest.cc |
index 1998c93f9154aae7db0eea564dcda065c4409781..282f770d4e7ae06bedb008a0f7de5ef8227f798e 100644 |
--- a/chrome/browser/media/encrypted_media_browsertest.cc |
+++ b/chrome/browser/media/encrypted_media_browsertest.cc |
@@ -11,6 +11,7 @@ |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/common/chrome_switches.h" |
#include "content/public/test/browser_test_utils.h" |
+#include "media/cdm/key_system_names.h" |
xhwang
2013/11/22 07:44:26
We could use key system names defined in this file
ddorwin
2013/11/22 18:04:01
I hope to remove that file - at least for non-test
xhwang
2013/11/22 18:18:22
SG, removed.
|
#if defined(OS_ANDROID) |
#include "base/android/build_info.h" |
#endif |
@@ -33,8 +34,11 @@ const char kClearKeyCdmPluginMimeType[] = "application/x-ppapi-clearkey-cdm"; |
// Available key systems. |
const char kClearKeyKeySystem[] = "webkit-org.w3.clearkey"; |
-const char kExternalClearKeyKeySystem[] = |
- "org.chromium.externalclearkey"; |
+const char kExternalClearKeyKeySystem[] = "org.chromium.externalclearkey"; |
+const char kExternalClearKeyDecryptOnlyKeySystem[] = |
+ "org.chromium.externalclearkey.decryptonly"; |
+const char kExternalClearKeyInitializeFailKeySystem[] = |
+ "org.chromium.externalclearkey.initializefail"; |
// Supported media types. |
const char kWebMAudioOnly[] = "audio/webm; codecs=\"vorbis\""; |
@@ -71,13 +75,9 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
public: |
EncryptedMediaTestBase() : is_pepper_cdm_registered_(false) {} |
- bool IsExternalClearKey(const char* key_system) { |
- return (strcmp(key_system, kExternalClearKeyKeySystem) == 0); |
- } |
- |
#if defined(WIDEVINE_CDM_AVAILABLE) |
- bool IsWidevine(const char* key_system) { |
- return (strcmp(key_system, kWidevineKeySystem) == 0); |
+ bool IsWidevine(const std::string& key_system) { |
+ return key_system == kWidevineKeySystem; |
} |
#endif // defined(WIDEVINE_CDM_AVAILABLE) |
@@ -147,14 +147,12 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
void SetUpCommandLineForKeySystem(const char* key_system, |
CommandLine* command_line) { |
#if defined(ENABLE_PEPPER_CDMS) |
- if (IsExternalClearKey(key_system)) { |
- RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName, |
- kExternalClearKeyKeySystem); |
+ if (media::IsExternalClearKey(key_system)) { |
ddorwin
2013/11/22 18:04:01
Since I want to get rid of that file, I'm not sure
xhwang
2013/11/22 18:18:22
Done.
|
+ RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName, key_system); |
} |
#if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) |
else if (IsWidevine(key_system)) { |
- RegisterPepperCdm(command_line, kWidevineCdmAdapterFileName, |
- kWidevineKeySystem); |
+ RegisterPepperCdm(command_line, kWidevineCdmAdapterFileName, key_system); |
} |
#endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) |
#endif // defined(ENABLE_PEPPER_CDMS) |
@@ -187,10 +185,10 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
// Adapted from key_systems.cc. |
std::string GetPepperType(const std::string& key_system) { |
- if (key_system == kExternalClearKeyKeySystem) |
+ if (media::IsExternalClearKey(key_system)) |
return kClearKeyCdmPluginMimeType; |
#if defined(WIDEVINE_CDM_AVAILABLE) |
- if (key_system == kWidevineKeySystem) |
+ if (IsWidevine(key_system)) |
return kWidevineCdmPluginMimeType; |
#endif // WIDEVINE_CDM_AVAILABLE |
@@ -203,7 +201,8 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
}; |
#if defined(ENABLE_PEPPER_CDMS) |
-// Tests encrypted media playback using ExternalClearKey key system. |
+// Tests encrypted media playback using ExternalClearKey key system in |
+// decrypt-and-decode mode. |
class ECKEncryptedMediaTest : public EncryptedMediaTestBase { |
protected: |
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
@@ -300,6 +299,9 @@ INSTANTIATE_TEST_CASE_P(SRC_ExternalClearKey, EncryptedMediaTest, |
Combine(Values(kExternalClearKeyKeySystem), Values(SRC))); |
INSTANTIATE_TEST_CASE_P(MSE_ExternalClearKey, EncryptedMediaTest, |
Combine(Values(kExternalClearKeyKeySystem), Values(MSE))); |
+// To reduce test time, only run ExternalClearKeyDecryptOnly with MSE. |
+INSTANTIATE_TEST_CASE_P(MSE_ExternalClearKeyDecryptOnly, EncryptedMediaTest, |
+ Combine(Values(kExternalClearKeyDecryptOnlyKeySystem), Values(MSE))); |
#endif // defined(ENABLE_PEPPER_CDMS) |
#if defined(WIDEVINE_CDM_AVAILABLE) |
@@ -381,7 +383,7 @@ IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, |
RunEncryptedMediaTest("encrypted_media_player.html", |
"bear-a-enc_a.webm", |
kWebMAudioOnly, |
- "org.chromium.externalclearkey.initializefail", |
+ kExternalClearKeyInitializeFailKeySystem, |
SRC, |
kEmeKeyError); |
} |