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

Side by Side Diff: third_party/WebKit/Source/core/streams/UnderlyingSourceBase.cpp

Issue 1902673003: Reflect recent spec changes to V8 Extra ReadableStream impl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed #18 Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/UnderlyingSourceBase.h" 5 #include "core/streams/UnderlyingSourceBase.h"
6 6
7 #include "bindings/core/v8/ScriptPromise.h" 7 #include "bindings/core/v8/ScriptPromise.h"
8 #include "bindings/core/v8/ScriptState.h" 8 #include "bindings/core/v8/ScriptState.h"
9 #include "bindings/core/v8/ScriptValue.h" 9 #include "bindings/core/v8/ScriptValue.h"
10 #include "core/streams/ReadableStreamController.h" 10 #include "core/streams/ReadableStreamController.h"
11 #include <v8.h> 11 #include <v8.h>
12 12
13 namespace blink { 13 namespace blink {
14 14
15 ScriptPromise UnderlyingSourceBase::startWrapper(ScriptState* scriptState, Scrip tValue stream) 15 ScriptPromise UnderlyingSourceBase::startWrapper(ScriptState* scriptState, Scrip tValue jsController)
16 { 16 {
17 // Cannot call start twice (e.g., cannot use the same UnderlyingSourceBase t o construct multiple streams) 17 // Cannot call start twice (e.g., cannot use the same UnderlyingSourceBase t o construct multiple streams)
18 ASSERT(!m_controller); 18 ASSERT(!m_controller);
19 19
20 // In ReadableStream.js, we special-case externally-controlled streams by ha ving them pass themselves to start 20 m_controller = new ReadableStreamController(jsController);
21 // as the first argument. This allows us to create a ReadableStreamControlle r.
22
23 m_controller = new ReadableStreamController(stream);
24 21
25 return start(scriptState); 22 return start(scriptState);
26 } 23 }
27 24
28 ScriptPromise UnderlyingSourceBase::start(ScriptState* scriptState) 25 ScriptPromise UnderlyingSourceBase::start(ScriptState* scriptState)
29 { 26 {
30 return ScriptPromise::castUndefined(scriptState); 27 return ScriptPromise::castUndefined(scriptState);
31 } 28 }
32 29
33 ScriptPromise UnderlyingSourceBase::pull(ScriptState* scriptState) 30 ScriptPromise UnderlyingSourceBase::pull(ScriptState* scriptState)
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 m_controller.clear(); 68 m_controller.clear();
72 } 69 }
73 70
74 DEFINE_TRACE(UnderlyingSourceBase) 71 DEFINE_TRACE(UnderlyingSourceBase)
75 { 72 {
76 ActiveDOMObject::trace(visitor); 73 ActiveDOMObject::trace(visitor);
77 visitor->trace(m_controller); 74 visitor->trace(m_controller);
78 } 75 }
79 76
80 } // namespace blink 77 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698