1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UnderlyingSource_h 6 #define UnderlyingSource_h 7 8 #include "bindings/core/v8/ScriptPromise.h" 9 #include "bindings/core/v8/ScriptValue.h" 10 #include "platform/heap/Heap.h" 11 12 namespace blink { 13 14 class ExceptionState; 15 class ScriptState; 16 17 class UnderlyingSource : public GarbageCollectedMixin { 18 public: 19 virtual ~UnderlyingSource() { } 20 21 virtual void pullSource() = 0; 22 virtual ScriptPromise cancelSource(ScriptState*, ScriptValue reason) = 0; 23 virtual void trace(Visitor*) { } 24 }; 25 26 } // namespace blink 27 28 #endif // UnderlyingSource_h 29 30