Index: ppapi/proxy/ppb_message_loop_proxy.h |
diff --git a/ppapi/proxy/ppb_message_loop_proxy.h b/ppapi/proxy/ppb_message_loop_proxy.h |
index 1613959415148a80f93a828b7cf490b3b952c814..f78c377225409b66dc7566fd7d489a14359c2c93 100644 |
--- a/ppapi/proxy/ppb_message_loop_proxy.h |
+++ b/ppapi/proxy/ppb_message_loop_proxy.h |
@@ -13,6 +13,7 @@ |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/run_loop.h" |
#include "base/single_thread_task_runner.h" |
#include "ppapi/proxy/interface_proxy.h" |
#include "ppapi/proxy/ppapi_proxy_export.h" |
@@ -78,6 +79,9 @@ class PPAPI_PROXY_EXPORT MessageLoopResource : public MessageLoopShared { |
base::SingleThreadTaskRunner* GetTaskRunner() override; |
bool CurrentlyHandlingBlockingMessage() override; |
+ // Quits |run_loop_|. Must be called from the thread that runs the RunLoop. |
+ void QuitRunLoopWhenIdle(); |
+ |
// TLS destructor function. |
static void ReleaseMessageLoop(void* value); |
@@ -88,6 +92,9 @@ class PPAPI_PROXY_EXPORT MessageLoopResource : public MessageLoopShared { |
std::unique_ptr<base::MessageLoop> loop_; |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
+ // RunLoop currently on the stack. |
+ base::RunLoop* run_loop_ = nullptr; |
+ |
// Number of invocations of Run currently on the stack. |
int nested_invocations_; |