DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (5350524bb654)

VCS Links

Line Code
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);
};