| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CONTROLLER_H_ |
| 6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CONTROLLER_H_ | 6 #define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CONTROLLER_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 typedef std::vector<scoped_refptr<AutocompleteProvider> > Providers; | 50 typedef std::vector<scoped_refptr<AutocompleteProvider> > Providers; |
| 51 | 51 |
| 52 // |provider_types| is a bitmap containing AutocompleteProvider::Type values | 52 // |provider_types| is a bitmap containing AutocompleteProvider::Type values |
| 53 // that will (potentially, depending on platform, flags, etc.) be | 53 // that will (potentially, depending on platform, flags, etc.) be |
| 54 // instantiated. |template_url_service| is used to create URLs from the | 54 // instantiated. |template_url_service| is used to create URLs from the |
| 55 // autocomplete results. | 55 // autocomplete results. |
| 56 AutocompleteController(Profile* profile, | 56 AutocompleteController(Profile* profile, |
| 57 TemplateURLService* template_url_service, | 57 TemplateURLService* template_url_service, |
| 58 AutocompleteControllerDelegate* delegate, | 58 AutocompleteControllerDelegate* delegate, |
| 59 int provider_types); | 59 int provider_types); |
| 60 ~AutocompleteController(); | 60 ~AutocompleteController() override; |
| 61 | 61 |
| 62 // Starts an autocomplete query, which continues until all providers are | 62 // Starts an autocomplete query, which continues until all providers are |
| 63 // done or the query is Stop()ed. It is safe to Start() a new query without | 63 // done or the query is Stop()ed. It is safe to Start() a new query without |
| 64 // Stop()ing the previous one. | 64 // Stop()ing the previous one. |
| 65 // | 65 // |
| 66 // See AutocompleteInput::AutocompleteInput(...) for more details regarding | 66 // See AutocompleteInput::AutocompleteInput(...) for more details regarding |
| 67 // |input| params. | 67 // |input| params. |
| 68 // | 68 // |
| 69 // The controller calls AutocompleteControllerDelegate::OnResultChanged() from | 69 // The controller calls AutocompleteControllerDelegate::OnResultChanged() from |
| 70 // inside this call at least once. If matches are available later on that | 70 // inside this call at least once. If matches are available later on that |
| (...skipping 18 matching lines...) Expand all Loading... |
| 89 // Asks the relevant provider to delete |match|, and ensures observers are | 89 // Asks the relevant provider to delete |match|, and ensures observers are |
| 90 // notified of resulting changes immediately. This should only be called when | 90 // notified of resulting changes immediately. This should only be called when |
| 91 // no query is running. | 91 // no query is running. |
| 92 void DeleteMatch(const AutocompleteMatch& match); | 92 void DeleteMatch(const AutocompleteMatch& match); |
| 93 | 93 |
| 94 // Removes any entries that were copied from the last result. This is used by | 94 // Removes any entries that were copied from the last result. This is used by |
| 95 // the popup to ensure it's not showing an out-of-date query. | 95 // the popup to ensure it's not showing an out-of-date query. |
| 96 void ExpireCopiedEntries(); | 96 void ExpireCopiedEntries(); |
| 97 | 97 |
| 98 // AutocompleteProviderListener: | 98 // AutocompleteProviderListener: |
| 99 virtual void OnProviderUpdate(bool updated_matches) override; | 99 void OnProviderUpdate(bool updated_matches) override; |
| 100 | 100 |
| 101 // Called when an omnibox event log entry is generated. | 101 // Called when an omnibox event log entry is generated. |
| 102 // Populates provider_info with diagnostic information about the status | 102 // Populates provider_info with diagnostic information about the status |
| 103 // of various providers. In turn, calls | 103 // of various providers. In turn, calls |
| 104 // AutocompleteProvider::AddProviderInfo() so each provider can add | 104 // AutocompleteProvider::AddProviderInfo() so each provider can add |
| 105 // provider-specific information, information we want to log for a particular | 105 // provider-specific information, information we want to log for a particular |
| 106 // provider but not others. | 106 // provider but not others. |
| 107 void AddProvidersInfo(ProvidersInfo* provider_info) const; | 107 void AddProvidersInfo(ProvidersInfo* provider_info) const; |
| 108 | 108 |
| 109 // Called when a new omnibox session starts. | 109 // Called when a new omnibox session starts. |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 // Are we in Start()? This is used to avoid updating |result_| and sending | 254 // Are we in Start()? This is used to avoid updating |result_| and sending |
| 255 // notifications until Start() has been invoked on all providers. | 255 // notifications until Start() has been invoked on all providers. |
| 256 bool in_start_; | 256 bool in_start_; |
| 257 | 257 |
| 258 TemplateURLService* template_url_service_; | 258 TemplateURLService* template_url_service_; |
| 259 | 259 |
| 260 DISALLOW_COPY_AND_ASSIGN(AutocompleteController); | 260 DISALLOW_COPY_AND_ASSIGN(AutocompleteController); |
| 261 }; | 261 }; |
| 262 | 262 |
| 263 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CONTROLLER_H_ | 263 #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CONTROLLER_H_ |
| OLD | NEW |