summaryrefslogtreecommitdiffstats
path: root/dom/base/nsISelectionListener.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /dom/base/nsISelectionListener.idl
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/base/nsISelectionListener.idl')
-rw-r--r--dom/base/nsISelectionListener.idl53
1 files changed, 53 insertions, 0 deletions
diff --git a/dom/base/nsISelectionListener.idl b/dom/base/nsISelectionListener.idl
new file mode 100644
index 0000000000..1adc640812
--- /dev/null
+++ b/dom/base/nsISelectionListener.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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/. */
+
+#include "nsISupports.idl"
+
+webidl Document;
+webidl Selection;
+
+[scriptable, uuid(45686299-ae2b-46bc-9502-c56c35691ab9)]
+interface nsISelectionListener : nsISupports
+{
+ const short NO_REASON=0;
+ const short DRAG_REASON=1;
+ const short MOUSEDOWN_REASON=2;/*bitflags*/
+ const short MOUSEUP_REASON=4;/*bitflags*/
+ const short KEYPRESS_REASON=8;/*bitflags*/
+ const short SELECTALL_REASON=16;
+ const short COLLAPSETOSTART_REASON=32;
+ const short COLLAPSETOEND_REASON=64;
+ const short IME_REASON=128;
+ // JS_REASON is set if the selection change is directly caused by a call
+ // of Selection API or Range API.
+ const short JS_REASON=256;
+
+ // Values of nsSelectionAmount.
+ // Reflects the granularity in which the selection caret has moved.
+ const long CHARACTER_AMOUNT = 0;
+ const long CLUSTER_AMOUNT = 1;
+ const long WORD_AMOUNT = 2;
+ const long WORDNOSPACE_AMOUNT = 3;
+ const long LINE_AMOUNT = 4;
+ const long BEGINLINE_AMOUNT = 5;
+ const long ENDLINE_AMOUNT = 6;
+ const long NO_AMOUNT = 7;
+ const long PARAGRAPH_AMOUNT = 8;
+
+ [can_run_script]
+ void notifySelectionChanged(in Document doc, in Selection sel,
+ in short reason, in long amount);
+};
+
+%{C++
+namespace mozilla {
+
+/**
+ * Returning names of `nsISelectionListener::*_REASON` in aReasons.
+ */
+nsCString SelectionChangeReasonsToCString(int16_t aReasons);
+
+} // namespace mozilla
+%}