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

Side by Side Diff: chrome/browser/autocomplete/history_contents_provider.cc

Issue 1912: Renames BoomarkBarModel to BookmarkModel. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 3 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #include "chrome/browser/autocomplete/history_contents_provider.h" 5 #include "chrome/browser/autocomplete/history_contents_provider.h"
6 6
7 #include "base/histogram.h" 7 #include "base/histogram.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "chrome/browser/history/query_parser.h" 9 #include "chrome/browser/history/query_parser.h"
10 #include "chrome/browser/profile.h" 10 #include "chrome/browser/profile.h"
(...skipping 27 matching lines...) Expand all
38 using history::HistoryDatabase; 38 using history::HistoryDatabase;
39 39
40 void HistoryContentsProvider::Start(const AutocompleteInput& input, 40 void HistoryContentsProvider::Start(const AutocompleteInput& input,
41 bool minimal_changes, 41 bool minimal_changes,
42 bool synchronous_only) { 42 bool synchronous_only) {
43 matches_.clear(); 43 matches_.clear();
44 44
45 if (input.text().empty() || (input.type() == AutocompleteInput::INVALID) || 45 if (input.text().empty() || (input.type() == AutocompleteInput::INVALID) ||
46 // The history service or bookmark bar model must exist. 46 // The history service or bookmark bar model must exist.
47 !(profile_->GetHistoryService(Profile::EXPLICIT_ACCESS) || 47 !(profile_->GetHistoryService(Profile::EXPLICIT_ACCESS) ||
48 profile_->GetBookmarkBarModel())) { 48 profile_->GetBookmarkModel())) {
49 Stop(); 49 Stop();
50 return; 50 return;
51 } 51 }
52 52
53 // TODO(pkasting): http://b/888148 We disallow URL input and "URL-like" input 53 // TODO(pkasting): http://b/888148 We disallow URL input and "URL-like" input
54 // (REQUESTED_URL or UNKNOWN with dots) because we get poor results for it, 54 // (REQUESTED_URL or UNKNOWN with dots) because we get poor results for it,
55 // but we could get better results if we did better tokenizing instead. 55 // but we could get better results if we did better tokenizing instead.
56 if ((input.type() == AutocompleteInput::URL) || 56 if ((input.type() == AutocompleteInput::URL) ||
57 (((input.type() == AutocompleteInput::REQUESTED_URL) || 57 (((input.type() == AutocompleteInput::REQUESTED_URL) ||
58 (input.type() == AutocompleteInput::UNKNOWN)) && 58 (input.type() == AutocompleteInput::UNKNOWN)) &&
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 // TODO(sky): if matched title highlight matching words in title. 184 // TODO(sky): if matched title highlight matching words in title.
185 // Also show star in popup. 185 // Also show star in popup.
186 AutocompleteMatch match(this, score, false); 186 AutocompleteMatch match(this, score, false);
187 match.fill_into_edit = StringForURLDisplay(result.url(), true); 187 match.fill_into_edit = StringForURLDisplay(result.url(), true);
188 match.destination_url = UTF8ToWide(result.url().spec()); 188 match.destination_url = UTF8ToWide(result.url().spec());
189 match.contents = match.fill_into_edit; 189 match.contents = match.fill_into_edit;
190 match.contents_class.push_back( 190 match.contents_class.push_back(
191 ACMatchClassification(0, ACMatchClassification::URL)); 191 ACMatchClassification(0, ACMatchClassification::URL));
192 match.description = result.title(); 192 match.description = result.title();
193 match.starred = 193 match.starred =
194 (profile_->GetBookmarkBarModel() && 194 (profile_->GetBookmarkModel() &&
195 profile_->GetBookmarkBarModel()->IsBookmarked(result.url())); 195 profile_->GetBookmarkModel()->IsBookmarked(result.url()));
196 196
197 ClassifyDescription(result, &match); 197 ClassifyDescription(result, &match);
198 return match; 198 return match;
199 } 199 }
200 200
201 void HistoryContentsProvider::ClassifyDescription( 201 void HistoryContentsProvider::ClassifyDescription(
202 const history::URLResult& result, 202 const history::URLResult& result,
203 AutocompleteMatch* match) const { 203 AutocompleteMatch* match) const {
204 const Snippet::MatchPositions& title_matches = result.title_match_positions(); 204 const Snippet::MatchPositions& title_matches = result.title_match_positions();
205 205
(...skipping 14 matching lines...) Expand all
220 if (offset != result.title().size()) { 220 if (offset != result.title().size()) {
221 match->description_class.push_back( 221 match->description_class.push_back(
222 ACMatchClassification(offset, ACMatchClassification::NONE)); 222 ACMatchClassification(offset, ACMatchClassification::NONE));
223 } 223 }
224 } 224 }
225 225
226 int HistoryContentsProvider::CalculateRelevance( 226 int HistoryContentsProvider::CalculateRelevance(
227 const history::URLResult& result) { 227 const history::URLResult& result) {
228 bool in_title = !!result.title_match_positions().size(); 228 bool in_title = !!result.title_match_positions().size();
229 bool is_starred = 229 bool is_starred =
230 (profile_->GetBookmarkBarModel() && 230 (profile_->GetBookmarkModel() &&
231 profile_->GetBookmarkBarModel()->IsBookmarked(result.url())); 231 profile_->GetBookmarkModel()->IsBookmarked(result.url()));
232 232
233 switch (input_type_) { 233 switch (input_type_) {
234 case AutocompleteInput::UNKNOWN: 234 case AutocompleteInput::UNKNOWN:
235 case AutocompleteInput::REQUESTED_URL: 235 case AutocompleteInput::REQUESTED_URL:
236 if (is_starred) { 236 if (is_starred) {
237 return in_title ? 1000 + star_title_count_++ : 237 return in_title ? 1000 + star_title_count_++ :
238 550 + star_contents_count_++; 238 550 + star_contents_count_++;
239 } else { 239 } else {
240 return in_title ? 700 + title_count_++ : 240 return in_title ? 700 + title_count_++ :
241 500 + contents_count_++; 241 500 + contents_count_++;
242 } 242 }
243 243
244 case AutocompleteInput::QUERY: 244 case AutocompleteInput::QUERY:
245 case AutocompleteInput::FORCED_QUERY: 245 case AutocompleteInput::FORCED_QUERY:
246 if (is_starred) { 246 if (is_starred) {
247 return in_title ? 1200 + star_title_count_++ : 247 return in_title ? 1200 + star_title_count_++ :
248 750 + star_contents_count_++; 248 750 + star_contents_count_++;
249 } else { 249 } else {
250 return in_title ? 900 + title_count_++ : 250 return in_title ? 900 + title_count_++ :
251 700 + contents_count_++; 251 700 + contents_count_++;
252 } 252 }
253 253
254 default: 254 default:
255 NOTREACHED(); 255 NOTREACHED();
256 return 0; 256 return 0;
257 } 257 }
258 } 258 }
259 259
260 void HistoryContentsProvider::QueryBookmarks(const AutocompleteInput& input) { 260 void HistoryContentsProvider::QueryBookmarks(const AutocompleteInput& input) {
261 BookmarkBarModel* bookmark_model = profile_->GetBookmarkBarModel(); 261 BookmarkModel* bookmark_model = profile_->GetBookmarkModel();
262 if (!bookmark_model) 262 if (!bookmark_model)
263 return; 263 return;
264 264
265 DCHECK(results_.size() == 0); // When we get here the results should be 265 DCHECK(results_.size() == 0); // When we get here the results should be
266 // empty. 266 // empty.
267 267
268 TimeTicks start_time = TimeTicks::Now(); 268 TimeTicks start_time = TimeTicks::Now();
269 std::vector<BookmarkBarModel::TitleMatch> matches; 269 std::vector<BookmarkModel::TitleMatch> matches;
270 bookmark_model->GetBookmarksMatchingText(input.text(), kMaxMatchCount, 270 bookmark_model->GetBookmarksMatchingText(input.text(), kMaxMatchCount,
271 &matches); 271 &matches);
272 for (size_t i = 0; i < matches.size(); ++i) 272 for (size_t i = 0; i < matches.size(); ++i)
273 AddBookmarkTitleMatchToResults(matches[i]); 273 AddBookmarkTitleMatchToResults(matches[i]);
274 UMA_HISTOGRAM_TIMES(L"Omnibox.QueryBookmarksTime", 274 UMA_HISTOGRAM_TIMES(L"Omnibox.QueryBookmarksTime",
275 TimeTicks::Now() - start_time); 275 TimeTicks::Now() - start_time);
276 } 276 }
277 277
278 void HistoryContentsProvider::AddBookmarkTitleMatchToResults( 278 void HistoryContentsProvider::AddBookmarkTitleMatchToResults(
279 const BookmarkBarModel::TitleMatch& match) { 279 const BookmarkModel::TitleMatch& match) {
280 history::URLResult url_result(match.node->GetURL(), match.match_positions); 280 history::URLResult url_result(match.node->GetURL(), match.match_positions);
281 url_result.set_title(match.node->GetTitle()); 281 url_result.set_title(match.node->GetTitle());
282 results_.AppendURLBySwapping(&url_result); 282 results_.AppendURLBySwapping(&url_result);
283 } 283 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698