| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "bindings/core/v8/ReadableStreamOperations.h" | 5 #include "bindings/core/v8/ReadableStreamOperations.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
| 8 #include "bindings/core/v8/ScriptState.h" | 8 #include "bindings/core/v8/ScriptState.h" |
| 9 #include "bindings/core/v8/ToV8.h" |
| 9 #include "bindings/core/v8/V8ScriptRunner.h" | 10 #include "bindings/core/v8/V8ScriptRunner.h" |
| 11 #include "core/streams/UnderlyingSourceBase.h" |
| 10 | 12 |
| 11 namespace blink { | 13 namespace blink { |
| 12 | 14 |
| 15 ScriptValue ReadableStreamOperations::createReadableStream(ScriptState* scriptSt
ate, UnderlyingSourceBase* underlyingSource, ScriptValue strategy) |
| 16 { |
| 17 ScriptState::Scope scope(scriptState); |
| 18 |
| 19 v8::Local<v8::Value> jsUnderlyingSource = toV8(underlyingSource, scriptState
); |
| 20 v8::Local<v8::Value> jsStrategy = strategy.v8Value(); |
| 21 v8::Local<v8::Value> args[] = { jsUnderlyingSource, jsStrategy }; |
| 22 v8::Local<v8::Value> jsStream = V8ScriptRunner::callExtraOrCrash(scriptState
, "createReadableStreamWithExternalController", args); |
| 23 |
| 24 return ScriptValue(scriptState, jsStream); |
| 25 } |
| 26 |
| 27 ScriptValue ReadableStreamOperations::createCountQueuingStrategy(ScriptState* sc
riptState, size_t highWaterMark) |
| 28 { |
| 29 ScriptState::Scope scope(scriptState); |
| 30 |
| 31 v8::Local<v8::Value> args[] = { v8::Number::New(scriptState->isolate(), high
WaterMark) }; |
| 32 v8::Local<v8::Value> jsStrategy = V8ScriptRunner::callExtraOrCrash(scriptSta
te, "createBuiltInCountQueuingStrategy", args); |
| 33 |
| 34 return ScriptValue(scriptState, jsStrategy); |
| 35 } |
| 36 |
| 13 ScriptValue ReadableStreamOperations::getReader(ScriptState* scriptState, Script
Value stream, ExceptionState& es) | 37 ScriptValue ReadableStreamOperations::getReader(ScriptState* scriptState, Script
Value stream, ExceptionState& es) |
| 14 { | 38 { |
| 15 ASSERT(isReadableStream(scriptState, stream)); | 39 ASSERT(isReadableStream(scriptState, stream)); |
| 16 | 40 |
| 17 v8::TryCatch block(scriptState->isolate()); | 41 v8::TryCatch block(scriptState->isolate()); |
| 18 v8::Local<v8::Value> args[] = { stream.v8Value() }; | 42 v8::Local<v8::Value> args[] = { stream.v8Value() }; |
| 19 ScriptValue result(scriptState, V8ScriptRunner::callExtra(scriptState, "Acqu
ireReadableStreamReader", args)); | 43 ScriptValue result(scriptState, V8ScriptRunner::callExtra(scriptState, "Acqu
ireReadableStreamReader", args)); |
| 20 if (block.HasCaught()) | 44 if (block.HasCaught()) |
| 21 es.rethrowV8Exception(block.Exception()); | 45 es.rethrowV8Exception(block.Exception()); |
| 22 return result; | 46 return result; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 ScriptPromise ReadableStreamOperations::read(ScriptState* scriptState, ScriptVal
ue reader) | 87 ScriptPromise ReadableStreamOperations::read(ScriptState* scriptState, ScriptVal
ue reader) |
| 64 { | 88 { |
| 65 ASSERT(isReadableStreamReader(scriptState, reader)); | 89 ASSERT(isReadableStreamReader(scriptState, reader)); |
| 66 | 90 |
| 67 v8::Local<v8::Value> args[] = { reader.v8Value() }; | 91 v8::Local<v8::Value> args[] = { reader.v8Value() }; |
| 68 return ScriptPromise::cast(scriptState, V8ScriptRunner::callExtraOrCrash(scr
iptState, "ReadFromReadableStreamReader", args)); | 92 return ScriptPromise::cast(scriptState, V8ScriptRunner::callExtraOrCrash(scr
iptState, "ReadFromReadableStreamReader", args)); |
| 69 } | 93 } |
| 70 | 94 |
| 71 } // namespace blink | 95 } // namespace blink |
| 72 | 96 |
| OLD | NEW |