1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/* 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(bfd9b82b-0ab3-4b6b-9e54-aa961ff4b732)]
interface nsIFormAutoComplete: nsISupports {
/**
* Generate results for a form input autocomplete menu asynchronously.
*/
void autoCompleteSearchAsync(in AString aInputName,
in AString aSearchString,
in nsIDOMHTMLInputElement aField,
in nsIAutoCompleteResult aPreviousResult,
in nsIAutoCompleteResult aDatalistResult,
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();
/**
* Since the controller is disconnecting, any related data must be cleared.
*/
void stopControllingInput(in nsIDOMHTMLInputElement aField);
};
[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);
};
|