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_BROWSER_AUTOCOMPLETE_PROVIDER_LISTENER_H_ 6 #define COMPONENTS_OMNIBOX_BROWSER_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: If a provider has finished, it should set done() to true BEFORE 20 // calling this method. 21 // 22 // NOTE: There's no parameter to tell the listener _which_ provider is 23 // calling it. Because the AutocompleteController (the typical listener) 24 // doesn't cache the providers' individual matches locally, it has to get 25 // them all again when this is called anyway, so such a parameter wouldn't 26 // actually be useful. 27 virtual void OnProviderUpdate(bool updated_matches) = 0; 28 29 protected: ~AutocompleteProviderListener()30 virtual ~AutocompleteProviderListener() {} 31 }; 32 33 #endif // COMPONENTS_OMNIBOX_BROWSER_AUTOCOMPLETE_PROVIDER_LISTENER_H_ 34