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

Unified Diff: chrome/browser/content_settings/content_settings_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/content_settings/content_settings_browsertest.cc
diff --git a/chrome/browser/content_settings/content_settings_browsertest.cc b/chrome/browser/content_settings/content_settings_browsertest.cc
index f5bbfac77c6cd8fa05c17e93fdc2d689253975da..5809cbb54cb8082f6c46aa1ed39d4754b085110e 100644
--- a/chrome/browser/content_settings/content_settings_browsertest.cc
+++ b/chrome/browser/content_settings/content_settings_browsertest.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
+#include "chrome/browser/media/pepper_cdm_test_helper.h"
#include "chrome/browser/net/url_request_mock_util.h"
#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
#include "chrome/browser/profiles/profile.h"
@@ -317,35 +318,19 @@ IN_PROC_BROWSER_TEST_F(ContentSettingsTest, RedirectCrossOrigin) {
#if defined(ENABLE_PLUGINS)
class PepperContentSettingsSpecialCasesTest : public ContentSettingsTest {
protected:
- static const char kExternalClearKeyMimeType[];
-
// Registers any CDM plugins not registered by default.
void SetUpCommandLine(base::CommandLine* command_line) override {
#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.
-#if defined(OS_WIN)
- const char kClearKeyCdmAdapterFileName[] = "clearkeycdmadapter.dll";
-#else // !defined(OS_WIN)
-#if defined(OS_MACOSX)
- const char kClearKeyCdmAdapterFileName[] = "clearkeycdmadapter.plugin";
-#elif defined(OS_POSIX)
- const char kClearKeyCdmAdapterFileName[] = "libclearkeycdmadapter.so";
-#endif // defined(OS_MACOSX)
-#endif // defined(OS_WIN)
-
// Append the switch to register the External Clear Key CDM.
- base::FilePath::StringType pepper_plugins = BuildPepperPluginRegistration(
- kClearKeyCdmBaseDirectory, kClearKeyCdmAdapterFileName, "Clear Key CDM",
- kExternalClearKeyMimeType);
+ base::FilePath::StringType pepper_plugins = BuildPepperCdmRegistration(
+ kClearKeyCdmBaseDirectory, kClearKeyCdmAdapterFileName,
+ kClearKeyCdmPluginMimeType);
#if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT)
// The CDM must be registered when it is a component.
pepper_plugins.append(FILE_PATH_LITERAL(","));
- pepper_plugins.append(BuildPepperPluginRegistration(
+ pepper_plugins.append(BuildPepperCdmRegistration(
kWidevineCdmBaseDirectory, kWidevineCdmAdapterFileName,
- kWidevineCdmDisplayName, kWidevineCdmPluginMimeType));
+ kWidevineCdmPluginMimeType));
#endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT)
command_line->AppendSwitchNative(switches::kRegisterPepperPlugins,
pepper_plugins);
@@ -431,43 +416,8 @@ class PepperContentSettingsSpecialCasesTest : public ContentSettingsTest {
tab_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT));
EXPECT_FALSE(tab_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS));
}
-
- private:
- // Builds the string to pass to kRegisterPepperPlugins for a single
- // plugin using the provided parameters and a dummy version.
- // Multiple results may be passed to kRegisterPepperPlugins, separated by ",".
- base::FilePath::StringType BuildPepperPluginRegistration(
- const char* library_path,
- const char* library_name,
- const char* display_name,
- const char* mime_type) {
- base::FilePath plugin_dir;
- EXPECT_TRUE(PathService::Get(base::DIR_MODULE, &plugin_dir));
- plugin_dir = plugin_dir.AppendASCII(library_path);
-
- base::FilePath plugin_lib = plugin_dir.AppendASCII(library_name);
- EXPECT_TRUE(base::PathExists(plugin_lib));
-
- base::FilePath::StringType pepper_plugin = plugin_lib.value();
- std::string string_to_append = "#";
- string_to_append.append(display_name);
- string_to_append.append("#A CDM#0.1.0.0;");
- string_to_append.append(mime_type);
-
-#if defined(OS_WIN)
- pepper_plugin.append(base::ASCIIToUTF16(string_to_append));
-#else
- pepper_plugin.append(string_to_append);
-#endif
-
- return pepper_plugin;
- }
};
-const char
-PepperContentSettingsSpecialCasesTest::kExternalClearKeyMimeType[] =
- "application/x-ppapi-clearkey-cdm";
-
class PepperContentSettingsSpecialCasesPluginsBlockedTest
: public PepperContentSettingsSpecialCasesTest {
public:
@@ -501,7 +451,7 @@ IN_PROC_BROWSER_TEST_F(PepperContentSettingsSpecialCasesTest, Baseline) {
->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS,
CONTENT_SETTING_ALLOW);
- RunLoadPepperPluginTest(kExternalClearKeyMimeType, true);
+ RunLoadPepperPluginTest(kClearKeyCdmPluginMimeType, true);
}
#endif // defined(ENABLE_PEPPER_CDMS)
@@ -512,7 +462,7 @@ IN_PROC_BROWSER_TEST_F(PepperContentSettingsSpecialCasesTest, Baseline) {
// The plugin successfully loaded above is blocked.
IN_PROC_BROWSER_TEST_F(PepperContentSettingsSpecialCasesPluginsBlockedTest,
Normal) {
- RunLoadPepperPluginTest(kExternalClearKeyMimeType, false);
+ RunLoadPepperPluginTest(kClearKeyCdmPluginMimeType, false);
}
#if defined(WIDEVINE_CDM_AVAILABLE) && !defined(OS_CHROMEOS)
« no previous file with comments | « no previous file | chrome/browser/media/encrypted_media_browsertest.cc » ('j') | chrome/browser/media/pepper_cdm_test_helper.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698