no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / toolkit / actors / FindBarParent.sys.mjs
blobeaf42b634e08f8968072174390607a321c70c03c
1 /* vim: set ts=2 sw=2 sts=2 et tw=80: */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 // Map of browser elements to findbars.
7 let findbars = new WeakMap();
9 export class FindBarParent extends JSWindowActorParent {
10   setFindbar(browser, findbar) {
11     if (findbar) {
12       findbars.set(browser, findbar);
13     } else {
14       findbars.delete(browser, findbar);
15     }
16   }
18   receiveMessage(message) {
19     let browser = this.manager.browsingContext.top.embedderElement;
20     if (!browser) {
21       return;
22     }
24     let respondToMessage = () => {
25       let findBar = findbars.get(browser);
26       if (!findBar) {
27         return;
28       }
30       switch (message.name) {
31         case "Findbar:Keypress":
32           findBar._onBrowserKeypress(message.data);
33           break;
34         case "Findbar:Mouseup":
35           findBar.onMouseUp();
36           break;
37       }
38     };
40     let findPromise = browser.ownerGlobal.gFindBarPromise;
41     if (findPromise) {
42       findPromise.then(respondToMessage);
43     } else {
44       respondToMessage();
45     }
46   }