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

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

Issue 1993813002: Revert of media: Add helper function to register pepper CDMs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 4704227404f8db03d0ee0762117d823a7de05451..ffcf3679b38704a526f169b07a87a241f5ba05c3 100644
--- a/chrome/browser/media/encrypted_media_browsertest.cc
+++ b/chrome/browser/media/encrypted_media_browsertest.cc
@@ -23,11 +23,21 @@
#include "base/android/build_info.h"
#endif
+#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
+
#if defined(ENABLE_PEPPER_CDMS)
-#include "chrome/browser/media/pepper_cdm_test_helper.h"
+// Platform-specific filename relative to the chrome executable.
+const char kClearKeyCdmAdapterFileName[] =
+#if defined(OS_MACOSX)
+ "clearkeycdmadapter.plugin";
+#elif defined(OS_WIN)
+ "clearkeycdmadapter.dll";
+#elif defined(OS_POSIX)
+ "libclearkeycdmadapter.so";
#endif
-#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
+const char kClearKeyCdmPluginMimeType[] = "application/x-ppapi-clearkey-cdm";
+#endif // defined(ENABLE_PEPPER_CDMS)
// Available key systems.
const char kClearKeyKeySystem[] = "org.w3.clearkey";
@@ -98,7 +108,7 @@
// Base class for encrypted media tests.
class EncryptedMediaTestBase : public MediaBrowserTest {
public:
- EncryptedMediaTestBase() {}
+ EncryptedMediaTestBase() : is_pepper_cdm_registered_(false) {}
bool IsExternalClearKey(const std::string& key_system) {
if (key_system == kExternalClearKeyKeySystem)
@@ -251,13 +261,11 @@
#if defined(ENABLE_PEPPER_CDMS)
if (IsExternalClearKey(key_system)) {
- RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName,
- GetPepperType(key_system));
+ RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName, key_system);
}
#if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT)
else if (IsWidevine(key_system)) { // NOLINT
- RegisterPepperCdm(command_line, kWidevineCdmAdapterFileName,
- GetPepperType(key_system));
+ RegisterPepperCdm(command_line, kWidevineCdmAdapterFileName, key_system);
}
#endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT)
#endif // defined(ENABLE_PEPPER_CDMS)
@@ -265,10 +273,33 @@
private:
#if defined(ENABLE_PEPPER_CDMS)
+ void RegisterPepperCdm(base::CommandLine* command_line,
+ 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;
+
+ // Append the switch to register the Clear Key CDM Adapter.
+ base::FilePath plugin_dir;
+ EXPECT_TRUE(PathService::Get(base::DIR_MODULE, &plugin_dir));
+ base::FilePath plugin_lib = plugin_dir.AppendASCII(adapter_name);
+ EXPECT_TRUE(base::PathExists(plugin_lib)) << plugin_lib.value();
+ 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
+ command_line->AppendSwitchNative(switches::kRegisterPepperPlugins,
+ pepper_plugin);
+ }
+
// Adapted from key_systems.cc.
std::string GetPepperType(const std::string& key_system) {
if (IsExternalClearKey(key_system))
- return kClearKeyCdmPepperMimeType;
+ return kClearKeyCdmPluginMimeType;
#if defined(WIDEVINE_CDM_AVAILABLE)
if (IsWidevine(key_system))
return kWidevineCdmPluginMimeType;
@@ -278,6 +309,8 @@
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