mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 16:22:00 +00:00
28844e8f80
To support magnifying glass on GeckoView, I would like to add `dragcaret` event and, clientX and clientX in CaretStateChangedEvent chrome event. Actually, accessible caret fires `presscaret` and `releasecaret` when accessbile caret is pressed or released. But when dragging this caret, no chrome event is fired. Since magnifying glass listens to moving this caret, I would like `dargcaret` for GeckoView. Also, Users' dragging point is necessary to set better position of magnifying glass windows. So I also want client point of dragging point on `presscaret` and `dragcaret` event. This event and properties are on layout.accessiblecaret.magnifier.enabled=true, So this can be only for GeckoView. Differential Revision: https://phabricator.services.mozilla.com/D137965
51 lines
1.6 KiB
Plaintext
51 lines
1.6 KiB
Plaintext
/* -*- 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;
|
|
};
|