summaryrefslogtreecommitdiffstats
path: root/dom/webidl/CaretStateChangedEvent.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/CaretStateChangedEvent.webidl')
-rw-r--r--dom/webidl/CaretStateChangedEvent.webidl50
1 files changed, 50 insertions, 0 deletions
diff --git a/dom/webidl/CaretStateChangedEvent.webidl b/dom/webidl/CaretStateChangedEvent.webidl
new file mode 100644
index 0000000000..0a661fe737
--- /dev/null
+++ b/dom/webidl/CaretStateChangedEvent.webidl
@@ -0,0 +1,50 @@
+/* -*- 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/.
+ */
+
+enum CaretChangedReason {
+ "visibilitychange",
+ "updateposition",
+ "longpressonemptycontent",
+ "taponcaret",
+ "presscaret",
+ "releasecaret",
+ "scroll",
+ "dragcaret"
+};
+
+dictionary CaretStateChangedEventInit : EventInit {
+ boolean collapsed = true;
+ DOMRectReadOnly? boundingClientRect = null;
+ CaretChangedReason reason = "visibilitychange";
+ boolean caretVisible = false;
+ boolean caretVisuallyVisible = false;
+ boolean selectionVisible = false;
+ boolean selectionEditable = false;
+ DOMString selectedTextContent = "";
+ long clientX = 0;
+ long clientY = 0;
+};
+
+[ChromeOnly,
+ Exposed=Window]
+interface CaretStateChangedEvent : Event {
+ constructor(DOMString type,
+ optional CaretStateChangedEventInit eventInit = {});
+
+ readonly attribute boolean collapsed;
+ /* The bounding client rect is relative to the visual viewport. */
+ readonly attribute DOMRectReadOnly? boundingClientRect;
+ readonly attribute CaretChangedReason reason;
+ readonly attribute boolean caretVisible;
+ readonly attribute boolean caretVisuallyVisible;
+ readonly attribute boolean selectionVisible;
+ readonly attribute boolean selectionEditable;
+ readonly attribute DOMString selectedTextContent;
+ [Pref="layout.accessiblecaret.magnifier.enabled"]
+ readonly attribute long clientX;
+ [Pref="layout.accessiblecaret.magnifier.enabled"]
+ readonly attribute long clientY;
+};