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/common/child_process_host_impl.h" | 5 #include "content/common/child_process_host_impl.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/atomic_sequence_num.h" | 9 #include "base/atomic_sequence_num.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 | 149 |
150 bool ChildProcessHostImpl::InitChannel() { | 150 bool ChildProcessHostImpl::InitChannel() { |
151 if (!channel_->Connect()) | 151 if (!channel_->Connect()) |
152 return false; | 152 return false; |
153 | 153 |
154 for (size_t i = 0; i < filters_.size(); ++i) | 154 for (size_t i = 0; i < filters_.size(); ++i) |
155 filters_[i]->OnFilterAdded(channel_.get()); | 155 filters_[i]->OnFilterAdded(channel_.get()); |
156 delegate_->OnChannelInitialized(channel_.get()); | 156 delegate_->OnChannelInitialized(channel_.get()); |
157 | 157 |
158 // Make sure these messages get sent first. | 158 // Make sure these messages get sent first. |
159 #if defined(IPC_MESSAGE_LOG_ENABLED) | 159 #if BUILDFLAG(IPC_MESSAGE_LOG_ENABLED) |
160 bool enabled = IPC::Logging::GetInstance()->Enabled(); | 160 bool enabled = IPC::Logging::GetInstance()->Enabled(); |
161 Send(new ChildProcessMsg_SetIPCLoggingEnabled(enabled)); | 161 Send(new ChildProcessMsg_SetIPCLoggingEnabled(enabled)); |
162 #endif | 162 #endif |
163 | 163 |
164 opening_channel_ = true; | 164 opening_channel_ = true; |
165 | 165 |
166 return true; | 166 return true; |
167 } | 167 } |
168 | 168 |
169 bool ChildProcessHostImpl::IsChannelOpening() { | 169 bool ChildProcessHostImpl::IsChannelOpening() { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 | 205 |
206 // The hash value is incremented so that the tracing id is never equal to | 206 // The hash value is incremented so that the tracing id is never equal to |
207 // MemoryDumpManager::kInvalidTracingProcessId. | 207 // MemoryDumpManager::kInvalidTracingProcessId. |
208 return static_cast<uint64_t>( | 208 return static_cast<uint64_t>( |
209 base::Hash(reinterpret_cast<const char*>(&child_process_id), | 209 base::Hash(reinterpret_cast<const char*>(&child_process_id), |
210 sizeof(child_process_id))) + | 210 sizeof(child_process_id))) + |
211 1; | 211 1; |
212 } | 212 } |
213 | 213 |
214 bool ChildProcessHostImpl::OnMessageReceived(const IPC::Message& msg) { | 214 bool ChildProcessHostImpl::OnMessageReceived(const IPC::Message& msg) { |
215 #ifdef IPC_MESSAGE_LOG_ENABLED | 215 #if BUILDFLAG(IPC_MESSAGE_LOG_ENABLED) |
216 IPC::Logging* logger = IPC::Logging::GetInstance(); | 216 IPC::Logging* logger = IPC::Logging::GetInstance(); |
217 if (msg.type() == IPC_LOGGING_ID) { | 217 if (msg.type() == IPC_LOGGING_ID) { |
218 logger->OnReceivedLoggingMessage(msg); | 218 logger->OnReceivedLoggingMessage(msg); |
219 return true; | 219 return true; |
220 } | 220 } |
221 | 221 |
222 if (logger->Enabled()) | 222 if (logger->Enabled()) |
223 logger->OnPreDispatchMessage(msg); | 223 logger->OnPreDispatchMessage(msg); |
224 #endif | 224 #endif |
225 | 225 |
(...skipping 10 matching lines...) Expand all Loading... |
236 IPC_BEGIN_MESSAGE_MAP(ChildProcessHostImpl, msg) | 236 IPC_BEGIN_MESSAGE_MAP(ChildProcessHostImpl, msg) |
237 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_ShutdownRequest, | 237 IPC_MESSAGE_HANDLER(ChildProcessHostMsg_ShutdownRequest, |
238 OnShutdownRequest) | 238 OnShutdownRequest) |
239 IPC_MESSAGE_UNHANDLED(handled = false) | 239 IPC_MESSAGE_UNHANDLED(handled = false) |
240 IPC_END_MESSAGE_MAP() | 240 IPC_END_MESSAGE_MAP() |
241 | 241 |
242 if (!handled) | 242 if (!handled) |
243 handled = delegate_->OnMessageReceived(msg); | 243 handled = delegate_->OnMessageReceived(msg); |
244 } | 244 } |
245 | 245 |
246 #ifdef IPC_MESSAGE_LOG_ENABLED | 246 #if BUILDFLAG(IPC_MESSAGE_LOG_ENABLED) |
247 if (logger->Enabled()) | 247 if (logger->Enabled()) |
248 logger->OnPostDispatchMessage(msg); | 248 logger->OnPostDispatchMessage(msg); |
249 #endif | 249 #endif |
250 return handled; | 250 return handled; |
251 } | 251 } |
252 | 252 |
253 void ChildProcessHostImpl::OnChannelConnected(int32_t peer_pid) { | 253 void ChildProcessHostImpl::OnChannelConnected(int32_t peer_pid) { |
254 if (!peer_process_.IsValid()) { | 254 if (!peer_process_.IsValid()) { |
255 peer_process_ = base::Process::OpenWithExtraPrivileges(peer_pid); | 255 peer_process_ = base::Process::OpenWithExtraPrivileges(peer_pid); |
256 if (!peer_process_.IsValid()) | 256 if (!peer_process_.IsValid()) |
(...skipping 20 matching lines...) Expand all Loading... |
277 void ChildProcessHostImpl::OnBadMessageReceived(const IPC::Message& message) { | 277 void ChildProcessHostImpl::OnBadMessageReceived(const IPC::Message& message) { |
278 delegate_->OnBadMessageReceived(message); | 278 delegate_->OnBadMessageReceived(message); |
279 } | 279 } |
280 | 280 |
281 void ChildProcessHostImpl::OnShutdownRequest() { | 281 void ChildProcessHostImpl::OnShutdownRequest() { |
282 if (delegate_->CanShutdown()) | 282 if (delegate_->CanShutdown()) |
283 Send(new ChildProcessMsg_Shutdown()); | 283 Send(new ChildProcessMsg_Shutdown()); |
284 } | 284 } |
285 | 285 |
286 } // namespace content | 286 } // namespace content |
OLD | NEW |