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

Unified Diff: third_party/WebKit/Source/core/mojo/Mojo.idl

Issue 2400563002: Adds Mojo IDL. (Closed)
Patch Set: rebase Created 4 years, 1 month 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/Mojo.idl
diff --git a/third_party/WebKit/Source/core/mojo/Mojo.idl b/third_party/WebKit/Source/core/mojo/Mojo.idl
new file mode 100644
index 0000000000000000000000000000000000000000..fcca210443e70d56087bdf6583e9c566d449b362
--- /dev/null
+++ b/third_party/WebKit/Source/core/mojo/Mojo.idl
@@ -0,0 +1,48 @@
+// 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.
+
+typedef unsigned long MojoResult;
+typedef unsigned long MojoHandleSignals;
+typedef unsigned long MojoCreateMessagePipeOptionsFlags;
+typedef unsigned long MojoWriteMessageFlags;
+typedef unsigned long MojoReadMessageFlags;
+
+callback MojoWatchCallback = void (MojoResult result);
+
+interface Mojo {
jbroman 2016/12/20 23:21:57 Should all of these interfaces have [NoInterfaceOb
alokp 2017/01/09 23:33:09 We do need to install MojoHandle interface so that
jbroman 2017/01/10 20:46:30 1. My main concern here is that I do not want all
alokp 2017/01/11 21:53:01 Is this concern about cluttering the context with
jbroman 2017/01/11 23:00:00 Right, I don't want the interface to be visible in
alokp 2017/01/12 01:20:26 OK - Agreed.
jbroman 2017/01/12 02:21:10 OK, it sounds like esprehn sees this as a "real AP
alokp 2017/01/13 01:07:55 Not sure if it makes any difference. But we also n
+ const MojoResult RESULT_OK = 0;
+ const MojoResult RESULT_CANCELLED = 1;
+ const MojoResult RESULT_UNKNOWN = 2;
+ const MojoResult RESULT_INVALID_ARGUMENT = 3;
+ const MojoResult RESULT_DEADLINE_EXCEEDED = 4;
+ const MojoResult RESULT_NOT_FOUND = 5;
+ const MojoResult RESULT_ALREADY_EXISTS = 6;
+ const MojoResult RESULT_PERMISSION_DENIED = 7;
+ const MojoResult RESULT_RESOURCE_EXHAUSTED = 8;
+ const MojoResult RESULT_FAILED_PRECONDITION = 9;
+ const MojoResult RESULT_ABORTED = 10;
+ const MojoResult RESULT_OUT_OF_RANGE = 11;
+ const MojoResult RESULT_UNIMPLEMENTED = 12;
+ const MojoResult RESULT_INTERNAL = 13;
+ const MojoResult RESULT_UNAVAILABLE = 14;
+ const MojoResult RESULT_DATA_LOSS = 15;
+ const MojoResult RESULT_BUSY = 16;
+ const MojoResult RESULT_SHOULD_WAIT = 17;
+
+ const MojoHandleSignals HANDLE_SIGNAL_NONE = 0;
+ const MojoHandleSignals HANDLE_SIGNAL_READABLE = 1;
+ const MojoHandleSignals HANDLE_SIGNAL_WRITABLE = 2;
+ const MojoHandleSignals HANDLE_SIGNAL_PEER_CLOSED = 4;
+
+ const MojoCreateMessagePipeOptionsFlags CREATE_MESSAGE_PIPE_OPTIONS_FLAG_NONE = 0;
+ const MojoWriteMessageFlags WRITE_MESSAGE_FLAG_NONE = 0;
+ const MojoReadMessageFlags READ_MESSAGE_FLAG_NONE = 0;
+ const MojoReadMessageFlags READ_MESSAGE_FLAG_MAY_DISCARD = 1;
+
+ [CallWith=ScriptState] MojoWatcher watch(MojoHandle handle, MojoHandleSignals signals, MojoWatchCallback callback);
jbroman 2016/12/21 18:09:48 Most of these look like they could be interface me
alokp 2017/01/09 23:33:09 Good idea. Moved watch, read/writeMessage to MojoH
+
+ MojoCreateMessagePipeResult createMessagePipe(MojoCreateMessagePipeOptions options);
+ MojoResult writeMessage(MojoHandle pipe, BufferSource buffer, sequence<MojoHandle> handles, MojoWriteMessageFlags flags);
jbroman 2016/12/21 18:09:48 We can probably reduce type confusion by making a
alokp 2017/01/09 23:33:09 Type of MojoHandle is not available when reading a
jbroman 2017/01/10 20:46:30 interface MojoMessagePipeHandle : MojoHandle {};
alokp 2017/01/11 21:53:01 We do not know the type of handle when they are re
+ MojoReadMessageResult readMessage(MojoHandle pipe, MojoReadMessageFlags flags);
+};

Powered by Google App Engine
This is Rietveld 408576698