diff options
Diffstat (limited to 'dom/webidl/CaretStateChangedEvent.webidl')
-rw-r--r-- | dom/webidl/CaretStateChangedEvent.webidl | 50 |
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; +}; |