diff -r 000000000000 -r 6474c204b198 toolkit/components/satchel/nsIFormAutoComplete.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/components/satchel/nsIFormAutoComplete.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,52 @@ +/* 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 http://mozilla.org/MPL/2.0/. */ + + +#include "nsISupports.idl" + +interface nsIAutoCompleteResult; +interface nsIFormAutoCompleteObserver; +interface nsIDOMHTMLInputElement; + +[scriptable, uuid(c079f18f-40ab-409d-800e-878889b83b58)] + +interface nsIFormAutoComplete: nsISupports { + + /** + * Generate results for a form input autocomplete menu synchronously. + * This method is deprecated in favour of autoCompleteSearchAsync. + */ + nsIAutoCompleteResult autoCompleteSearch(in AString aInputName, + in AString aSearchString, + in nsIDOMHTMLInputElement aField, + in nsIAutoCompleteResult aPreviousResult); + + /** + * Generate results for a form input autocomplete menu asynchronously. + */ + void autoCompleteSearchAsync(in AString aInputName, + in AString aSearchString, + in nsIDOMHTMLInputElement aField, + in nsIAutoCompleteResult aPreviousResult, + in nsIFormAutoCompleteObserver aListener); + + /** + * If a search is in progress, stop it. Otherwise, do nothing. This is used + * to cancel an existing search, for example, in preparation for a new search. + */ + void stopAutoCompleteSearch(); +}; + +[scriptable, function, uuid(604419ab-55a0-4831-9eca-1b9e67cc4751)] +interface nsIFormAutoCompleteObserver : nsISupports +{ + /* + * Called when a search is complete and the results are ready even if the + * result set is empty. If the search is cancelled or a new search is + * started, this is not called. + * + * @param result - The search result object + */ + void onSearchCompletion(in nsIAutoCompleteResult result); +};