Index: components/nacl/browser/nacl_process_host.cc |
diff --git a/chrome/browser/nacl_host/nacl_process_host.cc b/components/nacl/browser/nacl_process_host.cc |
similarity index 94% |
rename from chrome/browser/nacl_host/nacl_process_host.cc |
rename to components/nacl/browser/nacl_process_host.cc |
index 530ebbb50318b7ab873e46560581e670801946ad..565a0d547cd9556a3a9d595ac202cbc451604d49 100644 |
--- a/chrome/browser/nacl_host/nacl_process_host.cc |
+++ b/components/nacl/browser/nacl_process_host.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/nacl_host/nacl_process_host.h" |
+#include "components/nacl/browser/nacl_process_host.h" |
#include <algorithm> |
#include <string> |
@@ -25,9 +25,8 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "base/win/windows_version.h" |
#include "build/build_config.h" |
-#include "chrome/browser/nacl_host/nacl_host_message_filter.h" |
-#include "chrome/common/chrome_switches.h" |
#include "components/nacl/browser/nacl_browser.h" |
+#include "components/nacl/browser/nacl_host_message_filter.h" |
#include "components/nacl/common/nacl_cmd_line.h" |
#include "components/nacl/common/nacl_host_messages.h" |
#include "components/nacl/common/nacl_messages.h" |
@@ -58,7 +57,7 @@ |
#include "base/threading/thread.h" |
#include "base/win/scoped_handle.h" |
-#include "chrome/browser/nacl_host/nacl_broker_service_win.h" |
+#include "components/nacl/browser/nacl_broker_service_win.h" |
#include "components/nacl/common/nacl_debug_exception_handler_win.h" |
#include "content/public/common/sandbox_init.h" |
#include "content/public/common/sandboxed_process_launcher_delegate.h" |
@@ -200,6 +199,8 @@ ppapi::PpapiPermissions GetNaClPermissions(uint32 permission_bits) { |
} // namespace |
+namespace nacl { |
+ |
struct NaClProcessHost::NaClInternal { |
NaClHandle socket_for_renderer; |
NaClHandle socket_for_sel_ldr; |
@@ -271,7 +272,7 @@ NaClProcessHost::~NaClProcessHost() { |
base::StringPrintf("NaCl process exited with status %i (0x%x)", |
exit_code, exit_code); |
if (exit_code == 0) { |
- LOG(INFO) << message; |
+ VLOG(1) << message; |
Mark Seaborn
2013/11/22 20:41:48
Why are you changing this? Please undo this chang
|
} else { |
LOG(ERROR) << message; |
} |
@@ -306,18 +307,18 @@ void NaClProcessHost::OnProcessCrashed(int exit_status) { |
if (enable_crash_throttling_ && |
!CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kDisablePnaclCrashThrottling)) { |
- nacl::NaClBrowser::GetInstance()->OnProcessCrashed(); |
+ NaClBrowser::GetInstance()->OnProcessCrashed(); |
} |
} |
// This is called at browser startup. |
// static |
void NaClProcessHost::EarlyStartup() { |
- nacl::NaClBrowser::GetInstance()->EarlyStartup(); |
+ NaClBrowser::GetInstance()->EarlyStartup(); |
#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
// Open the IRT file early to make sure that it isn't replaced out from |
// under us by autoupdate. |
- nacl::NaClBrowser::GetInstance()->EnsureIrtAvailable(); |
+ NaClBrowser::GetInstance()->EnsureIrtAvailable(); |
#endif |
CommandLine* cmd = CommandLine::ForCurrentProcess(); |
UMA_HISTOGRAM_BOOLEAN( |
@@ -329,7 +330,7 @@ void NaClProcessHost::EarlyStartup() { |
UMA_HISTOGRAM_BOOLEAN( |
"NaCl.enable-nacl-debug", |
cmd->HasSwitch(switches::kEnableNaClDebug)); |
- nacl::NaClBrowser::GetDelegate()->SetDebugPatterns( |
+ NaClBrowser::GetDelegate()->SetDebugPatterns( |
cmd->GetSwitchValueASCII(switches::kNaClDebugMask)); |
} |
@@ -346,7 +347,7 @@ void NaClProcessHost::Launch( |
if (enable_crash_throttling_ && |
!CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kDisablePnaclCrashThrottling) && |
- nacl::NaClBrowser::GetInstance()->IsThrottled()) { |
+ NaClBrowser::GetInstance()->IsThrottled()) { |
SendErrorToRenderer("Process creation was throttled due to excessive" |
" crashes"); |
delete this; |
@@ -371,7 +372,7 @@ void NaClProcessHost::Launch( |
// Start getting the IRT open asynchronously while we launch the NaCl process. |
// We'll make sure this actually finished in StartWithLaunchedProcess, below. |
- nacl::NaClBrowser* nacl_browser = nacl::NaClBrowser::GetInstance(); |
+ NaClBrowser* nacl_browser = NaClBrowser::GetInstance(); |
nacl_browser->EnsureAllResourcesAvailable(); |
if (!nacl_browser->IsOk()) { |
SendErrorToRenderer("could not find all the resources needed" |
@@ -450,7 +451,7 @@ bool NaClProcessHost::LaunchNaClGdb() { |
#endif |
cmd_line.AppendArg("--eval-command"); |
base::FilePath::StringType irt_path( |
- nacl::NaClBrowser::GetInstance()->GetIrtFilePath().value()); |
+ NaClBrowser::GetInstance()->GetIrtFilePath().value()); |
// Avoid back slashes because nacl-gdb uses posix escaping rules on Windows. |
// See issue https://code.google.com/p/nativeclient/issues/detail?id=3482. |
std::replace(irt_path.begin(), irt_path.end(), '\\', '/'); |
@@ -512,7 +513,7 @@ bool NaClProcessHost::LaunchSelLdr() { |
#if defined(OS_WIN) |
// On Windows 64-bit NaCl loader is called nacl64.exe instead of chrome.exe |
if (RunningOnWOW64()) { |
- if (!nacl::NaClBrowser::GetInstance()->GetNaCl64ExePath(&exe_path)) { |
+ if (!NaClBrowser::GetInstance()->GetNaCl64ExePath(&exe_path)) { |
SendErrorToRenderer("could not get path to nacl64.exe"); |
return false; |
} |
@@ -520,12 +521,12 @@ bool NaClProcessHost::LaunchSelLdr() { |
#endif |
scoped_ptr<CommandLine> cmd_line(new CommandLine(exe_path)); |
- nacl::CopyNaClCommandLineArguments(cmd_line.get()); |
+ CopyNaClCommandLineArguments(cmd_line.get()); |
cmd_line->AppendSwitchASCII(switches::kProcessType, |
switches::kNaClLoaderProcess); |
cmd_line->AppendSwitchASCII(switches::kProcessChannelID, channel_id); |
- if (nacl::NaClBrowser::GetDelegate()->DialogsAreSuppressed()) |
+ if (NaClBrowser::GetDelegate()->DialogsAreSuppressed()) |
cmd_line->AppendSwitch(switches::kNoErrorDialogs); |
if (!nacl_loader_prefix.empty()) |
@@ -579,7 +580,7 @@ void NaClProcessHost::OnProcessLaunched() { |
// Called when the NaClBrowser singleton has been fully initialized. |
void NaClProcessHost::OnResourcesReady() { |
- nacl::NaClBrowser* nacl_browser = nacl::NaClBrowser::GetInstance(); |
+ NaClBrowser* nacl_browser = NaClBrowser::GetInstance(); |
if (!nacl_browser->IsReady()) { |
SendErrorToRenderer("could not acquire shared resources needed by NaCl"); |
delete this; |
@@ -604,7 +605,7 @@ bool NaClProcessHost::ReplyToRenderer( |
} |
#endif |
- nacl::FileDescriptor handle_for_renderer; |
+ FileDescriptor handle_for_renderer; |
#if defined(OS_WIN) |
// Copy the handle into the renderer process. |
HANDLE handle_in_renderer; |
@@ -619,12 +620,12 @@ bool NaClProcessHost::ReplyToRenderer( |
SendErrorToRenderer("DuplicateHandle() failed"); |
return false; |
} |
- handle_for_renderer = reinterpret_cast<nacl::FileDescriptor>( |
+ handle_for_renderer = reinterpret_cast<FileDescriptor>( |
handle_in_renderer); |
#else |
// No need to dup the imc_handle - we don't pass it anywhere else so |
// it cannot be closed. |
- nacl::FileDescriptor imc_handle; |
+ FileDescriptor imc_handle; |
imc_handle.fd = internal_->socket_for_renderer; |
imc_handle.auto_close = true; |
handle_for_renderer = imc_handle; |
@@ -632,7 +633,7 @@ bool NaClProcessHost::ReplyToRenderer( |
const ChildProcessData& data = process_->GetData(); |
SendMessageToRenderer( |
- nacl::NaClLaunchResult(handle_for_renderer, |
+ NaClLaunchResult(handle_for_renderer, |
channel_handle, |
base::GetProcId(data.handle), |
data.id), |
@@ -643,11 +644,11 @@ bool NaClProcessHost::ReplyToRenderer( |
void NaClProcessHost::SendErrorToRenderer(const std::string& error_message) { |
LOG(ERROR) << "NaCl process launch failed: " << error_message; |
- SendMessageToRenderer(nacl::NaClLaunchResult(), error_message); |
+ SendMessageToRenderer(NaClLaunchResult(), error_message); |
} |
void NaClProcessHost::SendMessageToRenderer( |
- const nacl::NaClLaunchResult& result, |
+ const NaClLaunchResult& result, |
const std::string& error_message) { |
DCHECK(nacl_host_message_filter_); |
DCHECK(reply_msg_); |
@@ -665,7 +666,7 @@ static const int kDebugStubPort = 4014; |
#if defined(OS_POSIX) |
net::SocketDescriptor NaClProcessHost::GetDebugStubSocketHandle() { |
- nacl::NaClBrowser* nacl_browser = nacl::NaClBrowser::GetInstance(); |
+ NaClBrowser* nacl_browser = NaClBrowser::GetInstance(); |
net::SocketDescriptor s = net::kInvalidSocket; |
// We allocate currently unused TCP port for debug stub tests. The port |
// number is passed to the test via debug stub port listener. |
@@ -693,15 +694,15 @@ net::SocketDescriptor NaClProcessHost::GetDebugStubSocketHandle() { |
#endif |
bool NaClProcessHost::StartNaClExecution() { |
- nacl::NaClBrowser* nacl_browser = nacl::NaClBrowser::GetInstance(); |
+ NaClBrowser* nacl_browser = NaClBrowser::GetInstance(); |
- nacl::NaClStartParams params; |
+ NaClStartParams params; |
params.validation_cache_enabled = nacl_browser->ValidationCacheIsEnabled(); |
params.validation_cache_key = nacl_browser->GetValidationCacheKey(); |
- params.version = nacl::NaClBrowser::GetDelegate()->GetVersionString(); |
+ params.version = NaClBrowser::GetDelegate()->GetVersionString(); |
params.enable_exception_handling = enable_exception_handling_; |
params.enable_debug_stub = enable_debug_stub_ && |
- nacl::NaClBrowser::GetDelegate()->URLMatchesDebugPatterns(manifest_url_); |
+ NaClBrowser::GetDelegate()->URLMatchesDebugPatterns(manifest_url_); |
// Enable PPAPI proxy channel creation only for renderer processes. |
params.enable_ipc_proxy = enable_ppapi_proxy(); |
params.uses_irt = uses_irt_; |
@@ -735,7 +736,7 @@ bool NaClProcessHost::StartNaClExecution() { |
DLOG(ERROR) << "Failed to allocate memory buffer"; |
return false; |
} |
- nacl::FileDescriptor memory_fd; |
+ FileDescriptor memory_fd; |
memory_fd.fd = dup(memory_buffer.handle().fd); |
if (memory_fd.fd < 0) { |
DLOG(ERROR) << "Failed to dup() a file descriptor"; |
@@ -750,7 +751,7 @@ bool NaClProcessHost::StartNaClExecution() { |
net::SocketDescriptor server_bound_socket = GetDebugStubSocketHandle(); |
if (server_bound_socket != net::kInvalidSocket) { |
params.debug_stub_server_bound_socket = |
- nacl::FileDescriptor(server_bound_socket, true); |
+ FileDescriptor(server_bound_socket, true); |
} |
} |
#endif |
@@ -813,7 +814,7 @@ void NaClProcessHost::OnPpapiChannelCreated( |
ppapi_host_->GetPpapiHost()->AddHostFactoryFilter( |
scoped_ptr<ppapi::host::HostFactory>( |
- nacl::NaClBrowser::GetDelegate()->CreatePpapiHostFactory( |
+ NaClBrowser::GetDelegate()->CreatePpapiHostFactory( |
ppapi_host_.get()))); |
// Send a message to create the NaCl-Renderer channel. The handle is just |
@@ -847,7 +848,7 @@ bool NaClProcessHost::OnUntrustedMessageForwarded(const IPC::Message& msg) { |
} |
bool NaClProcessHost::StartWithLaunchedProcess() { |
- nacl::NaClBrowser* nacl_browser = nacl::NaClBrowser::GetInstance(); |
+ NaClBrowser* nacl_browser = NaClBrowser::GetInstance(); |
if (nacl_browser->IsReady()) { |
return SendStart(); |
@@ -864,12 +865,12 @@ bool NaClProcessHost::StartWithLaunchedProcess() { |
void NaClProcessHost::OnQueryKnownToValidate(const std::string& signature, |
bool* result) { |
- nacl::NaClBrowser* nacl_browser = nacl::NaClBrowser::GetInstance(); |
+ NaClBrowser* nacl_browser = NaClBrowser::GetInstance(); |
*result = nacl_browser->QueryKnownToValidate(signature, off_the_record_); |
} |
void NaClProcessHost::OnSetKnownToValidate(const std::string& signature) { |
- nacl::NaClBrowser::GetInstance()->SetKnownToValidate( |
+ NaClBrowser::GetInstance()->SetKnownToValidate( |
signature, off_the_record_); |
} |
@@ -922,7 +923,7 @@ void NaClProcessHost::OnResolveFileToken(uint64 file_token_lo, |
// TODO(ncbray): track behavior with UMA. If entries are getting evicted or |
// bogus keys are getting queried, this would be good to know. |
base::FilePath file_path; |
- if (!nacl::NaClBrowser::GetInstance()->GetFilePath( |
+ if (!NaClBrowser::GetInstance()->GetFilePath( |
file_token_lo, file_token_hi, &file_path)) { |
NaClProcessMsg_ResolveFileToken::WriteReplyParams( |
reply_msg, |
@@ -938,7 +939,7 @@ void NaClProcessHost::OnResolveFileToken(uint64 file_token_lo, |
// Open the file. |
if (!content::BrowserThread::PostBlockingPoolTaskAndReply( |
FROM_HERE, |
- base::Bind(nacl::OpenNaClExecutableImpl, |
+ base::Bind(OpenNaClExecutableImpl, |
file_path, data), |
base::Bind(&NaClProcessHost::FileResolved, |
weak_factory_.GetWeakPtr(), |
@@ -1021,3 +1022,5 @@ bool NaClProcessHost::AttachDebugExceptionHandler(const std::string& info, |
} |
} |
#endif |
+ |
+} // namespace nacl |