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