45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
/* 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() {}
|
|
}
|