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 "core/streams/ReadableStreamOperations.h" | 5 #include "core/streams/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/ToV8.h" |
10 #include "bindings/core/v8/V8ScriptRunner.h" | 10 #include "bindings/core/v8/V8ScriptRunner.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 } | 28 } |
29 | 29 |
30 ScriptValue ReadableStreamOperations::createCountQueuingStrategy( | 30 ScriptValue ReadableStreamOperations::createCountQueuingStrategy( |
31 ScriptState* scriptState, | 31 ScriptState* scriptState, |
32 size_t highWaterMark) { | 32 size_t highWaterMark) { |
33 ScriptState::Scope scope(scriptState); | 33 ScriptState::Scope scope(scriptState); |
34 | 34 |
35 v8::Local<v8::Value> args[] = { | 35 v8::Local<v8::Value> args[] = { |
36 v8::Number::New(scriptState->isolate(), highWaterMark)}; | 36 v8::Number::New(scriptState->isolate(), highWaterMark)}; |
37 return ScriptValue( | 37 return ScriptValue( |
38 scriptState, V8ScriptRunner::callExtraOrCrash( | 38 scriptState, |
39 scriptState, "createBuiltInCountQueuingStrategy", args)); | 39 V8ScriptRunner::callExtraOrCrash( |
| 40 scriptState, "createBuiltInCountQueuingStrategy", args)); |
40 } | 41 } |
41 | 42 |
42 ScriptValue ReadableStreamOperations::getReader(ScriptState* scriptState, | 43 ScriptValue ReadableStreamOperations::getReader(ScriptState* scriptState, |
43 ScriptValue stream, | 44 ScriptValue stream, |
44 ExceptionState& es) { | 45 ExceptionState& es) { |
45 ASSERT(isReadableStream(scriptState, stream)); | 46 ASSERT(isReadableStream(scriptState, stream)); |
46 | 47 |
47 v8::TryCatch block(scriptState->isolate()); | 48 v8::TryCatch block(scriptState->isolate()); |
48 v8::Local<v8::Value> args[] = {stream.v8Value()}; | 49 v8::Local<v8::Value> args[] = {stream.v8Value()}; |
49 ScriptValue result( | 50 ScriptValue result( |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 ->Value(); | 139 ->Value(); |
139 } | 140 } |
140 | 141 |
141 ScriptPromise ReadableStreamOperations::defaultReaderRead( | 142 ScriptPromise ReadableStreamOperations::defaultReaderRead( |
142 ScriptState* scriptState, | 143 ScriptState* scriptState, |
143 ScriptValue reader) { | 144 ScriptValue reader) { |
144 ASSERT(isReadableStreamDefaultReader(scriptState, reader)); | 145 ASSERT(isReadableStreamDefaultReader(scriptState, reader)); |
145 | 146 |
146 v8::Local<v8::Value> args[] = {reader.v8Value()}; | 147 v8::Local<v8::Value> args[] = {reader.v8Value()}; |
147 return ScriptPromise::cast( | 148 return ScriptPromise::cast( |
148 scriptState, V8ScriptRunner::callExtraOrCrash( | 149 scriptState, |
149 scriptState, "ReadableStreamDefaultReaderRead", args)); | 150 V8ScriptRunner::callExtraOrCrash( |
| 151 scriptState, "ReadableStreamDefaultReaderRead", args)); |
150 } | 152 } |
151 | 153 |
152 void ReadableStreamOperations::tee(ScriptState* scriptState, | 154 void ReadableStreamOperations::tee(ScriptState* scriptState, |
153 ScriptValue stream, | 155 ScriptValue stream, |
154 ScriptValue* newStream1, | 156 ScriptValue* newStream1, |
155 ScriptValue* newStream2) { | 157 ScriptValue* newStream2) { |
156 DCHECK(isReadableStream(scriptState, stream)); | 158 DCHECK(isReadableStream(scriptState, stream)); |
157 DCHECK(!isLocked(scriptState, stream)); | 159 DCHECK(!isLocked(scriptState, stream)); |
158 | 160 |
159 v8::Local<v8::Value> args[] = {stream.v8Value()}; | 161 v8::Local<v8::Value> args[] = {stream.v8Value()}; |
160 | 162 |
161 ScriptValue result(scriptState, V8ScriptRunner::callExtraOrCrash( | 163 ScriptValue result( |
162 scriptState, "ReadableStreamTee", args)); | 164 scriptState, |
| 165 V8ScriptRunner::callExtraOrCrash(scriptState, "ReadableStreamTee", args)); |
163 DCHECK(result.v8Value()->IsArray()); | 166 DCHECK(result.v8Value()->IsArray()); |
164 v8::Local<v8::Array> branches = result.v8Value().As<v8::Array>(); | 167 v8::Local<v8::Array> branches = result.v8Value().As<v8::Array>(); |
165 DCHECK_EQ(2u, branches->Length()); | 168 DCHECK_EQ(2u, branches->Length()); |
166 | 169 |
167 *newStream1 = ScriptValue( | 170 *newStream1 = ScriptValue( |
168 scriptState, branches->Get(scriptState->context(), 0).ToLocalChecked()); | 171 scriptState, branches->Get(scriptState->context(), 0).ToLocalChecked()); |
169 *newStream2 = ScriptValue( | 172 *newStream2 = ScriptValue( |
170 scriptState, branches->Get(scriptState->context(), 1).ToLocalChecked()); | 173 scriptState, branches->Get(scriptState->context(), 1).ToLocalChecked()); |
171 | 174 |
172 DCHECK(isReadableStream(scriptState, *newStream1)); | 175 DCHECK(isReadableStream(scriptState, *newStream1)); |
173 DCHECK(isReadableStream(scriptState, *newStream2)); | 176 DCHECK(isReadableStream(scriptState, *newStream2)); |
174 } | 177 } |
175 | 178 |
176 } // namespace blink | 179 } // namespace blink |
OLD | NEW |