| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/utility_process_host_impl.h" | 5 #include "content/browser/utility_process_host_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/base_switches.h" | 9 #include "base/base_switches.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 child_flags_(ChildProcessHost::CHILD_NORMAL), | 165 child_flags_(ChildProcessHost::CHILD_NORMAL), |
| 166 #endif | 166 #endif |
| 167 started_(false), | 167 started_(false), |
| 168 name_(base::ASCIIToUTF16("utility process")), | 168 name_(base::ASCIIToUTF16("utility process")), |
| 169 child_token_(mojo::edk::GenerateRandomToken()), | 169 child_token_(mojo::edk::GenerateRandomToken()), |
| 170 weak_ptr_factory_(this) { | 170 weak_ptr_factory_(this) { |
| 171 process_.reset(new BrowserChildProcessHostImpl(PROCESS_TYPE_UTILITY, this, | 171 process_.reset(new BrowserChildProcessHostImpl(PROCESS_TYPE_UTILITY, this, |
| 172 child_token_)); | 172 child_token_)); |
| 173 mojo_child_connection_.reset(new MojoChildConnection( | 173 mojo_child_connection_.reset(new MojoChildConnection( |
| 174 kUtilityMojoApplicationName, | 174 kUtilityMojoApplicationName, |
| 175 base::StringPrintf("%d_0", process_->GetData().id), child_token_, | 175 base::StringPrintf("%d_0", process_->GetData().id), |
| 176 MojoShellContext::GetConnectorForIOThread(), | 176 child_token_, |
| 177 BrowserThread::UnsafeGetMessageLoopForThread(BrowserThread::IO) | 177 MojoShellContext::GetConnectorForIOThread())); |
| 178 ->task_runner())); | |
| 179 } | 178 } |
| 180 | 179 |
| 181 UtilityProcessHostImpl::~UtilityProcessHostImpl() { | 180 UtilityProcessHostImpl::~UtilityProcessHostImpl() { |
| 182 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 181 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 183 if (is_batch_mode_) | 182 if (is_batch_mode_) |
| 184 EndBatchMode(); | 183 EndBatchMode(); |
| 185 } | 184 } |
| 186 | 185 |
| 187 base::WeakPtr<UtilityProcessHost> UtilityProcessHostImpl::AsWeakPtr() { | 186 base::WeakPtr<UtilityProcessHost> UtilityProcessHostImpl::AsWeakPtr() { |
| 188 return weak_ptr_factory_.GetWeakPtr(); | 187 return weak_ptr_factory_.GetWeakPtr(); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 env_ = env; | 232 env_ = env; |
| 234 } | 233 } |
| 235 | 234 |
| 236 #endif // OS_POSIX | 235 #endif // OS_POSIX |
| 237 | 236 |
| 238 bool UtilityProcessHostImpl::Start() { | 237 bool UtilityProcessHostImpl::Start() { |
| 239 return StartProcess(); | 238 return StartProcess(); |
| 240 } | 239 } |
| 241 | 240 |
| 242 shell::InterfaceRegistry* UtilityProcessHostImpl::GetInterfaceRegistry() { | 241 shell::InterfaceRegistry* UtilityProcessHostImpl::GetInterfaceRegistry() { |
| 243 return mojo_child_connection_->GetInterfaceRegistry(); | 242 return mojo_child_connection_->connection()->GetInterfaceRegistry(); |
| 244 } | 243 } |
| 245 | 244 |
| 246 shell::InterfaceProvider* UtilityProcessHostImpl::GetRemoteInterfaces() { | 245 shell::InterfaceProvider* UtilityProcessHostImpl::GetRemoteInterfaces() { |
| 247 return mojo_child_connection_->GetRemoteInterfaces(); | 246 return mojo_child_connection_->connection()->GetRemoteInterfaces(); |
| 248 } | 247 } |
| 249 | 248 |
| 250 void UtilityProcessHostImpl::SetName(const base::string16& name) { | 249 void UtilityProcessHostImpl::SetName(const base::string16& name) { |
| 251 name_ = name; | 250 name_ = name; |
| 252 } | 251 } |
| 253 | 252 |
| 254 #if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) | 253 #if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) |
| 255 // static | 254 // static |
| 256 void UtilityProcessHostImpl::EarlyZygoteLaunch() { | 255 void UtilityProcessHostImpl::EarlyZygoteLaunch() { |
| 257 DCHECK(!g_utility_zygote); | 256 DCHECK(!g_utility_zygote); |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 base::WeakPtr<UtilityProcessHostImpl> host, | 424 base::WeakPtr<UtilityProcessHostImpl> host, |
| 426 int error_code) { | 425 int error_code) { |
| 427 if (!host) | 426 if (!host) |
| 428 return; | 427 return; |
| 429 | 428 |
| 430 host->OnProcessLaunchFailed(error_code); | 429 host->OnProcessLaunchFailed(error_code); |
| 431 delete host.get(); | 430 delete host.get(); |
| 432 } | 431 } |
| 433 | 432 |
| 434 } // namespace content | 433 } // namespace content |
| OLD | NEW |