Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: third_party/WebKit/Source/core/mojo/MojoHandleWatcher.h

Issue 2400563002: Adds Mojo IDL. (Closed)
Patch Set: implements messagepipe Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/mojo/MojoHandleWatcher.h
diff --git a/third_party/WebKit/Source/core/mojo/MojoHandleWatcher.h b/third_party/WebKit/Source/core/mojo/MojoHandleWatcher.h
new file mode 100644
index 0000000000000000000000000000000000000000..ba2bccf5f59b0a98b44ab2c25158a69e799f869e
--- /dev/null
+++ b/third_party/WebKit/Source/core/mojo/MojoHandleWatcher.h
@@ -0,0 +1,42 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef MojoHandleWatcher_h
+#define MojoHandleWatcher_h
+
+#include "mojo/public/c/system/core.h"
+#include "wtf/Functional.h"
+
+namespace blink {
+
+class WebTaskRunner;
+
+class MojoHandleWatcher {
+ public:
+ using ReadyCallback = WTF::Function<void(MojoResult)>;
+
+ MojoHandleWatcher(WebTaskRunner*);
+ ~MojoHandleWatcher();
+
+ MojoResult start(MojoHandle,
+ MojoHandleSignals,
+ std::unique_ptr<ReadyCallback>);
+ void cancel();
+
+ private:
+ class RunReadyCallbackTask;
+ static void onHandleReady(uintptr_t,
+ MojoResult,
+ MojoHandleSignalsState,
+ MojoWatchNotificationFlags);
+ void runReadyCallback(MojoResult);
+
+ WebTaskRunner* m_taskRunner;
Ken Rockot(use gerrit already) 2016/10/18 15:47:10 nit: WebTaskRunner* const to guarantee m_taskRunne
alokp 2016/10/18 16:48:37 Done.
+ MojoHandle m_handle;
+ std::unique_ptr<ReadyCallback> m_callback;
+};
+
+} // namespace blink
+
+#endif // MojoHandleWatcher_h

Powered by Google App Engine
This is Rietveld 408576698