Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(538)

Unified Diff: chrome/browser/autocomplete/search_provider.h

Issue 436833002: Stop sharing BaseSearchProvider::OnURLFetchComplete between 2 providers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/autocomplete/base_search_provider.cc ('k') | chrome/browser/autocomplete/search_provider.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autocomplete/search_provider.h
diff --git a/chrome/browser/autocomplete/search_provider.h b/chrome/browser/autocomplete/search_provider.h
index 023fd33c9e78ccd4c23de8d15a22294bec8ac30c..d7be6bf878ddb824e3321dd1da30c6541f97bce4 100644
--- a/chrome/browser/autocomplete/search_provider.h
+++ b/chrome/browser/autocomplete/search_provider.h
@@ -19,7 +19,9 @@
#include "chrome/browser/autocomplete/base_search_provider.h"
#include "components/metrics/proto/omnibox_input_type.pb.h"
#include "components/search_engines/template_url.h"
+#include "net/url_request/url_fetcher_delegate.h"
+class AutocompleteProviderListener;
class AutocompleteResult;
class Profile;
class SearchProviderTest;
@@ -43,7 +45,8 @@ class URLFetcher;
// text. It also starts a task to query the Suggest servers. When that data
// comes back, the provider creates and returns matches for the best
// suggestions.
-class SearchProvider : public BaseSearchProvider {
+class SearchProvider : public BaseSearchProvider,
+ public net::URLFetcherDelegate {
public:
SearchProvider(AutocompleteProviderListener* listener,
TemplateURLService* template_url_service,
@@ -148,11 +151,6 @@ class SearchProvider : public BaseSearchProvider {
SearchSuggestionParser::SuggestResults* suggest_results,
SearchSuggestionParser::NavigationResults* navigation_results);
- // Recalculates the match contents class of |results| to better display
- // against the current input and user's language.
- void UpdateMatchContentsClass(const base::string16& input_text,
- SearchSuggestionParser::Results* results);
-
// Calculates the relevance score for the keyword verbatim result (if the
// input matches one of the profile's keyword).
static int CalculateRelevanceForKeywordVerbatim(
@@ -164,21 +162,31 @@ class SearchProvider : public BaseSearchProvider {
bool minimal_changes) OVERRIDE;
// BaseSearchProvider:
- virtual void SortResults(bool is_keyword,
- SearchSuggestionParser::Results* results) OVERRIDE;
virtual const TemplateURL* GetTemplateURL(bool is_keyword) const OVERRIDE;
virtual const AutocompleteInput GetInput(bool is_keyword) const OVERRIDE;
- virtual SearchSuggestionParser::Results* GetResultsToFill(
- bool is_keyword) OVERRIDE;
virtual bool ShouldAppendExtraParams(
const SearchSuggestionParser::SuggestResult& result) const OVERRIDE;
virtual void StopSuggest() OVERRIDE;
virtual void ClearAllResults() OVERRIDE;
- virtual int GetDefaultResultRelevance() const OVERRIDE;
virtual void RecordDeletionResult(bool success) OVERRIDE;
- virtual void LogFetchComplete(bool success, bool is_keyword) OVERRIDE;
- virtual bool IsKeywordFetcher(const net::URLFetcher* fetcher) const OVERRIDE;
- virtual void UpdateMatches() OVERRIDE;
+
+ // net::URLFetcherDelegate:
+ virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE;
+
+ // Recalculates the match contents class of |results| to better display
+ // against the current input and user's language.
+ void UpdateMatchContentsClass(const base::string16& input_text,
+ SearchSuggestionParser::Results* results);
+
+ // Called after ParseSuggestResults to rank the |results|.
+ void SortResults(bool is_keyword, SearchSuggestionParser::Results* results);
+
+ // Records UMA statistics about a suggest server response.
+ void LogFetchComplete(bool success, bool is_keyword);
+
+ // Updates |matches_| from the latest results; applies calculated relevances
+ // if suggested relevances cause undesirable behavior. Updates |done_|.
+ void UpdateMatches();
// Called when timer_ expires.
void Run();
@@ -307,6 +315,12 @@ class SearchProvider : public BaseSearchProvider {
// previous one. Non-const because some unittests modify this value.
static int kMinimumTimeBetweenSuggestQueriesMs;
+ AutocompleteProviderListener* listener_;
+
+ // The number of suggest results that haven't yet arrived. If it's greater
+ // than 0, it indicates that one of the URLFetchers is still running.
+ int suggest_results_pending_;
+
// Maintains the TemplateURLs used.
Providers providers_;
« no previous file with comments | « chrome/browser/autocomplete/base_search_provider.cc ('k') | chrome/browser/autocomplete/search_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698