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