summaryrefslogtreecommitdiffstats
path: root/toolkit/actors/ExtFindChild.sys.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/actors/ExtFindChild.sys.mjs')
-rw-r--r--toolkit/actors/ExtFindChild.sys.mjs31
1 files changed, 31 insertions, 0 deletions
diff --git a/toolkit/actors/ExtFindChild.sys.mjs b/toolkit/actors/ExtFindChild.sys.mjs
new file mode 100644
index 0000000000..dc6d296d88
--- /dev/null
+++ b/toolkit/actors/ExtFindChild.sys.mjs
@@ -0,0 +1,31 @@
+/* vim: set ts=2 sw=2 sts=2 et tw=80: */
+/* 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/. */
+
+const lazy = {};
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ FindContent: "resource://gre/modules/FindContent.sys.mjs",
+});
+
+export class ExtFindChild extends JSWindowActorChild {
+ receiveMessage(message) {
+ if (!this._findContent) {
+ this._findContent = new lazy.FindContent(this.docShell);
+ }
+
+ switch (message.name) {
+ case "ext-Finder:CollectResults":
+ this.finderInited = true;
+ return this._findContent.findRanges(message.data);
+ case "ext-Finder:HighlightResults":
+ return this._findContent.highlightResults(message.data);
+ case "ext-Finder:ClearHighlighting":
+ this._findContent.highlighter.highlight(false);
+ break;
+ }
+
+ return null;
+ }
+}