| 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/child/child_thread_impl.h" | 5 #include "content/child/child_thread_impl.h" |
| 6 | 6 |
| 7 #include <signal.h> | 7 #include <signal.h> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 } | 677 } |
| 678 | 678 |
| 679 mojom::RouteProvider* ChildThreadImpl::GetRemoteRouteProvider() { | 679 mojom::RouteProvider* ChildThreadImpl::GetRemoteRouteProvider() { |
| 680 if (!remote_route_provider_) { | 680 if (!remote_route_provider_) { |
| 681 DCHECK(channel_); | 681 DCHECK(channel_); |
| 682 channel_->GetRemoteAssociatedInterface(&remote_route_provider_); | 682 channel_->GetRemoteAssociatedInterface(&remote_route_provider_); |
| 683 } | 683 } |
| 684 return remote_route_provider_.get(); | 684 return remote_route_provider_.get(); |
| 685 } | 685 } |
| 686 | 686 |
| 687 // static | |
| 688 std::unique_ptr<base::SharedMemory> ChildThreadImpl::AllocateSharedMemory( | |
| 689 size_t buf_size) { | |
| 690 mojo::ScopedSharedBufferHandle mojo_buf = | |
| 691 mojo::SharedBufferHandle::Create(buf_size); | |
| 692 if (!mojo_buf->is_valid()) { | |
| 693 LOG(WARNING) << "Browser failed to allocate shared memory"; | |
| 694 return nullptr; | |
| 695 } | |
| 696 | |
| 697 base::SharedMemoryHandle shared_buf; | |
| 698 if (mojo::UnwrapSharedMemoryHandle(std::move(mojo_buf), &shared_buf, | |
| 699 nullptr, nullptr) != MOJO_RESULT_OK) { | |
| 700 LOG(WARNING) << "Browser failed to allocate shared memory"; | |
| 701 return nullptr; | |
| 702 } | |
| 703 | |
| 704 return base::MakeUnique<base::SharedMemory>(shared_buf, false); | |
| 705 } | |
| 706 | |
| 707 #if defined(OS_LINUX) | 687 #if defined(OS_LINUX) |
| 708 void ChildThreadImpl::SetThreadPriority(base::PlatformThreadId id, | 688 void ChildThreadImpl::SetThreadPriority(base::PlatformThreadId id, |
| 709 base::ThreadPriority priority) { | 689 base::ThreadPriority priority) { |
| 710 Send(new ChildProcessHostMsg_SetThreadPriority(id, priority)); | 690 Send(new ChildProcessHostMsg_SetThreadPriority(id, priority)); |
| 711 } | 691 } |
| 712 #endif | 692 #endif |
| 713 | 693 |
| 714 bool ChildThreadImpl::OnMessageReceived(const IPC::Message& msg) { | 694 bool ChildThreadImpl::OnMessageReceived(const IPC::Message& msg) { |
| 715 // Resource responses are sent to the resource dispatcher. | 695 // Resource responses are sent to the resource dispatcher. |
| 716 if (resource_dispatcher_->OnMessageReceived(msg)) | 696 if (resource_dispatcher_->OnMessageReceived(msg)) |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 876 connected_to_browser_ = true; | 856 connected_to_browser_ = true; |
| 877 child_info_ = local_info; | 857 child_info_ = local_info; |
| 878 browser_info_ = remote_info; | 858 browser_info_ = remote_info; |
| 879 } | 859 } |
| 880 | 860 |
| 881 bool ChildThreadImpl::IsInBrowserProcess() const { | 861 bool ChildThreadImpl::IsInBrowserProcess() const { |
| 882 return static_cast<bool>(browser_process_io_runner_); | 862 return static_cast<bool>(browser_process_io_runner_); |
| 883 } | 863 } |
| 884 | 864 |
| 885 } // namespace content | 865 } // namespace content |
| OLD | NEW |