| 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)
|
|
|