summaryrefslogtreecommitdiffstats
path: root/dom/webidl/UnderlyingSource.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/UnderlyingSource.webidl')
-rw-r--r--dom/webidl/UnderlyingSource.webidl23
1 files changed, 23 insertions, 0 deletions
diff --git a/dom/webidl/UnderlyingSource.webidl b/dom/webidl/UnderlyingSource.webidl
new file mode 100644
index 0000000000..7b9a95fd6b
--- /dev/null
+++ b/dom/webidl/UnderlyingSource.webidl
@@ -0,0 +1,23 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * The origin of this IDL file is
+ * https://streams.spec.whatwg.org/#underlying-source-api
+ */
+
+[GenerateInit]
+dictionary UnderlyingSource {
+ UnderlyingSourceStartCallback start;
+ UnderlyingSourcePullCallback pull;
+ UnderlyingSourceCancelCallback cancel;
+ ReadableStreamType type;
+ [EnforceRange] unsigned long long autoAllocateChunkSize;
+};
+
+typedef (ReadableStreamDefaultController or ReadableByteStreamController) ReadableStreamController;
+
+callback UnderlyingSourceStartCallback = any (ReadableStreamController controller);
+callback UnderlyingSourcePullCallback = Promise<undefined> (ReadableStreamController controller);
+callback UnderlyingSourceCancelCallback = Promise<undefined> (optional any reason);