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

Side by Side Diff: components/omnibox/browser/autocomplete_input.h

Issue 2738003002: Add title to current page in zero suggest. (Closed)
Patch Set: Change the place where the title is added and some suggested renaming. Created 3 years, 8 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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 COMPONENTS_OMNIBOX_BROWSER_AUTOCOMPLETE_INPUT_H_ 5 #ifndef COMPONENTS_OMNIBOX_BROWSER_AUTOCOMPLETE_INPUT_H_
6 #define COMPONENTS_OMNIBOX_BROWSER_AUTOCOMPLETE_INPUT_H_ 6 #define COMPONENTS_OMNIBOX_BROWSER_AUTOCOMPLETE_INPUT_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 19 matching lines...) Expand all
30 // the text to autocomplete. When this is non-empty, it also implies that 30 // the text to autocomplete. When this is non-empty, it also implies that
31 // "www." should be prepended to the domain where possible. The |desired_tld| 31 // "www." should be prepended to the domain where possible. The |desired_tld|
32 // should not contain a leading '.' (use "com" instead of ".com"). 32 // should not contain a leading '.' (use "com" instead of ".com").
33 // 33 //
34 // If |current_url| is set to a valid search result page URL, providers can 34 // If |current_url| is set to a valid search result page URL, providers can
35 // use it to perform query refinement. For example, if it is set to an image 35 // use it to perform query refinement. For example, if it is set to an image
36 // search result page, the search provider may generate an image search URL. 36 // search result page, the search provider may generate an image search URL.
37 // Query refinement is only used by mobile ports, so only these set 37 // Query refinement is only used by mobile ports, so only these set
38 // |current_url| to a non-empty string. 38 // |current_url| to a non-empty string.
39 // 39 //
40 // |current_title| is the title of the page the user is viewing when accessing
41 // the omnibox.
Mark P 2017/04/12 05:07:56 Please add why this variable is needed, otherwise
gcomanici 2017/04/12 16:16:30 Done.
42 //
40 // |current_page_classification| represents the type of page the user is 43 // |current_page_classification| represents the type of page the user is
41 // viewing and manner in which the user is accessing the omnibox; it's 44 // viewing and manner in which the user is accessing the omnibox; it's
42 // more than simply the URL. It includes, for example, whether the page 45 // more than simply the URL. It includes, for example, whether the page
43 // is a search result page doing search term replacement or not. 46 // is a search result page doing search term replacement or not.
44 // 47 //
45 // |prevent_inline_autocomplete| is true if the generated result set should 48 // |prevent_inline_autocomplete| is true if the generated result set should
46 // not require inline autocomplete for the default match. This is difficult 49 // not require inline autocomplete for the default match. This is difficult
47 // to explain in the abstract; the practical use case is that after the user 50 // to explain in the abstract; the practical use case is that after the user
48 // deletes text in the edit, the HistoryURLProvider should make sure not to 51 // deletes text in the edit, the HistoryURLProvider should make sure not to
49 // promote a match requiring inline autocomplete too highly. 52 // promote a match requiring inline autocomplete too highly.
(...skipping 15 matching lines...) Expand all
65 // omnibox being focused, instead of due to user input changes. Most 68 // omnibox being focused, instead of due to user input changes. Most
66 // providers should not provide matches in this case. Providers which want to 69 // providers should not provide matches in this case. Providers which want to
67 // display matches on focus can use this flag to know when they can do so. 70 // display matches on focus can use this flag to know when they can do so.
68 // 71 //
69 // |scheme_classifier| is passed to Parse() to help determine the type of 72 // |scheme_classifier| is passed to Parse() to help determine the type of
70 // input this is; see comments there. 73 // input this is; see comments there.
71 AutocompleteInput(const base::string16& text, 74 AutocompleteInput(const base::string16& text,
72 size_t cursor_position, 75 size_t cursor_position,
73 const std::string& desired_tld, 76 const std::string& desired_tld,
74 const GURL& current_url, 77 const GURL& current_url,
78 const base::string16& current_title,
75 metrics::OmniboxEventProto::PageClassification 79 metrics::OmniboxEventProto::PageClassification
76 current_page_classification, 80 current_page_classification,
77 bool prevent_inline_autocomplete, 81 bool prevent_inline_autocomplete,
78 bool prefer_keyword, 82 bool prefer_keyword,
79 bool allow_exact_keyword_match, 83 bool allow_exact_keyword_match,
80 bool want_asynchronous_matches, 84 bool want_asynchronous_matches,
81 bool from_omnibox_focus, 85 bool from_omnibox_focus,
82 const AutocompleteSchemeClassifier& scheme_classifier); 86 const AutocompleteSchemeClassifier& scheme_classifier);
83 AutocompleteInput(const AutocompleteInput& other); 87 AutocompleteInput(const AutocompleteInput& other);
84 ~AutocompleteInput(); 88 ~AutocompleteInput();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 // Use of this setter is risky, since no other internal state is updated 144 // Use of this setter is risky, since no other internal state is updated
141 // besides |text_|, |cursor_position_| and |parts_|. Only callers who know 145 // besides |text_|, |cursor_position_| and |parts_|. Only callers who know
142 // that they're not changing the type/scheme/etc. should use this. 146 // that they're not changing the type/scheme/etc. should use this.
143 void UpdateText(const base::string16& text, 147 void UpdateText(const base::string16& text,
144 size_t cursor_position, 148 size_t cursor_position,
145 const url::Parsed& parts); 149 const url::Parsed& parts);
146 150
147 // The current URL, or an invalid GURL if query refinement is not desired. 151 // The current URL, or an invalid GURL if query refinement is not desired.
148 const GURL& current_url() const { return current_url_; } 152 const GURL& current_url() const { return current_url_; }
149 153
154 // The title of the current page, corresponding to the current URL, or empty
155 // if this is not available.
156 const base::string16& current_title() const { return current_title_; }
157
150 // The type of page that is currently behind displayed and how it is 158 // The type of page that is currently behind displayed and how it is
151 // displayed (e.g., with search term replacement or without). 159 // displayed (e.g., with search term replacement or without).
152 metrics::OmniboxEventProto::PageClassification current_page_classification() 160 metrics::OmniboxEventProto::PageClassification current_page_classification()
153 const { 161 const {
154 return current_page_classification_; 162 return current_page_classification_;
155 } 163 }
156 164
157 // The type of input supplied. 165 // The type of input supplied.
158 metrics::OmniboxInputType::Type type() const { return type_; } 166 metrics::OmniboxInputType::Type type() const { return type_; }
159 167
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 void Clear(); 210 void Clear();
203 211
204 private: 212 private:
205 friend class AutocompleteProviderTest; 213 friend class AutocompleteProviderTest;
206 214
207 // NOTE: Whenever adding a new field here, please make sure to update Clear() 215 // NOTE: Whenever adding a new field here, please make sure to update Clear()
208 // method. 216 // method.
209 base::string16 text_; 217 base::string16 text_;
210 size_t cursor_position_; 218 size_t cursor_position_;
211 GURL current_url_; 219 GURL current_url_;
220 base::string16 current_title_;
212 metrics::OmniboxEventProto::PageClassification current_page_classification_; 221 metrics::OmniboxEventProto::PageClassification current_page_classification_;
213 metrics::OmniboxInputType::Type type_; 222 metrics::OmniboxInputType::Type type_;
214 url::Parsed parts_; 223 url::Parsed parts_;
215 base::string16 scheme_; 224 base::string16 scheme_;
216 GURL canonicalized_url_; 225 GURL canonicalized_url_;
217 bool prevent_inline_autocomplete_; 226 bool prevent_inline_autocomplete_;
218 bool prefer_keyword_; 227 bool prefer_keyword_;
219 bool allow_exact_keyword_match_; 228 bool allow_exact_keyword_match_;
220 bool want_asynchronous_matches_; 229 bool want_asynchronous_matches_;
221 bool from_omnibox_focus_; 230 bool from_omnibox_focus_;
222 std::vector<base::string16> terms_prefixed_by_http_or_https_; 231 std::vector<base::string16> terms_prefixed_by_http_or_https_;
223 }; 232 };
224 233
225 #endif // COMPONENTS_OMNIBOX_BROWSER_AUTOCOMPLETE_INPUT_H_ 234 #endif // COMPONENTS_OMNIBOX_BROWSER_AUTOCOMPLETE_INPUT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698