Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1109)

Side by Side Diff: components/nacl/broker/nacl_broker_listener.cc

Issue 1548113002: Switch to standard integer types in components/, part 2 of 4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: gn Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/broker/nacl_broker_listener.h" 5 #include "components/nacl/broker/nacl_broker_listener.h"
6 6
7 #include "base/base_switches.h" 7 #include "base/base_switches.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/path_service.h" 11 #include "base/path_service.h"
12 #include "base/process/process.h" 12 #include "base/process/process.h"
13 #include "base/process/process_handle.h" 13 #include "base/process/process_handle.h"
14 #include "base/thread_task_runner_handle.h" 14 #include "base/thread_task_runner_handle.h"
15 #include "components/nacl/common/nacl_cmd_line.h" 15 #include "components/nacl/common/nacl_cmd_line.h"
16 #include "components/nacl/common/nacl_debug_exception_handler_win.h" 16 #include "components/nacl/common/nacl_debug_exception_handler_win.h"
17 #include "components/nacl/common/nacl_messages.h" 17 #include "components/nacl/common/nacl_messages.h"
18 #include "components/nacl/common/nacl_switches.h" 18 #include "components/nacl/common/nacl_switches.h"
19 #include "content/public/common/content_switches.h" 19 #include "content/public/common/content_switches.h"
20 #include "content/public/common/sandbox_init.h" 20 #include "content/public/common/sandbox_init.h"
21 #include "ipc/attachment_broker_unprivileged.h" 21 #include "ipc/attachment_broker_unprivileged.h"
22 #include "ipc/ipc_channel.h" 22 #include "ipc/ipc_channel.h"
23 #include "ipc/ipc_switches.h" 23 #include "ipc/ipc_switches.h"
24 #include "sandbox/win/src/sandbox_policy.h" 24 #include "sandbox/win/src/sandbox_policy.h"
25 25
26 namespace { 26 namespace {
27 27
28 void SendReply(IPC::Channel* channel, int32 pid, bool result) { 28 void SendReply(IPC::Channel* channel, int32_t pid, bool result) {
29 channel->Send(new NaClProcessMsg_DebugExceptionHandlerLaunched(pid, result)); 29 channel->Send(new NaClProcessMsg_DebugExceptionHandlerLaunched(pid, result));
30 } 30 }
31 31
32 } // namespace 32 } // namespace
33 33
34 NaClBrokerListener::NaClBrokerListener() { 34 NaClBrokerListener::NaClBrokerListener() {
35 attachment_broker_.reset( 35 attachment_broker_.reset(
36 IPC::AttachmentBrokerUnprivileged::CreateBroker().release()); 36 IPC::AttachmentBrokerUnprivileged::CreateBroker().release());
37 } 37 }
38 38
(...skipping 18 matching lines...) Expand all
57 // Allow the server side of a pipe restricted to the "chrome.nacl." 57 // Allow the server side of a pipe restricted to the "chrome.nacl."
58 // namespace so that it cannot impersonate other system or other chrome 58 // namespace so that it cannot impersonate other system or other chrome
59 // service pipes. 59 // service pipes.
60 sandbox::ResultCode result = policy->AddRule( 60 sandbox::ResultCode result = policy->AddRule(
61 sandbox::TargetPolicy::SUBSYS_NAMED_PIPES, 61 sandbox::TargetPolicy::SUBSYS_NAMED_PIPES,
62 sandbox::TargetPolicy::NAMEDPIPES_ALLOW_ANY, 62 sandbox::TargetPolicy::NAMEDPIPES_ALLOW_ANY,
63 L"\\\\.\\pipe\\chrome.nacl.*"); 63 L"\\\\.\\pipe\\chrome.nacl.*");
64 return result == sandbox::SBOX_ALL_OK; 64 return result == sandbox::SBOX_ALL_OK;
65 } 65 }
66 66
67 void NaClBrokerListener::OnChannelConnected(int32 peer_pid) { 67 void NaClBrokerListener::OnChannelConnected(int32_t peer_pid) {
68 browser_process_ = base::Process::OpenWithExtraPrivileges(peer_pid); 68 browser_process_ = base::Process::OpenWithExtraPrivileges(peer_pid);
69 CHECK(browser_process_.IsValid()); 69 CHECK(browser_process_.IsValid());
70 } 70 }
71 71
72 bool NaClBrokerListener::OnMessageReceived(const IPC::Message& msg) { 72 bool NaClBrokerListener::OnMessageReceived(const IPC::Message& msg) {
73 bool handled = true; 73 bool handled = true;
74 IPC_BEGIN_MESSAGE_MAP(NaClBrokerListener, msg) 74 IPC_BEGIN_MESSAGE_MAP(NaClBrokerListener, msg)
75 IPC_MESSAGE_HANDLER(NaClProcessMsg_LaunchLoaderThroughBroker, 75 IPC_MESSAGE_HANDLER(NaClProcessMsg_LaunchLoaderThroughBroker,
76 OnLaunchLoaderThroughBroker) 76 OnLaunchLoaderThroughBroker)
77 IPC_MESSAGE_HANDLER(NaClProcessMsg_LaunchDebugExceptionHandler, 77 IPC_MESSAGE_HANDLER(NaClProcessMsg_LaunchDebugExceptionHandler,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 browser_process_.Handle(), &loader_handle_in_browser, 121 browser_process_.Handle(), &loader_handle_in_browser,
122 PROCESS_DUP_HANDLE | PROCESS_QUERY_INFORMATION | PROCESS_TERMINATE, 122 PROCESS_DUP_HANDLE | PROCESS_QUERY_INFORMATION | PROCESS_TERMINATE,
123 FALSE, 0); 123 FALSE, 0);
124 } 124 }
125 } 125 }
126 channel_->Send(new NaClProcessMsg_LoaderLaunched(loader_channel_id, 126 channel_->Send(new NaClProcessMsg_LoaderLaunched(loader_channel_id,
127 loader_handle_in_browser)); 127 loader_handle_in_browser));
128 } 128 }
129 129
130 void NaClBrokerListener::OnLaunchDebugExceptionHandler( 130 void NaClBrokerListener::OnLaunchDebugExceptionHandler(
131 int32 pid, base::ProcessHandle process_handle, 131 int32_t pid,
132 base::ProcessHandle process_handle,
132 const std::string& startup_info) { 133 const std::string& startup_info) {
133 NaClStartDebugExceptionHandlerThread( 134 NaClStartDebugExceptionHandlerThread(
134 base::Process(process_handle), startup_info, 135 base::Process(process_handle), startup_info,
135 base::ThreadTaskRunnerHandle::Get(), 136 base::ThreadTaskRunnerHandle::Get(),
136 base::Bind(SendReply, channel_.get(), pid)); 137 base::Bind(SendReply, channel_.get(), pid));
137 } 138 }
138 139
139 void NaClBrokerListener::OnStopBroker() { 140 void NaClBrokerListener::OnStopBroker() {
140 base::MessageLoop::current()->QuitWhenIdle(); 141 base::MessageLoop::current()->QuitWhenIdle();
141 } 142 }
OLDNEW
« no previous file with comments | « components/nacl/broker/nacl_broker_listener.h ('k') | components/nacl/browser/nacl_broker_host_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698