blob: d943658bcc2dcc4e02a1253107f09f0ec3a4dd9f [file] [log] [blame]
// 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([DefaultValue=Undefined] optional any reason);
// This only exists to prevent Object.prototype.type being accessed.
[CallWith=ScriptState] readonly attribute any type;
void notifyLockAcquired();
void notifyLockReleased();
};