Index: components/nacl/loader/nacl_trusted_listener.h |
diff --git a/components/nacl/loader/nacl_trusted_listener.h b/components/nacl/loader/nacl_trusted_listener.h |
index 4819e05f5934562f36c716bf010d6e6ca08313e1..f190ac525c51145344eded1c6b2762c0166c21ce 100644 |
--- a/components/nacl/loader/nacl_trusted_listener.h |
+++ b/components/nacl/loader/nacl_trusted_listener.h |
@@ -6,6 +6,7 @@ |
#define COMPONENTS_NACL_LOADER_NACL_TRUSTED_LISTENER_H_ |
#include "base/memory/ref_counted.h" |
+#include "base/synchronization/waitable_event.h" |
#include "ipc/ipc_channel_handle.h" |
#include "ipc/ipc_channel_proxy.h" |
#include "ipc/ipc_listener.h" |
@@ -30,10 +31,20 @@ class NaClTrustedListener : public base::RefCounted<NaClTrustedListener>, |
bool Send(IPC::Message* msg); |
+ // Flushes tasks on the IPC task runner. This gives the IPC task runner a |
+ // change to send messages if the process is being aborted. |
+ bool FlushIpcTaskRunner(const base::TimeDelta& time); |
+ |
+ static NaClTrustedListener* Get(); |
+ |
private: |
friend class base::RefCounted<NaClTrustedListener>; |
virtual ~NaClTrustedListener(); |
+ void SignalIpcTaskRunnerFlushed(); |
+ |
+ base::SingleThreadTaskRunner* ipc_task_runner_; |
scoped_ptr<IPC::ChannelProxy> channel_proxy_; |
+ base::WaitableEvent waitable_event_; |
DISALLOW_COPY_AND_ASSIGN(NaClTrustedListener); |
}; |