Chromium Code Reviews| Index: Source/core/streams/UnderlyingSourceBase.h |
| diff --git a/Source/core/streams/UnderlyingSourceBase.h b/Source/core/streams/UnderlyingSourceBase.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6e178f279e8abd09b2ccbce3b59631d2496f5614 |
| --- /dev/null |
| +++ b/Source/core/streams/UnderlyingSourceBase.h |
| @@ -0,0 +1,38 @@ |
| +#ifndef UnderlyingSourceBase_h |
| +#define UnderlyingSourceBase_h |
| + |
| +#include "bindings/core/v8/ScriptPromise.h" |
| +#include "bindings/core/v8/ScriptValue.h" |
| +#include "bindings/core/v8/ScriptWrappable.h" |
| +#include "core/CoreExport.h" |
| +#include "core/streams/ReadableStreamController.h" |
| + |
| +namespace blink { |
| + |
| +// TODO do we need ActiveDOMObject?? |
| + |
| +class CORE_EXPORT UnderlyingSourceBase : public GarbageCollectedFinalized<UnderlyingSourceBase>, public ScriptWrappable { |
| + DEFINE_WRAPPERTYPEINFO(); |
| + |
| +public: |
| + ScriptPromise startWrapper(ScriptState*, ScriptValue stream); |
| + virtual ScriptPromise start(ScriptState*); |
| + virtual ScriptPromise pull(ScriptState*); |
| + virtual ScriptPromise cancel(ScriptState*, ScriptValue reason); |
| + |
| + DECLARE_VIRTUAL_TRACE(); |
| + |
| +protected: |
| + // TODO is a reference a good idea? |
| + ReadableStreamController& controller() const { return *m_controller; } |
| + |
| +private: |
| + // TODO should be using a smart pointer of some sort ... Member<>? Persistent<>? RefPtr<>? |
| + // ReadableStreamController is not GarbageCollectedFinalized<>... if we made it so, how do we handle it |
| + // containing a ScriptValue? |
| + ReadableStreamController* m_controller; |
|
yhirano
2015/06/12 03:40:59
Can we have a controller of type ReadableStreamCon
|
| +}; |
| + |
| +} // namespace blink |
| + |
| +#endif UnderlyingSourceBase_h |