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

Unified Diff: mojo/edk/js/core.cc

Issue 2744943002: Mojo: Move waiting APIs to public library (Closed)
Patch Set: . Created 3 years, 9 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
« no previous file with comments | « mojo/edk/embedder/entrypoints.cc ('k') | mojo/edk/js/tests/js_to_cpp_tests.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/edk/js/core.cc
diff --git a/mojo/edk/js/core.cc b/mojo/edk/js/core.cc
index db9a395402c18022dbcd7fff83f428084361f6e2..baccc4c0d72f304098cad588deb6b2d380362a42 100644
--- a/mojo/edk/js/core.cc
+++ b/mojo/edk/js/core.cc
@@ -21,6 +21,7 @@
#include "gin/wrappable.h"
#include "mojo/edk/js/drain_data.h"
#include "mojo/edk/js/handle.h"
+#include "mojo/public/cpp/system/wait.h"
namespace mojo {
namespace edk {
@@ -51,17 +52,15 @@ gin::Dictionary QueryHandleSignalsState(const gin::Arguments& args,
gin::Dictionary WaitHandle(const gin::Arguments& args,
mojo::Handle handle,
- MojoHandleSignals signals,
- MojoDeadline deadline) {
+ MojoHandleSignals signals) {
v8::Isolate* isolate = args.isolate();
gin::Dictionary dictionary = gin::Dictionary::CreateEmpty(isolate);
MojoHandleSignalsState signals_state;
- MojoResult result = mojo::Wait(handle, signals, deadline, &signals_state);
+ MojoResult result = Wait(handle, signals, &signals_state);
dictionary.Set("result", result);
- mojo::WaitManyResult wmv(result, 0);
- if (!wmv.AreSignalsStatesValid()) {
+ if (result != MOJO_RESULT_OK && result != MOJO_RESULT_FAILED_PRECONDITION) {
dictionary.Set("signalsState", v8::Null(isolate).As<v8::Value>());
} else {
gin::Dictionary signalsStateDict = gin::Dictionary::CreateEmpty(isolate);
@@ -74,40 +73,6 @@ gin::Dictionary WaitHandle(const gin::Arguments& args,
return dictionary;
}
-gin::Dictionary WaitMany(const gin::Arguments& args,
- const std::vector<mojo::Handle>& handles,
- const std::vector<MojoHandleSignals>& signals,
- MojoDeadline deadline) {
- v8::Isolate* isolate = args.isolate();
- gin::Dictionary dictionary = gin::Dictionary::CreateEmpty(isolate);
-
- std::vector<MojoHandleSignalsState> signals_states(signals.size());
- mojo::WaitManyResult wmv =
- mojo::WaitMany(handles, signals, deadline, &signals_states);
- dictionary.Set("result", wmv.result);
- if (wmv.IsIndexValid()) {
- dictionary.Set("index", wmv.index);
- } else {
- dictionary.Set("index", v8::Null(isolate).As<v8::Value>());
- }
- if (wmv.AreSignalsStatesValid()) {
- std::vector<gin::Dictionary> vec;
- for (size_t i = 0; i < handles.size(); ++i) {
- gin::Dictionary signalsStateDict = gin::Dictionary::CreateEmpty(isolate);
- signalsStateDict.Set("satisfiedSignals",
- signals_states[i].satisfied_signals);
- signalsStateDict.Set("satisfiableSignals",
- signals_states[i].satisfiable_signals);
- vec.push_back(signalsStateDict);
- }
- dictionary.Set("signalsState", vec);
- } else {
- dictionary.Set("signalsState", v8::Null(isolate).As<v8::Value>());
- }
-
- return dictionary;
-}
-
gin::Dictionary CreateMessagePipe(const gin::Arguments& args) {
gin::Dictionary dictionary = gin::Dictionary::CreateEmpty(args.isolate());
dictionary.Set("result", MOJO_RESULT_INVALID_ARGUMENT);
@@ -404,7 +369,6 @@ v8::Local<v8::Value> Core::GetModule(v8::Isolate* isolate) {
.SetMethod("close", CloseHandle)
.SetMethod("queryHandleSignalsState", QueryHandleSignalsState)
.SetMethod("wait", WaitHandle)
- .SetMethod("waitMany", WaitMany)
.SetMethod("createMessagePipe", CreateMessagePipe)
.SetMethod("writeMessage", WriteMessage)
.SetMethod("readMessage", ReadMessage)
@@ -439,8 +403,6 @@ v8::Local<v8::Value> Core::GetModule(v8::Isolate* isolate) {
.SetValue("RESULT_BUSY", MOJO_RESULT_BUSY)
.SetValue("RESULT_SHOULD_WAIT", MOJO_RESULT_SHOULD_WAIT)
- .SetValue("DEADLINE_INDEFINITE", MOJO_DEADLINE_INDEFINITE)
-
.SetValue("HANDLE_SIGNAL_NONE", MOJO_HANDLE_SIGNAL_NONE)
.SetValue("HANDLE_SIGNAL_READABLE", MOJO_HANDLE_SIGNAL_READABLE)
.SetValue("HANDLE_SIGNAL_WRITABLE", MOJO_HANDLE_SIGNAL_WRITABLE)
« no previous file with comments | « mojo/edk/embedder/entrypoints.cc ('k') | mojo/edk/js/tests/js_to_cpp_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698