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 #ifndef COMPONENTS_NACL_BROKER_NACL_BROKER_LISTENER_H_ | 5 #ifndef COMPONENTS_NACL_BROKER_NACL_BROKER_LISTENER_H_ |
6 #define COMPONENTS_NACL_BROKER_NACL_BROKER_LISTENER_H_ | 6 #define COMPONENTS_NACL_BROKER_NACL_BROKER_LISTENER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/process/process.h" | 13 #include "base/process/process.h" |
| 14 #include "base/run_loop.h" |
14 #include "components/nacl/common/nacl_types.h" | 15 #include "components/nacl/common/nacl_types.h" |
15 #include "content/public/common/sandboxed_process_launcher_delegate.h" | 16 #include "content/public/common/sandboxed_process_launcher_delegate.h" |
16 #include "ipc/ipc_listener.h" | 17 #include "ipc/ipc_listener.h" |
17 | 18 |
18 namespace IPC { | 19 namespace IPC { |
19 class Channel; | 20 class Channel; |
20 } | 21 } |
21 | 22 |
22 // The BrokerThread class represents the thread that handles the messages from | 23 // The BrokerThread class represents the thread that handles the messages from |
23 // the browser process and starts NaCl loader processes. | 24 // the browser process and starts NaCl loader processes. |
(...skipping 13 matching lines...) Expand all Loading... |
37 bool OnMessageReceived(const IPC::Message& msg) override; | 38 bool OnMessageReceived(const IPC::Message& msg) override; |
38 void OnChannelError() override; | 39 void OnChannelError() override; |
39 | 40 |
40 private: | 41 private: |
41 void OnLaunchLoaderThroughBroker(const std::string& loader_channel_id); | 42 void OnLaunchLoaderThroughBroker(const std::string& loader_channel_id); |
42 void OnLaunchDebugExceptionHandler(int32_t pid, | 43 void OnLaunchDebugExceptionHandler(int32_t pid, |
43 base::ProcessHandle process_handle, | 44 base::ProcessHandle process_handle, |
44 const std::string& startup_info); | 45 const std::string& startup_info); |
45 void OnStopBroker(); | 46 void OnStopBroker(); |
46 | 47 |
| 48 base::RunLoop run_loop_; |
47 base::Process browser_process_; | 49 base::Process browser_process_; |
48 std::unique_ptr<IPC::Channel> channel_; | 50 std::unique_ptr<IPC::Channel> channel_; |
49 | 51 |
50 DISALLOW_COPY_AND_ASSIGN(NaClBrokerListener); | 52 DISALLOW_COPY_AND_ASSIGN(NaClBrokerListener); |
51 }; | 53 }; |
52 | 54 |
53 #endif // COMPONENTS_NACL_BROKER_NACL_BROKER_LISTENER_H_ | 55 #endif // COMPONENTS_NACL_BROKER_NACL_BROKER_LISTENER_H_ |
OLD | NEW |