Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/nacl/loader/nacl_listener.h" | 5 #include "components/nacl/loader/nacl_listener.h" |
| 6 | 6 |
| 7 #include <errno.h> | 7 #include <errno.h> |
| 8 #include <fcntl.h> | 8 #include <fcntl.h> |
| 9 #include <stdlib.h> | 9 #include <stdlib.h> |
| 10 #include <string.h> | 10 #include <string.h> |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 24 #include "components/nacl/common/nacl_renderer_messages.h" | 24 #include "components/nacl/common/nacl_renderer_messages.h" |
| 25 #include "components/nacl/common/nacl_switches.h" | 25 #include "components/nacl/common/nacl_switches.h" |
| 26 #include "components/nacl/loader/nacl_ipc_adapter.h" | 26 #include "components/nacl/loader/nacl_ipc_adapter.h" |
| 27 #include "components/nacl/loader/nacl_validation_db.h" | 27 #include "components/nacl/loader/nacl_validation_db.h" |
| 28 #include "components/nacl/loader/nacl_validation_query.h" | 28 #include "components/nacl/loader/nacl_validation_query.h" |
| 29 #include "ipc/attachment_broker_unprivileged.h" | 29 #include "ipc/attachment_broker_unprivileged.h" |
| 30 #include "ipc/ipc_channel_handle.h" | 30 #include "ipc/ipc_channel_handle.h" |
| 31 #include "ipc/ipc_switches.h" | 31 #include "ipc/ipc_switches.h" |
| 32 #include "ipc/ipc_sync_channel.h" | 32 #include "ipc/ipc_sync_channel.h" |
| 33 #include "ipc/ipc_sync_message_filter.h" | 33 #include "ipc/ipc_sync_message_filter.h" |
| 34 #include "mojo/edk/embedder/embedder.h" | |
| 34 #include "native_client/src/public/chrome_main.h" | 35 #include "native_client/src/public/chrome_main.h" |
| 35 #include "native_client/src/public/nacl_app.h" | 36 #include "native_client/src/public/nacl_app.h" |
| 36 #include "native_client/src/public/nacl_desc.h" | 37 #include "native_client/src/public/nacl_desc.h" |
| 37 | 38 |
| 38 #if defined(OS_POSIX) | 39 #if defined(OS_POSIX) |
| 39 #include "base/file_descriptor_posix.h" | 40 #include "base/file_descriptor_posix.h" |
| 40 #endif | 41 #endif |
| 41 | 42 |
| 42 #if defined(OS_LINUX) | 43 #if defined(OS_LINUX) |
| 43 #include "content/public/common/child_process_sandbox_support_linux.h" | 44 #include "content/public/common/child_process_sandbox_support_linux.h" |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 159 base::WaitableEvent::InitialState::NOT_SIGNALED), | 160 base::WaitableEvent::InitialState::NOT_SIGNALED), |
| 160 io_thread_("NaCl_IOThread"), | 161 io_thread_("NaCl_IOThread"), |
| 161 #if defined(OS_LINUX) | 162 #if defined(OS_LINUX) |
| 162 prereserved_sandbox_size_(0), | 163 prereserved_sandbox_size_(0), |
| 163 #endif | 164 #endif |
| 164 #if defined(OS_POSIX) | 165 #if defined(OS_POSIX) |
| 165 number_of_cores_(-1), // unknown/error | 166 number_of_cores_(-1), // unknown/error |
| 166 #endif | 167 #endif |
| 167 main_loop_(NULL), | 168 main_loop_(NULL), |
| 168 is_started_(false) { | 169 is_started_(false) { |
| 170 // The Mojo EDK must be initialized before using IPC. | |
| 171 mojo::edk::Init(); | |
|
Mark Seaborn
2016/06/14 20:43:14
NaClMain() in components/nacl/loader/nacl_main.cc
Ken Rockot(use gerrit already)
2016/06/14 20:53:07
Done
Mark Seaborn
2016/06/15 00:35:49
Sorry, scratch that -- nacl_main.cc is not used fo
| |
| 172 | |
| 169 IPC::AttachmentBrokerUnprivileged::CreateBrokerIfNeeded(); | 173 IPC::AttachmentBrokerUnprivileged::CreateBrokerIfNeeded(); |
| 170 io_thread_.StartWithOptions( | 174 io_thread_.StartWithOptions( |
| 171 base::Thread::Options(base::MessageLoop::TYPE_IO, 0)); | 175 base::Thread::Options(base::MessageLoop::TYPE_IO, 0)); |
| 172 DCHECK(g_listener == NULL); | 176 DCHECK(g_listener == NULL); |
| 173 g_listener = this; | 177 g_listener = this; |
| 174 } | 178 } |
| 175 | 179 |
| 176 NaClListener::~NaClListener() { | 180 NaClListener::~NaClListener() { |
| 177 NOTREACHED(); | 181 NOTREACHED(); |
| 178 shutdown_event_.Signal(); | 182 shutdown_event_.Signal(); |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 448 } | 452 } |
| 449 | 453 |
| 450 void NaClListener::OnFileTokenResolved( | 454 void NaClListener::OnFileTokenResolved( |
| 451 uint64_t token_lo, | 455 uint64_t token_lo, |
| 452 uint64_t token_hi, | 456 uint64_t token_hi, |
| 453 IPC::PlatformFileForTransit ipc_fd, | 457 IPC::PlatformFileForTransit ipc_fd, |
| 454 base::FilePath file_path) { | 458 base::FilePath file_path) { |
| 455 resolved_cb_.Run(ipc_fd, file_path); | 459 resolved_cb_.Run(ipc_fd, file_path); |
| 456 resolved_cb_.Reset(); | 460 resolved_cb_.Reset(); |
| 457 } | 461 } |
| OLD | NEW |