Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: content/child/child_thread_impl.cc

Issue 1488853002: Add multiplexing of message pipes in the new EDK. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tsepez review comments Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/child/child_thread_impl.h ('k') | content/renderer/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/child/child_thread_impl.h" 5 #include "content/child/child_thread_impl.h"
6 6
7 #include <signal.h> 7 #include <signal.h>
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 #endif 407 #endif
408 408
409 channel_ = 409 channel_ =
410 IPC::SyncChannel::Create(this, ChildProcess::current()->io_task_runner(), 410 IPC::SyncChannel::Create(this, ChildProcess::current()->io_task_runner(),
411 ChildProcess::current()->GetShutDownEvent()); 411 ChildProcess::current()->GetShutDownEvent());
412 #ifdef IPC_MESSAGE_LOG_ENABLED 412 #ifdef IPC_MESSAGE_LOG_ENABLED
413 if (!IsInBrowserProcess()) 413 if (!IsInBrowserProcess())
414 IPC::Logging::GetInstance()->SetIPCSender(this); 414 IPC::Logging::GetInstance()->SetIPCSender(this);
415 #endif 415 #endif
416 416
417 mojo_ipc_support_.reset(new IPC::ScopedIPCSupport(GetIOTaskRunner()));
417 mojo_application_.reset(new MojoApplication(GetIOTaskRunner())); 418 mojo_application_.reset(new MojoApplication(GetIOTaskRunner()));
418 419
419 sync_message_filter_ = channel_->CreateSyncMessageFilter(); 420 sync_message_filter_ = channel_->CreateSyncMessageFilter();
420 thread_safe_sender_ = new ThreadSafeSender( 421 thread_safe_sender_ = new ThreadSafeSender(
421 message_loop_->task_runner(), sync_message_filter_.get()); 422 message_loop_->task_runner(), sync_message_filter_.get());
422 423
423 resource_dispatcher_.reset(new ResourceDispatcher( 424 resource_dispatcher_.reset(new ResourceDispatcher(
424 this, message_loop()->task_runner())); 425 this, message_loop()->task_runner()));
425 websocket_dispatcher_.reset(new WebSocketDispatcher); 426 websocket_dispatcher_.reset(new WebSocketDispatcher);
426 file_system_dispatcher_.reset(new FileSystemDispatcher()); 427 file_system_dispatcher_.reset(new FileSystemDispatcher());
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 IPC_MESSAGE_HANDLER(ChildProcessMsg_SetProfilerStatus, 647 IPC_MESSAGE_HANDLER(ChildProcessMsg_SetProfilerStatus,
647 OnSetProfilerStatus) 648 OnSetProfilerStatus)
648 IPC_MESSAGE_HANDLER(ChildProcessMsg_GetChildProfilerData, 649 IPC_MESSAGE_HANDLER(ChildProcessMsg_GetChildProfilerData,
649 OnGetChildProfilerData) 650 OnGetChildProfilerData)
650 IPC_MESSAGE_HANDLER(ChildProcessMsg_ProfilingPhaseCompleted, 651 IPC_MESSAGE_HANDLER(ChildProcessMsg_ProfilingPhaseCompleted,
651 OnProfilingPhaseCompleted) 652 OnProfilingPhaseCompleted)
652 IPC_MESSAGE_HANDLER(ChildProcessMsg_SetProcessBackgrounded, 653 IPC_MESSAGE_HANDLER(ChildProcessMsg_SetProcessBackgrounded,
653 OnProcessBackgrounded) 654 OnProcessBackgrounded)
654 IPC_MESSAGE_HANDLER(MojoMsg_BindExternalMojoShellHandle, 655 IPC_MESSAGE_HANDLER(MojoMsg_BindExternalMojoShellHandle,
655 OnBindExternalMojoShellHandle) 656 OnBindExternalMojoShellHandle)
656 #if defined(OS_WIN)
657 IPC_MESSAGE_HANDLER(ChildProcessMsg_SetMojoParentPipeHandle, 657 IPC_MESSAGE_HANDLER(ChildProcessMsg_SetMojoParentPipeHandle,
658 OnSetMojoParentPipeHandle) 658 OnSetMojoParentPipeHandle)
659 #endif
660 IPC_MESSAGE_UNHANDLED(handled = false) 659 IPC_MESSAGE_UNHANDLED(handled = false)
661 IPC_END_MESSAGE_MAP() 660 IPC_END_MESSAGE_MAP()
662 661
663 if (handled) 662 if (handled)
664 return true; 663 return true;
665 664
666 if (msg.routing_id() == MSG_ROUTING_CONTROL) 665 if (msg.routing_id() == MSG_ROUTING_CONTROL)
667 return OnControlMessageReceived(msg); 666 return OnControlMessageReceived(msg);
668 667
669 return router_.OnMessageReceived(msg); 668 return router_.OnMessageReceived(msg);
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 void ChildThreadImpl::EnsureConnected() { 764 void ChildThreadImpl::EnsureConnected() {
766 VLOG(0) << "ChildThreadImpl::EnsureConnected()"; 765 VLOG(0) << "ChildThreadImpl::EnsureConnected()";
767 base::Process::Current().Terminate(0, false); 766 base::Process::Current().Terminate(0, false);
768 } 767 }
769 768
770 bool ChildThreadImpl::IsInBrowserProcess() const { 769 bool ChildThreadImpl::IsInBrowserProcess() const {
771 return browser_process_io_runner_; 770 return browser_process_io_runner_;
772 } 771 }
773 772
774 } // namespace content 773 } // namespace content
OLDNEW
« no previous file with comments | « content/child/child_thread_impl.h ('k') | content/renderer/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698