diff options
Diffstat (limited to 'application/basilisk/components/webextensions/ext-omnibox.js')
-rw-r--r-- | application/basilisk/components/webextensions/ext-omnibox.js | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/application/basilisk/components/webextensions/ext-omnibox.js b/application/basilisk/components/webextensions/ext-omnibox.js deleted file mode 100644 index 9b2f60ca4..000000000 --- a/application/basilisk/components/webextensions/ext-omnibox.js +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* vim: set sts=2 sw=2 et tw=80: */ -"use strict"; - -Cu.import("resource://gre/modules/ExtensionUtils.jsm"); - -XPCOMUtils.defineLazyModuleGetter(this, "ExtensionSearchHandler", - "resource://gre/modules/ExtensionSearchHandler.jsm"); -var { - SingletonEventManager, -} = ExtensionUtils; - -// WeakMap[extension -> keyword] -let gKeywordMap = new WeakMap(); - -/* eslint-disable mozilla/balanced-listeners */ -extensions.on("manifest_omnibox", (type, directive, extension, manifest) => { - let keyword = manifest.omnibox.keyword; - try { - // This will throw if the keyword is already registered. - ExtensionSearchHandler.registerKeyword(keyword, extension); - gKeywordMap.set(extension, keyword); - } catch (e) { - extension.manifestError(e.message); - } -}); - -extensions.on("shutdown", (type, extension) => { - let keyword = gKeywordMap.get(extension); - if (keyword) { - ExtensionSearchHandler.unregisterKeyword(keyword); - gKeywordMap.delete(extension); - } -}); -/* eslint-enable mozilla/balanced-listeners */ - -extensions.registerSchemaAPI("omnibox", "addon_parent", context => { - let {extension} = context; - return { - omnibox: { - setDefaultSuggestion(suggestion) { - let keyword = gKeywordMap.get(extension); - try { - // This will throw if the keyword failed to register. - ExtensionSearchHandler.setDefaultSuggestion(keyword, suggestion); - } catch (e) { - return Promise.reject(e.message); - } - }, - - onInputStarted: new SingletonEventManager(context, "omnibox.onInputStarted", fire => { - let listener = (eventName) => { - fire(); - }; - extension.on(ExtensionSearchHandler.MSG_INPUT_STARTED, listener); - return () => { - extension.off(ExtensionSearchHandler.MSG_INPUT_STARTED, listener); - }; - }).api(), - - onInputCancelled: new SingletonEventManager(context, "omnibox.onInputCancelled", fire => { - let listener = (eventName) => { - fire(); - }; - extension.on(ExtensionSearchHandler.MSG_INPUT_CANCELLED, listener); - return () => { - extension.off(ExtensionSearchHandler.MSG_INPUT_CANCELLED, listener); - }; - }).api(), - - onInputEntered: new SingletonEventManager(context, "omnibox.onInputEntered", fire => { - let listener = (eventName, text, disposition) => { - fire(text, disposition); - }; - extension.on(ExtensionSearchHandler.MSG_INPUT_ENTERED, listener); - return () => { - extension.off(ExtensionSearchHandler.MSG_INPUT_ENTERED, listener); - }; - }).api(), - }, - - omnibox_internal: { - addSuggestions(id, suggestions) { - let keyword = gKeywordMap.get(extension); - try { - ExtensionSearchHandler.addSuggestions(keyword, id, suggestions); - } catch (e) { - // Silently fail because the extension developer can not know for sure if the user - // has already invalidated the callback when asynchronously providing suggestions. - } - }, - - onInputChanged: new SingletonEventManager(context, "omnibox_internal.onInputChanged", fire => { - let listener = (eventName, text, id) => { - fire(text, id); - }; - extension.on(ExtensionSearchHandler.MSG_INPUT_CHANGED, listener); - return () => { - extension.off(ExtensionSearchHandler.MSG_INPUT_CHANGED, listener); - }; - }).api(), - }, - }; -}); |