Chromium Code Reviews| 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); |
| } |