summaryrefslogtreecommitdiffstats
path: root/toolkit/components/autocomplete/AutoCompleteSimpleSearch.sys.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/autocomplete/AutoCompleteSimpleSearch.sys.mjs')
-rw-r--r--toolkit/components/autocomplete/AutoCompleteSimpleSearch.sys.mjs45
1 files changed, 45 insertions, 0 deletions
diff --git a/toolkit/components/autocomplete/AutoCompleteSimpleSearch.sys.mjs b/toolkit/components/autocomplete/AutoCompleteSimpleSearch.sys.mjs
new file mode 100644
index 0000000000..b57d290cfb
--- /dev/null
+++ b/toolkit/components/autocomplete/AutoCompleteSimpleSearch.sys.mjs
@@ -0,0 +1,45 @@
+/* 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 https://mozilla.org/MPL/2.0/. */
+
+/**
+ * See nsIAutoCompleteSimpleSearch
+ */
+export class AutoCompleteSimpleSearch {
+ constructor() {
+ this.classID = Components.ID("{dc185a77-ba88-4caa-8f16-465253f7599a}");
+ this.QueryInterface = ChromeUtils.generateQI([
+ "nsIAutoCompleteSimpleSearch",
+ ]);
+
+ let initialState = Cc[
+ "@mozilla.org/autocomplete/simple-result;1"
+ ].createInstance(Ci.nsIAutoCompleteSimpleResult);
+ initialState.setDefaultIndex(0);
+ initialState.setSearchResult(Ci.nsIAutoCompleteResult.RESULT_NOMATCH);
+ this.overrideNextResult(initialState);
+ }
+
+ _result = null;
+
+ /**
+ * See nsIAutoCompleteSimpleSearch
+ */
+ overrideNextResult(result) {
+ this._result = result;
+ }
+
+ /**
+ * See nsIAutoCompleteSearch
+ */
+ startSearch(searchString, searchParam, previousResult, listener) {
+ let result = this._result;
+ result.setSearchString(searchString);
+ listener.onSearchResult(this, result);
+ }
+
+ /**
+ * See nsIAutoCompleteSearch
+ */
+ stopSearch() {}
+}