| 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 f6cc25227bc3ccfd1219cb984e95751c5e90a3de..20569f76e14c356e331f0bb8229a6258c051a072 100644
|
| --- a/ppapi/proxy/ppb_message_loop_proxy.h
|
| +++ b/ppapi/proxy/ppb_message_loop_proxy.h
|
| @@ -48,6 +48,10 @@ class PPAPI_PROXY_EXPORT MessageLoopResource : public MessageLoopShared {
|
| return loop_proxy_;
|
| }
|
|
|
| + void set_currently_handling_blocking_message(bool handling_blocking_message) {
|
| + currently_handling_blocking_message_ = handling_blocking_message;
|
| + }
|
| +
|
| private:
|
| struct TaskInfo {
|
| tracked_objects::Location from_here;
|
| @@ -58,6 +62,8 @@ class PPAPI_PROXY_EXPORT MessageLoopResource : public MessageLoopShared {
|
| // Returns true if the object is associated with the current thread.
|
| bool IsCurrent() const;
|
|
|
| + // MessageLoopShared implementation.
|
| + //
|
| // Handles posting to the message loop if there is one, or the pending queue
|
| // if there isn't.
|
| // NOTE: The given closure will be run *WITHOUT* acquiring the Proxy lock.
|
| @@ -66,8 +72,8 @@ class PPAPI_PROXY_EXPORT MessageLoopResource : public MessageLoopShared {
|
| virtual void PostClosure(const tracked_objects::Location& from_here,
|
| const base::Closure& closure,
|
| int64 delay_ms) OVERRIDE;
|
| -
|
| virtual base::MessageLoopProxy* GetMessageLoopProxy() OVERRIDE;
|
| + virtual bool CurrentlyHandlingBlockingMessage() OVERRIDE;
|
|
|
| // TLS destructor function.
|
| static void ReleaseMessageLoop(void* value);
|
| @@ -92,6 +98,8 @@ class PPAPI_PROXY_EXPORT MessageLoopResource : public MessageLoopShared {
|
|
|
| bool is_main_thread_loop_;
|
|
|
| + bool currently_handling_blocking_message_;
|
| +
|
| // Since we allow tasks to be posted before the message loop is actually
|
| // created (when it's associated with a thread), we keep tasks posted here
|
| // until that happens. Once the loop_ is created, this is unused.
|
|
|