1 // -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
2 // vim: set ts=2 sw=2 sts=2 et tw=80: */
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 var EXPORTED_SYMBOLS = ["FinderChild"];
11 ChromeUtils.defineESModuleGetters(lazy, {
12 Finder: "resource://gre/modules/Finder.sys.mjs",
15 class FinderChild extends JSWindowActorChild {
18 this._finder = new lazy.Finder(this.docShell);
23 receiveMessage(aMessage) {
24 let data = aMessage.data;
26 switch (aMessage.name) {
27 case "Finder:CaseSensitive":
28 this.finder.caseSensitive = data.caseSensitive;
31 case "Finder:MatchDiacritics":
32 this.finder.matchDiacritics = data.matchDiacritics;
35 case "Finder:EntireWord":
36 this.finder.entireWord = data.entireWord;
39 case "Finder:SetSearchStringToSelection": {
40 return new Promise(resolve => {
41 resolve(this.finder.setSearchStringToSelection());
45 case "Finder:GetInitialSelection": {
46 return new Promise(resolve => {
47 resolve(this.finder.getActiveSelectionText());
52 return this.finder.find(data);
54 case "Finder:Highlight":
64 result.browsingContextId = this.browsingContext.id;
69 case "Finder:UpdateHighlightAndMatchCount":
70 return this.finder.updateHighlightAndMatchCount(data).then(result => {
72 result.browsingContextId = this.browsingContext.id;
77 case "Finder:HighlightAllChange":
78 this.finder.onHighlightAllChange(data.highlightAll);
81 case "Finder:EnableSelection":
82 this.finder.enableSelection();
85 case "Finder:RemoveSelection":
86 this.finder.removeSelection(data.keepHighlight);
89 case "Finder:FocusContent":
90 this.finder.focusContent();
93 case "Finder:FindbarClose":
94 this.finder.onFindbarClose();
97 case "Finder:FindbarOpen":
98 this.finder.onFindbarOpen();
101 case "Finder:KeyPress":
102 var KeyboardEvent = this.finder._getWindow().KeyboardEvent;
103 this.finder.keyPress(new KeyboardEvent("keypress", data));
106 case "Finder:MatchesCount":
108 .requestMatchesCount(
115 result.browsingContextId = this.browsingContext.id;
120 case "Finder:ModalHighlightChange":
121 this.finder.onModalHighlightChange(data.useModalHighlight);
124 case "Finder:EnableMarkTesting":
125 this.finder.highlighter.enableTesting(data.enable);