Index: mojo/bindings/js/waiting_callback.h |
diff --git a/mojo/bindings/js/waiting_callback.h b/mojo/bindings/js/waiting_callback.h |
index 90cf28425459f9216fe0e24fecc40563e811f825..2bc1589d2d2fa15014b1aca59d0fb21efbe43d02 100644 |
--- a/mojo/bindings/js/waiting_callback.h |
+++ b/mojo/bindings/js/waiting_callback.h |
@@ -9,6 +9,7 @@ |
#include "gin/runner.h" |
#include "gin/wrappable.h" |
#include "mojo/public/c/environment/async_waiter.h" |
+#include "mojo/public/cpp/system/core.h" |
namespace mojo { |
namespace js { |
@@ -17,24 +18,26 @@ class WaitingCallback : public gin::Wrappable<WaitingCallback> { |
public: |
static gin::WrapperInfo kWrapperInfo; |
+ // Creates a new WaitingCallback. |
static gin::Handle<WaitingCallback> Create( |
- v8::Isolate* isolate, v8::Handle<v8::Function> callback); |
+ v8::Isolate* isolate, |
+ v8::Handle<v8::Function> callback, |
+ mojo::Handle handle, |
+ MojoWaitFlags flags); |
- MojoAsyncWaitID wait_id() const { |
- return wait_id_; |
- } |
- |
- void set_wait_id(MojoAsyncWaitID wait_id) { |
- wait_id_ = wait_id; |
- } |
- |
- // MojoAsyncWaitCallback |
- static void CallOnHandleReady(void* closure, MojoResult result); |
+ // Cancels the callback. Does nothing if a callback is not pending. This is |
+ // implicitly invoked from the destructor but can be explicitly invoked as |
+ // necessary. |
+ void Cancel(); |
private: |
WaitingCallback(v8::Isolate* isolate, v8::Handle<v8::Function> callback); |
virtual ~WaitingCallback(); |
+ // Callback from MojoAsyncWaiter. |closure| is the WaitingCallback. |
+ static void CallOnHandleReady(void* closure, MojoResult result); |
+ |
+ // Invoked from CallOnHandleReady() (CallOnHandleReady() must be static). |
void OnHandleReady(MojoResult result); |
base::WeakPtr<gin::Runner> runner_; |