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

Side by Side Diff: chrome/browser/autocomplete/zero_suggest_provider.h

Issue 158223002: Part 5 of search provider refactoring. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase + fix indentation Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // This file contains the zero-suggest autocomplete provider. This experimental 5 // This file contains the zero-suggest autocomplete provider. This experimental
6 // provider is invoked when the user focuses in the omnibox prior to editing, 6 // provider is invoked when the user focuses in the omnibox prior to editing,
7 // and generates search query suggestions based on the current URL. To enable 7 // and generates search query suggestions based on the current URL. To enable
8 // this provider, point --experimental-zero-suggest-url-prefix at an 8 // this provider, point --experimental-zero-suggest-url-prefix at an
9 // appropriate suggestion service. 9 // appropriate suggestion service.
10 // 10 //
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 // omnibox text and suggestions. 43 // omnibox text and suggestions.
44 class ZeroSuggestProvider : public BaseSearchProvider { 44 class ZeroSuggestProvider : public BaseSearchProvider {
45 public: 45 public:
46 // Creates and returns an instance of this provider. 46 // Creates and returns an instance of this provider.
47 static ZeroSuggestProvider* Create(AutocompleteProviderListener* listener, 47 static ZeroSuggestProvider* Create(AutocompleteProviderListener* listener,
48 Profile* profile); 48 Profile* profile);
49 49
50 // AutocompleteProvider: 50 // AutocompleteProvider:
51 virtual void Start(const AutocompleteInput& input, 51 virtual void Start(const AutocompleteInput& input,
52 bool /*minimal_changes*/) OVERRIDE; 52 bool /*minimal_changes*/) OVERRIDE;
53 virtual void Stop(bool clear_cached_results) OVERRIDE;
54 53
55 // Sets |field_trial_triggered_| to false. 54 // Sets |field_trial_triggered_| to false.
56 virtual void ResetSession() OVERRIDE; 55 virtual void ResetSession() OVERRIDE;
57 56
58 // net::URLFetcherDelegate 57 // net::URLFetcherDelegate
59 virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE; 58 virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE;
60 59
61 // Initiates a new fetch for the given |url| of classification 60 // Initiates a new fetch for the given |url| of classification
62 // |page_classification|. |permanent_text| is the omnibox text 61 // |page_classification|. |permanent_text| is the omnibox text
63 // for the current page. 62 // for the current page.
64 void StartZeroSuggest( 63 void StartZeroSuggest(
65 const GURL& curent_page_url, 64 const GURL& curent_page_url,
66 AutocompleteInput::PageClassification page_classification, 65 AutocompleteInput::PageClassification page_classification,
67 const base::string16& permanent_text); 66 const base::string16& permanent_text);
68 67
69 private: 68 private:
70 ZeroSuggestProvider(AutocompleteProviderListener* listener, 69 ZeroSuggestProvider(AutocompleteProviderListener* listener,
71 Profile* profile); 70 Profile* profile);
72 71
73 virtual ~ZeroSuggestProvider(); 72 virtual ~ZeroSuggestProvider();
74 73
75 // BaseSearchProvider: 74 // BaseSearchProvider:
76 virtual const TemplateURL* GetTemplateURL( 75 virtual const TemplateURL* GetTemplateURL(
77 const SuggestResult& result) const OVERRIDE; 76 const SuggestResult& result) const OVERRIDE;
78 virtual const AutocompleteInput GetInput( 77 virtual const AutocompleteInput GetInput(
79 const SuggestResult& result) const OVERRIDE; 78 const SuggestResult& result) const OVERRIDE;
80 virtual bool ShouldAppendExtraParams( 79 virtual bool ShouldAppendExtraParams(
81 const SuggestResult& result) const OVERRIDE; 80 const SuggestResult& result) const OVERRIDE;
81 virtual void StopSuggest() OVERRIDE;
82 virtual void ClearAllResults() OVERRIDE;
82 83
83 // The 4 functions below (that take classes defined in SearchProvider as 84 // The 4 functions below (that take classes defined in SearchProvider as
84 // arguments) were copied and trimmed from SearchProvider. 85 // arguments) were copied and trimmed from SearchProvider.
85 // TODO(hfung): Refactor them into a new base class common to both 86 // TODO(hfung): Refactor them into a new base class common to both
86 // ZeroSuggestProvider and SearchProvider. 87 // ZeroSuggestProvider and SearchProvider.
87 88
88 // From the OpenSearch formatted response |root_val|, populate query 89 // From the OpenSearch formatted response |root_val|, populate query
89 // suggestions into |suggest_results|, navigation suggestions into 90 // suggestions into |suggest_results|, navigation suggestions into
90 // |navigation_results|, and the verbatim relevance score into 91 // |navigation_results|, and the verbatim relevance score into
91 // |verbatim_relevance|. 92 // |verbatim_relevance|.
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 153
153 history::MostVisitedURLList most_visited_urls_; 154 history::MostVisitedURLList most_visited_urls_;
154 155
155 // For callbacks that may be run after destruction. 156 // For callbacks that may be run after destruction.
156 base::WeakPtrFactory<ZeroSuggestProvider> weak_ptr_factory_; 157 base::WeakPtrFactory<ZeroSuggestProvider> weak_ptr_factory_;
157 158
158 DISALLOW_COPY_AND_ASSIGN(ZeroSuggestProvider); 159 DISALLOW_COPY_AND_ASSIGN(ZeroSuggestProvider);
159 }; 160 };
160 161
161 #endif // CHROME_BROWSER_AUTOCOMPLETE_ZERO_SUGGEST_PROVIDER_H_ 162 #endif // CHROME_BROWSER_AUTOCOMPLETE_ZERO_SUGGEST_PROVIDER_H_
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/search_provider.cc ('k') | chrome/browser/autocomplete/zero_suggest_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698