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