Chromium Code Reviews| Index: mojo/bindings/js/core.cc |
| diff --git a/mojo/bindings/js/core.cc b/mojo/bindings/js/core.cc |
| index ccabe87787d27544e0d8d149a8b211585dcb87fd..9ab2f19865c31fecc8ec938641b08d60b2988474 100644 |
| --- a/mojo/bindings/js/core.cc |
| +++ b/mojo/bindings/js/core.cc |
| @@ -16,6 +16,7 @@ |
| #include "gin/per_isolate_data.h" |
| #include "gin/public/wrapper_info.h" |
| #include "gin/wrappable.h" |
| +#include "mojo/bindings/js/drain_data.h" |
| #include "mojo/bindings/js/handle.h" |
| namespace mojo { |
| @@ -221,6 +222,18 @@ gin::Dictionary ReadData(const gin::Arguments& args, |
| return dictionary; |
| } |
| +// Asynchronously read all of the data available for the specified data pipe |
| +// consumer handle until the remote handle is closed or an error occurs. A |
| +// Promise is returned whose settled value is an object like this: |
| +// {result: core.RESULT_OK, buffer: dataArrayBuffer}. If the read failed, |
| +// then the Promise is rejected, the result will be the actual error code, |
| +// and the buffer will contain whatever was read before the error occurred. |
| +// The drainData data pipe handle argument is closed automatically. |
| + |
| +v8::Handle<v8::Value> DoDrainData(gin::Arguments* args, mojo::Handle handle) { |
| + return (new DrainData(args->isolate(), handle))->GetPromise(); |
| +} |
| + |
| gin::WrapperInfo g_wrapper_info = { gin::kEmbedderNativeGin }; |
| } // namespace |
| @@ -245,6 +258,7 @@ v8::Local<v8::Value> Core::GetModule(v8::Isolate* isolate) { |
| .SetMethod("createDataPipe", CreateDataPipe) |
| .SetMethod("writeData", WriteData) |
| .SetMethod("readData", ReadData) |
| + .SetMethod("drainData", DoDrainData) |
|
abarth-chromium
2014/09/25 00:01:42
s/DoDrainData/DrainData/ ?
hansmuller
2014/09/25 14:36:35
I didn't want to use the same name for the class a
|
| .SetValue("RESULT_OK", MOJO_RESULT_OK) |
| .SetValue("RESULT_CANCELLED", MOJO_RESULT_CANCELLED) |