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

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

Issue 1983563002: media: Add helper function to register pepper CDMs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more cleanup Created 4 years, 7 months 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 ed8f2031eef78ee112db7aa468c9f7be7f4a275b..d8981721ce11ba7143ed741c94bbb4946679f365 100644
--- a/chrome/browser/media/encrypted_media_browsertest.cc
+++ b/chrome/browser/media/encrypted_media_browsertest.cc
@@ -11,6 +11,7 @@
#include "base/win/windows_version.h"
#include "build/build_config.h"
#include "chrome/browser/media/media_browsertest.h"
+#include "chrome/browser/media/pepper_cdm_test_helper.h"
#include "chrome/browser/media/test_license_server.h"
#include "chrome/browser/media/wv_test_license_server_config.h"
#include "chrome/browser/ui/browser.h"
@@ -25,23 +26,6 @@
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
-#if defined(ENABLE_PEPPER_CDMS)
-// Base path for Clear Key CDM (relative to the chrome executable).
-const char kClearKeyCdmBaseDirectory[] = "ClearKeyCdm";
-
-// Platform-specific filename relative to kClearKeyCdmBaseDirectory.
-const char kClearKeyCdmAdapterFileName[] =
-#if defined(OS_MACOSX)
- "clearkeycdmadapter.plugin";
-#elif defined(OS_WIN)
- "clearkeycdmadapter.dll";
-#elif defined(OS_POSIX)
- "libclearkeycdmadapter.so";
-#endif
-
-const char kClearKeyCdmPluginMimeType[] = "application/x-ppapi-clearkey-cdm";
-#endif // defined(ENABLE_PEPPER_CDMS)
-
// Available key systems.
const char kClearKeyKeySystem[] = "org.w3.clearkey";
const char kExternalClearKeyKeySystem[] = "org.chromium.externalclearkey";
@@ -111,7 +95,7 @@ static bool IsMSESupported() {
// Base class for encrypted media tests.
class EncryptedMediaTestBase : public MediaBrowserTest {
public:
- EncryptedMediaTestBase() : is_pepper_cdm_registered_(false) {}
+ EncryptedMediaTestBase() {}
bool IsExternalClearKey(const std::string& key_system) {
if (key_system == kExternalClearKeyKeySystem)
@@ -265,12 +249,12 @@ class EncryptedMediaTestBase : public MediaBrowserTest {
#if defined(ENABLE_PEPPER_CDMS)
if (IsExternalClearKey(key_system)) {
RegisterPepperCdm(command_line, kClearKeyCdmBaseDirectory,
- kClearKeyCdmAdapterFileName, key_system);
+ kClearKeyCdmAdapterFileName, GetPepperType(key_system));
}
#if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT)
else if (IsWidevine(key_system)) { // NOLINT
RegisterPepperCdm(command_line, kWidevineCdmBaseDirectory,
- kWidevineCdmAdapterFileName, key_system);
+ kWidevineCdmAdapterFileName, GetPepperType(key_system));
}
#endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT)
#endif // defined(ENABLE_PEPPER_CDMS)
@@ -278,37 +262,6 @@ class EncryptedMediaTestBase : public MediaBrowserTest {
private:
#if defined(ENABLE_PEPPER_CDMS)
- // The CDM adapter should be located in |adapter_base_dir| in DIR_MODULE.
- void RegisterPepperCdm(base::CommandLine* command_line,
- const std::string& adapter_base_dir,
- const std::string& adapter_name,
- const std::string& key_system) {
- DCHECK(!is_pepper_cdm_registered_)
- << "RegisterPepperCdm() can only be called once.";
- is_pepper_cdm_registered_ = true;
-
- // Build the CDM adapter path.
- base::FilePath plugin_dir;
- EXPECT_TRUE(PathService::Get(base::DIR_MODULE, &plugin_dir));
- plugin_dir = plugin_dir.AppendASCII(adapter_base_dir);
-
- base::FilePath plugin_lib = plugin_dir.AppendASCII(adapter_name);
- EXPECT_TRUE(base::PathExists(plugin_lib)) << plugin_lib.value();
-
- // Build pepper plugin registration switch.
- base::FilePath::StringType pepper_plugin = plugin_lib.value();
- pepper_plugin.append(FILE_PATH_LITERAL("#CDM#0.1.0.0;"));
-#if defined(OS_WIN)
- pepper_plugin.append(base::ASCIIToUTF16(GetPepperType(key_system)));
-#else
- pepper_plugin.append(GetPepperType(key_system));
-#endif
-
- // Append the switch to register the CDM Adapter.
- command_line->AppendSwitchNative(switches::kRegisterPepperPlugins,
- pepper_plugin);
- }
-
// Adapted from key_systems.cc.
std::string GetPepperType(const std::string& key_system) {
if (IsExternalClearKey(key_system))
@@ -322,8 +275,6 @@ class EncryptedMediaTestBase : public MediaBrowserTest {
return "";
}
#endif // defined(ENABLE_PEPPER_CDMS)
-
- bool is_pepper_cdm_registered_;
};
#if defined(ENABLE_PEPPER_CDMS)

Powered by Google App Engine
This is Rietveld 408576698