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 68352c0afa5f78fe57539dbe402dfeec4943a5ea..9041f34544952d7b783e0b5823f5ea66d5695ffd 100644 |
--- a/chrome/browser/media/encrypted_media_browsertest.cc |
+++ b/chrome/browser/media/encrypted_media_browsertest.cc |
@@ -281,21 +281,10 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
} |
#endif // BUILDFLAG(ENABLE_PEPPER_CDMS) |
- void SetUpCommandLineForKeySystem(const std::string& key_system, |
- CdmHostType cdm_host_type, |
- base::CommandLine* command_line) { |
- if (GetServerConfig(key_system)) |
- // Since the web and license servers listen on different ports, we need to |
- // disable web-security to send license requests to the license server. |
- // TODO(shadi): Add port forwarding to the test web server configuration. |
- command_line->AppendSwitch(switches::kDisableWebSecurity); |
- |
+ void SetUpForKeySystem(const std::string& key_system, |
+ CdmHostType cdm_host_type) { |
#if BUILDFLAG(ENABLE_PEPPER_CDMS) |
if (IsExternalClearKey(key_system)) { |
- RegisterPepperCdm(command_line, media::kClearKeyCdmBaseDirectory, |
- media::kClearKeyCdmAdapterFileName, |
- media::kClearKeyCdmDisplayName, |
- media::kClearKeyCdmPepperMimeType); |
if (cdm_host_type == CdmHostType::kMojo) { |
scoped_feature_list_.InitWithFeatures( |
{media::kExternalClearKeyForTesting, media::kMojoCdm, |
@@ -317,6 +306,24 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
#endif // BUILDFLAG(ENABLE_PEPPER_CDMS) |
} |
+ void SetUpCommandLineForKeySystem(const std::string& key_system, |
+ base::CommandLine* command_line) { |
+ if (GetServerConfig(key_system)) |
+ // Since the web and license servers listen on different ports, we need to |
+ // disable web-security to send license requests to the license server. |
+ // TODO(shadi): Add port forwarding to the test web server configuration. |
+ command_line->AppendSwitch(switches::kDisableWebSecurity); |
+ |
+#if BUILDFLAG(ENABLE_PEPPER_CDMS) |
+ if (IsExternalClearKey(key_system)) { |
+ RegisterPepperCdm(command_line, media::kClearKeyCdmBaseDirectory, |
+ media::kClearKeyCdmAdapterFileName, |
+ media::kClearKeyCdmDisplayName, |
+ media::kClearKeyCdmPepperMimeType); |
+ } |
+#endif // BUILDFLAG(ENABLE_PEPPER_CDMS) |
+ } |
+ |
base::test::ScopedFeatureList scoped_feature_list_; |
}; |
@@ -326,6 +333,10 @@ class EncryptedMediaTestBase : public MediaBrowserTest { |
class ECKEncryptedMediaTest : public EncryptedMediaTestBase, |
public testing::WithParamInterface<CdmHostType> { |
public: |
+ ECKEncryptedMediaTest() { |
+ SetUpForKeySystem(kExternalClearKeyKeySystem, GetParam()); |
+ } |
+ |
// We use special |key_system| names to do non-playback related tests, |
// e.g. kExternalClearKeyFileIOTestKeySystem is used to test file IO. |
void TestNonPlaybackCases(const std::string& key_system, |
@@ -352,19 +363,22 @@ class ECKEncryptedMediaTest : public EncryptedMediaTestBase, |
protected: |
void SetUpCommandLine(base::CommandLine* command_line) override { |
EncryptedMediaTestBase::SetUpCommandLine(command_line); |
- SetUpCommandLineForKeySystem(kExternalClearKeyKeySystem, GetParam(), |
- command_line); |
+ SetUpCommandLineForKeySystem(kExternalClearKeyKeySystem, command_line); |
} |
}; |
#if defined(WIDEVINE_CDM_AVAILABLE) |
// Tests encrypted media playback using Widevine key system. |
class WVEncryptedMediaTest : public EncryptedMediaTestBase { |
+ public: |
+ WVEncryptedMediaTest() { |
+ SetUpForKeySystem(kWidevineKeySystem, CdmHostType::kPepper); |
+ } |
+ |
protected: |
void SetUpCommandLine(base::CommandLine* command_line) override { |
EncryptedMediaTestBase::SetUpCommandLine(command_line); |
- SetUpCommandLineForKeySystem(kWidevineKeySystem, CdmHostType::kPepper, |
- command_line); |
+ SetUpCommandLineForKeySystem(kWidevineKeySystem, command_line); |
} |
}; |
@@ -383,6 +397,10 @@ class EncryptedMediaTest |
public testing::WithParamInterface< |
std::tr1::tuple<const char*, SrcType, CdmHostType>> { |
public: |
+ EncryptedMediaTest() { |
+ SetUpForKeySystem(CurrentKeySystem(), CurrentCdmHostType()); |
+ } |
+ |
std::string CurrentKeySystem() { |
return std::tr1::get<0>(GetParam()); |
} |
@@ -479,8 +497,7 @@ class EncryptedMediaTest |
protected: |
void SetUpCommandLine(base::CommandLine* command_line) override { |
EncryptedMediaTestBase::SetUpCommandLine(command_line); |
- SetUpCommandLineForKeySystem(CurrentKeySystem(), CurrentCdmHostType(), |
- command_line); |
+ SetUpCommandLineForKeySystem(CurrentKeySystem(), command_line); |
} |
}; |