| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This is not a spec interface. Instead, it is used to generate bindings |
| // so that Blink code which wishes to create a stream can derive from |
| // UnderlyingSourceBase, and a JavaScript object can then be generated |
| // automatically for use in initializing a ReadableStream. |
| |
| [ |
| ActiveScriptWrappable, |
| NoInterfaceObject |
| ] |
| interface UnderlyingSourceBase { |
| [CallWith=ScriptState, ImplementedAs=startWrapper] Promise<void> start(any stream); |
| [CallWith=ScriptState] Promise<void> pull(); |
| [CallWith=ScriptState, ImplementedAs=cancelWrapper] Promise<void> cancel([Default=Undefined] optional any reason); |
| |
| void notifyLockAcquired(); |
| void notifyLockReleased(); |
| }; |