aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_bindings
diff options
context:
space:
mode:
Diffstat (limited to 'components/script_bindings')
-rw-r--r--components/script_bindings/codegen/Bindings.conf2
-rw-r--r--components/script_bindings/conversions.rs6
-rw-r--r--components/script_bindings/webidls/Clipboard.webidl2
-rw-r--r--components/script_bindings/webidls/TransformStream.webidl18
-rw-r--r--components/script_bindings/webidls/TransformStreamDefaultController.webidl15
-rw-r--r--components/script_bindings/webidls/Transformer.webidl22
-rw-r--r--components/script_bindings/webidls/Window.webidl4
7 files changed, 66 insertions, 3 deletions
diff --git a/components/script_bindings/codegen/Bindings.conf b/components/script_bindings/codegen/Bindings.conf
index cb33188804f..2a9874a386f 100644
--- a/components/script_bindings/codegen/Bindings.conf
+++ b/components/script_bindings/codegen/Bindings.conf
@@ -88,7 +88,7 @@ DOMInterfaces = {
},
'Clipboard': {
- 'canGc': ['WriteText']
+ 'canGc': ['ReadText', 'WriteText']
},
'ClipboardItem': {
diff --git a/components/script_bindings/conversions.rs b/components/script_bindings/conversions.rs
index 4d8e7aa595c..953dca889a8 100644
--- a/components/script_bindings/conversions.rs
+++ b/components/script_bindings/conversions.rs
@@ -532,7 +532,7 @@ where
/// Returns whether `value` is an array-like object (Array, FileList,
/// HTMLCollection, HTMLFormControlsCollection, HTMLOptionsCollection,
-/// NodeList).
+/// NodeList, DOMTokenList).
///
/// # Safety
/// `cx` must point to a valid, non-null JSContext.
@@ -548,6 +548,10 @@ pub unsafe fn is_array_like<D: crate::DomTypes>(cx: *mut JSContext, value: Handl
_ => return false,
};
+ // TODO: HTMLAllCollection
+ if root_from_object::<D::DOMTokenList>(object, cx).is_ok() {
+ return true;
+ }
if root_from_object::<D::FileList>(object, cx).is_ok() {
return true;
}
diff --git a/components/script_bindings/webidls/Clipboard.webidl b/components/script_bindings/webidls/Clipboard.webidl
index 7562adbfa38..b77e975917e 100644
--- a/components/script_bindings/webidls/Clipboard.webidl
+++ b/components/script_bindings/webidls/Clipboard.webidl
@@ -9,7 +9,7 @@ typedef sequence<ClipboardItem> ClipboardItems;
[SecureContext, Exposed=Window, Pref="dom_async_clipboard_enabled"]
interface Clipboard : EventTarget {
// Promise<ClipboardItems> read();
- // Promise<DOMString> readText();
+ Promise<DOMString> readText();
// Promise<undefined> write(ClipboardItems data);
Promise<undefined> writeText(DOMString data);
};
diff --git a/components/script_bindings/webidls/TransformStream.webidl b/components/script_bindings/webidls/TransformStream.webidl
new file mode 100644
index 00000000000..c36a49b114a
--- /dev/null
+++ b/components/script_bindings/webidls/TransformStream.webidl
@@ -0,0 +1,18 @@
+/* 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/#ts-class-definition
+ */
+
+[Exposed=*] // [Transferable] - See Bug 1562065
+interface TransformStream {
+ [Throws]
+ constructor(optional object transformer,
+ optional QueuingStrategy writableStrategy = {},
+ optional QueuingStrategy readableStrategy = {});
+
+ readonly attribute ReadableStream readable;
+ readonly attribute WritableStream writable;
+};
diff --git a/components/script_bindings/webidls/TransformStreamDefaultController.webidl b/components/script_bindings/webidls/TransformStreamDefaultController.webidl
new file mode 100644
index 00000000000..5f5511ed4b6
--- /dev/null
+++ b/components/script_bindings/webidls/TransformStreamDefaultController.webidl
@@ -0,0 +1,15 @@
+/* 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/#ts-default-controller-class-definition
+ */
+
+[Exposed=*]
+interface TransformStreamDefaultController {
+ readonly attribute unrestricted double? desiredSize;
+ [Throws] undefined enqueue(optional any chunk);
+ [Throws] undefined error(optional any reason);
+ [Throws] undefined terminate();
+};
diff --git a/components/script_bindings/webidls/Transformer.webidl b/components/script_bindings/webidls/Transformer.webidl
new file mode 100644
index 00000000000..652511450a4
--- /dev/null
+++ b/components/script_bindings/webidls/Transformer.webidl
@@ -0,0 +1,22 @@
+/* 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/#transformer-api
+ */
+
+[GenerateInit]
+dictionary Transformer {
+ TransformerStartCallback start;
+ TransformerTransformCallback transform;
+ TransformerFlushCallback flush;
+ TransformerCancelCallback cancel;
+ any readableType;
+ any writableType;
+};
+
+callback TransformerStartCallback = any (TransformStreamDefaultController controller);
+callback TransformerFlushCallback = Promise<undefined> (TransformStreamDefaultController controller);
+callback TransformerTransformCallback = Promise<undefined> (any chunk, TransformStreamDefaultController controller);
+callback TransformerCancelCallback = Promise<undefined> (any reason);
diff --git a/components/script_bindings/webidls/Window.webidl b/components/script_bindings/webidls/Window.webidl
index eb7c3e1d03d..929279f7951 100644
--- a/components/script_bindings/webidls/Window.webidl
+++ b/components/script_bindings/webidls/Window.webidl
@@ -150,6 +150,10 @@ partial interface Window {
undefined webdriverCallback(optional any result);
undefined webdriverException(optional any result);
undefined webdriverTimeout();
+ Element? webdriverElement(DOMString id);
+ Element? webdriverFrame(DOMString id);
+ Window? webdriverWindow(DOMString id);
+ ShadowRoot? webdriverShadowRoot(DOMString id);
};
// https://html.spec.whatwg.org/multipage/#dom-sessionstorage