summaryrefslogtreecommitdiffstats
path: root/dom/webidl/CustomElementRegistry.webidl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/webidl/CustomElementRegistry.webidl
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--dom/webidl/CustomElementRegistry.webidl64
1 files changed, 64 insertions, 0 deletions
diff --git a/dom/webidl/CustomElementRegistry.webidl b/dom/webidl/CustomElementRegistry.webidl
new file mode 100644
index 0000000000..8c10f2f41f
--- /dev/null
+++ b/dom/webidl/CustomElementRegistry.webidl
@@ -0,0 +1,64 @@
+/* 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/. */
+
+// https://html.spec.whatwg.org/#dom-window-customelements
+[Exposed=Window]
+interface CustomElementRegistry {
+ [CEReactions, Throws, UseCounter]
+ undefined define(DOMString name, CustomElementConstructor constructor,
+ optional ElementDefinitionOptions options = {});
+ [ChromeOnly, Throws]
+ undefined setElementCreationCallback(DOMString name, CustomElementCreationCallback callback);
+ (CustomElementConstructor or undefined) get(DOMString name);
+ [Throws]
+ Promise<CustomElementConstructor> whenDefined(DOMString name);
+ [CEReactions] undefined upgrade(Node root);
+};
+
+dictionary ElementDefinitionOptions {
+ DOMString extends;
+};
+
+callback constructor CustomElementConstructor = any ();
+
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback CustomElementCreationCallback = undefined (DOMString name);
+
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleConnectedCallback = undefined();
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleDisconnectedCallback = undefined();
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleAdoptedCallback = undefined(Document? oldDocument,
+ Document? newDocment);
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleAttributeChangedCallback = undefined(DOMString attrName,
+ DOMString? oldValue,
+ DOMString? newValue,
+ DOMString? namespaceURI);
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleFormAssociatedCallback = undefined(HTMLFormElement? form);
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleFormResetCallback = undefined();
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleFormDisabledCallback = undefined(boolean disabled);
+[MOZ_CAN_RUN_SCRIPT_BOUNDARY]
+callback LifecycleGetCustomInterfaceCallback = object?(any iid);
+
+// Unsorted is necessary until https://github.com/whatwg/html/issues/3580 is resolved.
+[GenerateInit, Unsorted]
+dictionary LifecycleCallbacks {
+ LifecycleConnectedCallback connectedCallback;
+ LifecycleDisconnectedCallback disconnectedCallback;
+ LifecycleAdoptedCallback adoptedCallback;
+ LifecycleAttributeChangedCallback attributeChangedCallback;
+ [ChromeOnly] LifecycleGetCustomInterfaceCallback getCustomInterfaceCallback;
+};
+
+[GenerateInit, Unsorted]
+dictionary FormAssociatedLifecycleCallbacks {
+ LifecycleFormAssociatedCallback formAssociatedCallback;
+ LifecycleFormResetCallback formResetCallback;
+ LifecycleFormDisabledCallback formDisabledCallback;
+};