1 // Copyright (c) 2012 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 CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_LISTENER_H_ 6 #define CHROME_BROWSER_AUTOCOMPLETE_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 // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_LISTENER_H_ 31