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/.
9 ChromeUtils.defineESModuleGetters(lazy, {
10 Finder: "resource://gre/modules/Finder.sys.mjs",
13 export class FinderChild extends JSWindowActorChild {
16 this._finder = new lazy.Finder(this.docShell);
21 receiveMessage(aMessage) {
22 let data = aMessage.data;
24 switch (aMessage.name) {
25 case "Finder:CaseSensitive":
26 this.finder.caseSensitive = data.caseSensitive;
29 case "Finder:MatchDiacritics":
30 this.finder.matchDiacritics = data.matchDiacritics;
33 case "Finder:EntireWord":
34 this.finder.entireWord = data.entireWord;
37 case "Finder:SetSearchStringToSelection": {
38 return new Promise(resolve => {
39 resolve(this.finder.setSearchStringToSelection());
43 case "Finder:GetInitialSelection": {
44 return new Promise(resolve => {
45 resolve(this.finder.getActiveSelectionText());
50 return this.finder.find(data);
52 case "Finder:Highlight":
62 result.browsingContextId = this.browsingContext.id;
67 case "Finder:UpdateHighlightAndMatchCount":
68 return this.finder.updateHighlightAndMatchCount(data).then(result => {
70 result.browsingContextId = this.browsingContext.id;
75 case "Finder:HighlightAllChange":
76 this.finder.onHighlightAllChange(data.highlightAll);
79 case "Finder:EnableSelection":
80 this.finder.enableSelection();
83 case "Finder:RemoveSelection":
84 this.finder.removeSelection(data.keepHighlight);
87 case "Finder:FocusContent":
88 this.finder.focusContent();
91 case "Finder:FindbarClose":
92 this.finder.onFindbarClose();
95 case "Finder:FindbarOpen":
96 this.finder.onFindbarOpen();
99 case "Finder:KeyPress":
100 var KeyboardEvent = this.finder._getWindow().KeyboardEvent;
101 this.finder.keyPress(new KeyboardEvent("keypress", data));
104 case "Finder:MatchesCount":
106 .requestMatchesCount(
113 result.browsingContextId = this.browsingContext.id;
118 case "Finder:ModalHighlightChange":
119 this.finder.onModalHighlightChange(data.useModalHighlight);
122 case "Finder:EnableMarkTesting":
123 this.finder.highlighter.enableTesting(data.enable);