Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / omnibox / autocomplete_provider_listener.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_OMNIBOX_AUTOCOMPLETE_PROVIDER_LISTENER_H_
6 #define COMPONENTS_OMNIBOX_AUTOCOMPLETE_PROVIDER_LISTENER_H_
7
8 class AutocompleteProviderListener {
9  public:
10   // Called by a provider as a notification that something has changed.
11   // |updated_matches| should be true iff the matches have changed in some
12   // way (they may not have changed if, for example, the provider did an
13   // asynchronous query to get more matches, came up with none, and is now
14   // giving up).
15   //
16   // NOTE: Providers MUST only call this method while processing asynchronous
17   // queries.  Do not call this for a synchronous query.
18   //
19   // NOTE: There's no parameter to tell the listener _which_ provider is
20   // calling it.  Because the AutocompleteController (the typical listener)
21   // doesn't cache the providers' individual matches locally, it has to get
22   // them all again when this is called anyway, so such a parameter wouldn't
23   // actually be useful.
24   virtual void OnProviderUpdate(bool updated_matches) = 0;
25
26  protected:
27   virtual ~AutocompleteProviderListener() {}
28 };
29
30 #endif  // COMPONENTS_OMNIBOX_AUTOCOMPLETE_PROVIDER_LISTENER_H_