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..0d169d00a6001357c9ecf49056c20a723f1ea551 100644 |
| --- a/chrome/browser/media/encrypted_media_browsertest.cc |
| +++ b/chrome/browser/media/encrypted_media_browsertest.cc |
| @@ -33,8 +33,9 @@ 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 kDecryptOnlyExternalClearKeyKeySystem[] = |
|
ddorwin
2013/11/21 04:10:58
Start with a common prefix?
kExternalClearKeyKeySy
xhwang
2013/11/22 01:47:36
Done.
|
| + "org.chromium.externalclearkey.decryptonly"; |
| // Supported media types. |
| const char kWebMAudioOnly[] = "audio/webm; codecs=\"vorbis\""; |
| @@ -71,13 +72,14 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
| public: |
| EncryptedMediaTestBase() : is_pepper_cdm_registered_(false) {} |
| - bool IsExternalClearKey(const char* key_system) { |
| - return (strcmp(key_system, kExternalClearKeyKeySystem) == 0); |
| + bool IsExternalClearKey(const std::string& key_system) { |
| + return key_system == kExternalClearKeyKeySystem || |
| + key_system == kDecryptOnlyExternalClearKeyKeySystem; |
|
ddorwin
2013/11/21 04:10:58
Just check if the first length of kExternalClearKe
xhwang
2013/11/22 01:47:36
Done.
This is not super accurate. The correct way
ddorwin
2013/11/22 04:28:59
Yeah, I know. Agreed.
You could add:
&& (key_syste
xhwang
2013/11/22 07:44:26
Done.
|
| } |
| #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) |
| @@ -149,7 +151,7 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
| #if defined(ENABLE_PEPPER_CDMS) |
| if (IsExternalClearKey(key_system)) { |
| RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName, |
| - kExternalClearKeyKeySystem); |
| + key_system); |
|
ddorwin
2013/11/21 04:10:58
fits?
xhwang
2013/11/22 01:47:36
Done.
|
| } |
| #if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) |
| else if (IsWidevine(key_system)) { |
| @@ -187,10 +189,10 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
| // Adapted from key_systems.cc. |
| std::string GetPepperType(const std::string& key_system) { |
| - if (key_system == kExternalClearKeyKeySystem) |
| + if (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 +205,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 +303,10 @@ INSTANTIATE_TEST_CASE_P(SRC_ExternalClearKey, EncryptedMediaTest, |
| Combine(Values(kExternalClearKeyKeySystem), Values(SRC))); |
| INSTANTIATE_TEST_CASE_P(MSE_ExternalClearKey, EncryptedMediaTest, |
| Combine(Values(kExternalClearKeyKeySystem), Values(MSE))); |
| +INSTANTIATE_TEST_CASE_P(SRC_DecryptOnlyExternalClearKey, EncryptedMediaTest, |
|
ddorwin
2013/11/21 04:10:58
This is going to add a lot of test time (in additi
xhwang
2013/11/22 01:47:36
The decrypt only path is orthogonal to SRC/MSE. Dr
|
| + Combine(Values(kDecryptOnlyExternalClearKeyKeySystem), Values(SRC))); |
| +INSTANTIATE_TEST_CASE_P(MSE_DecryptOnlyExternalClearKey, EncryptedMediaTest, |
| + Combine(Values(kDecryptOnlyExternalClearKeyKeySystem), Values(MSE))); |
| #endif // defined(ENABLE_PEPPER_CDMS) |
| #if defined(WIDEVINE_CDM_AVAILABLE) |