| 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)
|
|
|