OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 MOJO_BINDINGS_JS_WAITING_CALLBACK_H_ | 5 #ifndef MOJO_BINDINGS_JS_WAITING_CALLBACK_H_ |
6 #define MOJO_BINDINGS_JS_WAITING_CALLBACK_H_ | 6 #define MOJO_BINDINGS_JS_WAITING_CALLBACK_H_ |
7 | 7 |
8 #include "gin/handle.h" | 8 #include "gin/handle.h" |
9 #include "gin/runner.h" | 9 #include "gin/runner.h" |
10 #include "gin/wrappable.h" | 10 #include "gin/wrappable.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 | 30 |
31 // Cancels the callback. Does nothing if a callback is not pending. This is | 31 // Cancels the callback. Does nothing if a callback is not pending. This is |
32 // implicitly invoked from the destructor but can be explicitly invoked as | 32 // implicitly invoked from the destructor but can be explicitly invoked as |
33 // necessary. | 33 // necessary. |
34 void Cancel(); | 34 void Cancel(); |
35 | 35 |
36 private: | 36 private: |
37 WaitingCallback(v8::Isolate* isolate, | 37 WaitingCallback(v8::Isolate* isolate, |
38 v8::Handle<v8::Function> callback, | 38 v8::Handle<v8::Function> callback, |
39 gin::Handle<HandleWrapper> handle_wrapper); | 39 gin::Handle<HandleWrapper> handle_wrapper); |
40 virtual ~WaitingCallback(); | 40 ~WaitingCallback() override; |
41 | 41 |
42 // Callback from MojoAsyncWaiter. |closure| is the WaitingCallback. | 42 // Callback from MojoAsyncWaiter. |closure| is the WaitingCallback. |
43 static void CallOnHandleReady(void* closure, MojoResult result); | 43 static void CallOnHandleReady(void* closure, MojoResult result); |
44 | 44 |
45 // Invoked from CallOnHandleReady() (CallOnHandleReady() must be static). | 45 // Invoked from CallOnHandleReady() (CallOnHandleReady() must be static). |
46 void OnHandleReady(MojoResult result); | 46 void OnHandleReady(MojoResult result); |
47 | 47 |
48 // Invoked by the HandleWrapper if the handle is closed while this wait is | 48 // Invoked by the HandleWrapper if the handle is closed while this wait is |
49 // still in progress. | 49 // still in progress. |
50 virtual void OnWillCloseHandle() override; | 50 void OnWillCloseHandle() override; |
51 | 51 |
52 base::WeakPtr<gin::Runner> runner_; | 52 base::WeakPtr<gin::Runner> runner_; |
53 MojoAsyncWaitID wait_id_; | 53 MojoAsyncWaitID wait_id_; |
54 | 54 |
55 HandleWrapper* handle_wrapper_; | 55 HandleWrapper* handle_wrapper_; |
56 | 56 |
57 DISALLOW_COPY_AND_ASSIGN(WaitingCallback); | 57 DISALLOW_COPY_AND_ASSIGN(WaitingCallback); |
58 }; | 58 }; |
59 | 59 |
60 } // namespace js | 60 } // namespace js |
61 } // namespace mojo | 61 } // namespace mojo |
62 | 62 |
63 #endif // MOJO_BINDINGS_JS_WAITING_CALLBACK_H_ | 63 #endif // MOJO_BINDINGS_JS_WAITING_CALLBACK_H_ |
OLD | NEW |