summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/css-toggle.tentative.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/css-toggle.tentative.idl')
-rw-r--r--testing/web-platform/tests/interfaces/css-toggle.tentative.idl51
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/css-toggle.tentative.idl b/testing/web-platform/tests/interfaces/css-toggle.tentative.idl
new file mode 100644
index 0000000000..5587019a29
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/css-toggle.tentative.idl
@@ -0,0 +1,51 @@
+partial interface Element {
+ [SameObject] readonly attribute CSSToggleMap toggles;
+};
+
+interface CSSToggleMap {
+ maplike<DOMString, CSSToggle>;
+ CSSToggleMap set(DOMString key, CSSToggle value);
+};
+
+interface CSSToggle {
+ attribute (unsigned long or DOMString) value;
+ attribute unsigned long? valueAsNumber;
+ attribute DOMString? valueAsString;
+
+ attribute (unsigned long or FrozenArray<DOMString>) states;
+ attribute boolean group;
+ attribute CSSToggleScope scope;
+ attribute CSSToggleCycle cycle;
+
+ constructor(optional CSSToggleData options);
+};
+
+dictionary CSSToggleData {
+ (unsigned long or DOMString) value = 0;
+ (unsigned long or sequence<DOMString>) states = 1;
+ boolean group = false;
+ CSSToggleScope scope = "wide";
+ CSSToggleCycle cycle = "cycle";
+};
+
+enum CSSToggleScope {
+ "narrow",
+ "wide",
+};
+
+enum CSSToggleCycle {
+ "cycle",
+ "cycle-on",
+ "sticky",
+};
+
+interface CSSToggleEvent : Event {
+ constructor(DOMString type, optional CSSToggleEventInit eventInitDict = {});
+ readonly attribute DOMString toggleName;
+ readonly attribute CSSToggle? toggle;
+};
+
+dictionary CSSToggleEventInit : EventInit {
+ DOMString toggleName = "";
+ CSSToggle? toggle = null;
+};