| Index: content/browser/ppapi_plugin_process_host.cc
 | 
| diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
 | 
| index 478f476f36d1370785b56029fe2e4173c588db02..0d8d1708f9d67e61f29b968c241e018570ae4743 100644
 | 
| --- a/content/browser/ppapi_plugin_process_host.cc
 | 
| +++ b/content/browser/ppapi_plugin_process_host.cc
 | 
| @@ -26,6 +26,7 @@
 | 
|  #include "content/public/browser/content_browser_client.h"
 | 
|  #include "content/public/common/content_constants.h"
 | 
|  #include "content/public/common/content_switches.h"
 | 
| +#include "content/public/common/mojo_channel_switches.h"
 | 
|  #include "content/public/common/pepper_plugin_info.h"
 | 
|  #include "content/public/common/process_type.h"
 | 
|  #include "content/public/common/sandbox_type.h"
 | 
| @@ -317,7 +318,8 @@ PpapiPluginProcessHost::PpapiPluginProcessHost(
 | 
|      const PepperPluginInfo& info,
 | 
|      const base::FilePath& profile_data_directory)
 | 
|      : profile_data_directory_(profile_data_directory),
 | 
| -      is_broker_(false) {
 | 
| +      is_broker_(false),
 | 
| +      mojo_child_token_(mojo::edk::GenerateRandomToken()) {
 | 
|    uint32_t base_permissions = info.permissions;
 | 
|  
 | 
|    // We don't have to do any whitelisting for APIs in this process host, so
 | 
| @@ -328,7 +330,7 @@ PpapiPluginProcessHost::PpapiPluginProcessHost(
 | 
|    permissions_ = ppapi::PpapiPermissions::GetForCommandLine(base_permissions);
 | 
|  
 | 
|    process_.reset(new BrowserChildProcessHostImpl(
 | 
| -      PROCESS_TYPE_PPAPI_PLUGIN, this, mojo::edk::GenerateRandomToken()));
 | 
| +      PROCESS_TYPE_PPAPI_PLUGIN, this, mojo_child_token_));
 | 
|  
 | 
|    host_impl_.reset(new BrowserPpapiHostImpl(this, permissions_, info.name,
 | 
|                                              info.path, profile_data_directory,
 | 
| @@ -350,9 +352,10 @@ PpapiPluginProcessHost::PpapiPluginProcessHost(
 | 
|  }
 | 
|  
 | 
|  PpapiPluginProcessHost::PpapiPluginProcessHost()
 | 
| -    : is_broker_(true) {
 | 
| +    : is_broker_(true),
 | 
| +      mojo_child_token_(mojo::edk::GenerateRandomToken()) {
 | 
|    process_.reset(new BrowserChildProcessHostImpl(
 | 
| -      PROCESS_TYPE_PPAPI_BROKER, this, mojo::edk::GenerateRandomToken()));
 | 
| +      PROCESS_TYPE_PPAPI_BROKER, this, mojo_child_token_));
 | 
|  
 | 
|    ppapi::PpapiPermissions permissions;  // No permissions.
 | 
|    // The plugin name, path and profile data directory shouldn't be needed for
 | 
| @@ -372,8 +375,9 @@ bool PpapiPluginProcessHost::Init(const PepperPluginInfo& info) {
 | 
|      process_->SetName(base::UTF8ToUTF16(info.name));
 | 
|    }
 | 
|  
 | 
| -  std::string channel_id = process_->GetHost()->CreateChannel();
 | 
| -  if (channel_id.empty()) {
 | 
| +  std::string mojo_channel_token =
 | 
| +      process_->GetHost()->CreateChannelMojo(mojo_child_token_);
 | 
| +  if (mojo_channel_token.empty()) {
 | 
|      VLOG(1) << "Could not create pepper host channel.";
 | 
|      return false;
 | 
|    }
 | 
| @@ -399,7 +403,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginInfo& info) {
 | 
|    cmd_line->AppendSwitchASCII(switches::kProcessType,
 | 
|                                is_broker_ ? switches::kPpapiBrokerProcess
 | 
|                                           : switches::kPpapiPluginProcess);
 | 
| -  cmd_line->AppendSwitchASCII(switches::kProcessChannelID, channel_id);
 | 
| +  cmd_line->AppendSwitchASCII(switches::kMojoChannelToken, mojo_channel_token);
 | 
|  
 | 
|  #if defined(OS_WIN)
 | 
|    if (GetContentClient()->browser()->ShouldUseWindowsPrefetchArgument()) {
 | 
| 
 |