Chromium Code Reviews| 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 "components/nacl/browser/nacl_process_host.h" | 5 #include "components/nacl/browser/nacl_process_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 700 NaClStartParams params; | 700 NaClStartParams params; |
| 701 params.validation_cache_enabled = nacl_browser->ValidationCacheIsEnabled(); | 701 params.validation_cache_enabled = nacl_browser->ValidationCacheIsEnabled(); |
| 702 params.validation_cache_key = nacl_browser->GetValidationCacheKey(); | 702 params.validation_cache_key = nacl_browser->GetValidationCacheKey(); |
| 703 params.version = NaClBrowser::GetDelegate()->GetVersionString(); | 703 params.version = NaClBrowser::GetDelegate()->GetVersionString(); |
| 704 params.enable_exception_handling = enable_exception_handling_; | 704 params.enable_exception_handling = enable_exception_handling_; |
| 705 params.enable_debug_stub = enable_debug_stub_ && | 705 params.enable_debug_stub = enable_debug_stub_ && |
| 706 NaClBrowser::GetDelegate()->URLMatchesDebugPatterns(manifest_url_); | 706 NaClBrowser::GetDelegate()->URLMatchesDebugPatterns(manifest_url_); |
| 707 // Enable PPAPI proxy channel creation only for renderer processes. | 707 // Enable PPAPI proxy channel creation only for renderer processes. |
| 708 params.enable_ipc_proxy = enable_ppapi_proxy(); | 708 params.enable_ipc_proxy = enable_ppapi_proxy(); |
| 709 params.uses_irt = uses_irt_; | 709 params.uses_irt = uses_irt_; |
| 710 params.enable_dyncode_syscalls = enable_dyncode_syscalls_; | 710 params.enable_dyncode_syscalls = enable_dyncode_syscalls_; |
|
Mark Seaborn
2013/12/10 19:56:44
The assignment to params.enable_nonsfi_mode should
hidehiko
2013/12/11 07:56:14
Done.
| |
| 711 | 711 |
| 712 const ChildProcessData& data = process_->GetData(); | 712 const ChildProcessData& data = process_->GetData(); |
| 713 if (!ShareHandleToSelLdr(data.handle, | 713 if (!ShareHandleToSelLdr(data.handle, |
| 714 internal_->socket_for_sel_ldr, true, | 714 internal_->socket_for_sel_ldr, true, |
| 715 ¶ms.handles)) { | 715 ¶ms.handles)) { |
| 716 return false; | 716 return false; |
| 717 } | 717 } |
| 718 | 718 |
| 719 if (params.uses_irt) { | 719 if (params.uses_irt) { |
| 720 base::PlatformFile irt_file = nacl_browser->IrtFile(); | 720 base::PlatformFile irt_file = nacl_browser->IrtFile(); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 752 net::SocketDescriptor server_bound_socket = GetDebugStubSocketHandle(); | 752 net::SocketDescriptor server_bound_socket = GetDebugStubSocketHandle(); |
| 753 if (server_bound_socket != net::kInvalidSocket) { | 753 if (server_bound_socket != net::kInvalidSocket) { |
| 754 params.debug_stub_server_bound_socket = | 754 params.debug_stub_server_bound_socket = |
| 755 FileDescriptor(server_bound_socket, true); | 755 FileDescriptor(server_bound_socket, true); |
| 756 } | 756 } |
| 757 } | 757 } |
| 758 #endif | 758 #endif |
| 759 | 759 |
| 760 process_->Send(new NaClProcessMsg_Start(params)); | 760 process_->Send(new NaClProcessMsg_Start(params)); |
| 761 | 761 |
| 762 params.enable_nonsfi_mode = CommandLine::ForCurrentProcess()->HasSwitch( | |
|
Mark Seaborn
2013/12/10 19:56:44
This is after the message has been sent, so it doe
hidehiko
2013/12/11 07:56:14
Oops... Done.
| |
| 763 switches::kEnableNaClNonSfiMode); | |
| 764 | |
| 762 internal_->socket_for_sel_ldr = NACL_INVALID_HANDLE; | 765 internal_->socket_for_sel_ldr = NACL_INVALID_HANDLE; |
| 763 return true; | 766 return true; |
| 764 } | 767 } |
| 765 | 768 |
| 766 bool NaClProcessHost::SendStart() { | 769 bool NaClProcessHost::SendStart() { |
| 767 if (!enable_ppapi_proxy()) { | 770 if (!enable_ppapi_proxy()) { |
| 768 if (!ReplyToRenderer(IPC::ChannelHandle())) | 771 if (!ReplyToRenderer(IPC::ChannelHandle())) |
| 769 return false; | 772 return false; |
| 770 } | 773 } |
| 771 return StartNaClExecution(); | 774 return StartNaClExecution(); |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1015 process_handle.Take(), info, | 1018 process_handle.Take(), info, |
| 1016 base::MessageLoopProxy::current(), | 1019 base::MessageLoopProxy::current(), |
| 1017 base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker, | 1020 base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker, |
| 1018 weak_factory_.GetWeakPtr())); | 1021 weak_factory_.GetWeakPtr())); |
| 1019 return true; | 1022 return true; |
| 1020 } | 1023 } |
| 1021 } | 1024 } |
| 1022 #endif | 1025 #endif |
| 1023 | 1026 |
| 1024 } // namespace nacl | 1027 } // namespace nacl |
| OLD | NEW |