Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1778)

Unified Diff: chrome/browser/media/encrypted_media_browsertest.cc

Issue 79903002: Add decrypt-only external clear key browser tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)
« no previous file with comments | « no previous file | chrome/renderer/media/chrome_key_systems.cc » ('j') | chrome/renderer/media/chrome_key_systems.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698