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 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 } | 670 } |
671 | 671 |
672 mojom::RouteProvider* ChildThreadImpl::GetRemoteRouteProvider() { | 672 mojom::RouteProvider* ChildThreadImpl::GetRemoteRouteProvider() { |
673 if (!remote_route_provider_) { | 673 if (!remote_route_provider_) { |
674 DCHECK(channel_); | 674 DCHECK(channel_); |
675 channel_->GetRemoteAssociatedInterface(&remote_route_provider_); | 675 channel_->GetRemoteAssociatedInterface(&remote_route_provider_); |
676 } | 676 } |
677 return remote_route_provider_.get(); | 677 return remote_route_provider_.get(); |
678 } | 678 } |
679 | 679 |
680 std::unique_ptr<base::SharedMemory> ChildThreadImpl::AllocateSharedMemory( | |
681 size_t buf_size) { | |
682 DCHECK(message_loop_->task_runner()->BelongsToCurrentThread()); | |
683 return AllocateSharedMemory(buf_size, this, nullptr); | |
684 } | |
685 | |
686 // static | 680 // static |
687 std::unique_ptr<base::SharedMemory> ChildThreadImpl::AllocateSharedMemory( | 681 std::unique_ptr<base::SharedMemory> ChildThreadImpl::AllocateSharedMemory( |
688 size_t buf_size, | 682 size_t buf_size) { |
689 IPC::Sender* sender, | |
690 bool* out_of_memory) { | |
691 mojo::ScopedSharedBufferHandle mojo_buf = | 683 mojo::ScopedSharedBufferHandle mojo_buf = |
692 mojo::SharedBufferHandle::Create(buf_size); | 684 mojo::SharedBufferHandle::Create(buf_size); |
693 if (!mojo_buf->is_valid()) { | 685 if (!mojo_buf->is_valid()) { |
694 LOG(WARNING) << "Browser failed to allocate shared memory"; | 686 LOG(WARNING) << "Browser failed to allocate shared memory"; |
695 if (out_of_memory) | |
696 *out_of_memory = true; | |
697 return nullptr; | 687 return nullptr; |
698 } | 688 } |
699 | 689 |
700 base::SharedMemoryHandle shared_buf; | 690 base::SharedMemoryHandle shared_buf; |
701 if (mojo::UnwrapSharedMemoryHandle(std::move(mojo_buf), &shared_buf, | 691 if (mojo::UnwrapSharedMemoryHandle(std::move(mojo_buf), &shared_buf, |
702 nullptr, nullptr) != MOJO_RESULT_OK) { | 692 nullptr, nullptr) != MOJO_RESULT_OK) { |
703 LOG(WARNING) << "Browser failed to allocate shared memory"; | 693 LOG(WARNING) << "Browser failed to allocate shared memory"; |
704 return nullptr; | 694 return nullptr; |
705 } | 695 } |
706 | 696 |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
872 connected_to_browser_ = true; | 862 connected_to_browser_ = true; |
873 child_info_ = local_info; | 863 child_info_ = local_info; |
874 browser_info_ = remote_info; | 864 browser_info_ = remote_info; |
875 } | 865 } |
876 | 866 |
877 bool ChildThreadImpl::IsInBrowserProcess() const { | 867 bool ChildThreadImpl::IsInBrowserProcess() const { |
878 return static_cast<bool>(browser_process_io_runner_); | 868 return static_cast<bool>(browser_process_io_runner_); |
879 } | 869 } |
880 | 870 |
881 } // namespace content | 871 } // namespace content |
OLD | NEW |