| 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 #include "components/omnibox/url_index_private_data.h" | 5 #include "components/omnibox/url_index_private_data.h" |
| 6 | 6 |
| 7 #include <functional> | 7 #include <functional> |
| 8 #include <iterator> | 8 #include <iterator> |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <numeric> | 10 #include <numeric> |
| (...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 return HistoryIDSet(); | 556 return HistoryIDSet(); |
| 557 | 557 |
| 558 // TODO(mrossetti): Consider optimizing for very common terms such as | 558 // TODO(mrossetti): Consider optimizing for very common terms such as |
| 559 // 'http[s]', 'www', 'com', etc. Or collect the top 100 more frequently | 559 // 'http[s]', 'www', 'com', etc. Or collect the top 100 more frequently |
| 560 // occuring words in the user's searches. | 560 // occuring words in the user's searches. |
| 561 | 561 |
| 562 size_t term_length = term.length(); | 562 size_t term_length = term.length(); |
| 563 WordIDSet word_id_set; | 563 WordIDSet word_id_set; |
| 564 if (term_length > 1) { | 564 if (term_length > 1) { |
| 565 // See if this term or a prefix thereof is present in the cache. | 565 // See if this term or a prefix thereof is present in the cache. |
| 566 base::string16 term_lower = base::i18n::ToLower(term); |
| 566 SearchTermCacheMap::iterator best_prefix(search_term_cache_.end()); | 567 SearchTermCacheMap::iterator best_prefix(search_term_cache_.end()); |
| 567 for (SearchTermCacheMap::iterator cache_iter = search_term_cache_.begin(); | 568 for (SearchTermCacheMap::iterator cache_iter = search_term_cache_.begin(); |
| 568 cache_iter != search_term_cache_.end(); ++cache_iter) { | 569 cache_iter != search_term_cache_.end(); ++cache_iter) { |
| 569 if (base::StartsWith(term, cache_iter->first, false) && | 570 if (base::StartsWith(term_lower, |
| 571 base::i18n::ToLower(cache_iter->first), |
| 572 base::CompareCase::SENSITIVE) && |
| 570 (best_prefix == search_term_cache_.end() || | 573 (best_prefix == search_term_cache_.end() || |
| 571 cache_iter->first.length() > best_prefix->first.length())) | 574 cache_iter->first.length() > best_prefix->first.length())) |
| 572 best_prefix = cache_iter; | 575 best_prefix = cache_iter; |
| 573 } | 576 } |
| 574 | 577 |
| 575 // If a prefix was found then determine the leftover characters to be used | 578 // If a prefix was found then determine the leftover characters to be used |
| 576 // for further refining the results from that prefix. | 579 // for further refining the results from that prefix. |
| 577 Char16Set prefix_chars; | 580 Char16Set prefix_chars; |
| 578 base::string16 leftovers(term); | 581 base::string16 leftovers(term); |
| 579 if (best_prefix != search_term_cache_.end()) { | 582 if (best_prefix != search_term_cache_.end()) { |
| (...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1348 // First cut: typed count, visit count, recency. | 1351 // First cut: typed count, visit count, recency. |
| 1349 // TODO(mrossetti): This is too simplistic. Consider an approach which ranks | 1352 // TODO(mrossetti): This is too simplistic. Consider an approach which ranks |
| 1350 // recently visited (within the last 12/24 hours) as highly important. Get | 1353 // recently visited (within the last 12/24 hours) as highly important. Get |
| 1351 // input from mpearson. | 1354 // input from mpearson. |
| 1352 if (r1.typed_count() != r2.typed_count()) | 1355 if (r1.typed_count() != r2.typed_count()) |
| 1353 return (r1.typed_count() > r2.typed_count()); | 1356 return (r1.typed_count() > r2.typed_count()); |
| 1354 if (r1.visit_count() != r2.visit_count()) | 1357 if (r1.visit_count() != r2.visit_count()) |
| 1355 return (r1.visit_count() > r2.visit_count()); | 1358 return (r1.visit_count() > r2.visit_count()); |
| 1356 return (r1.last_visit() > r2.last_visit()); | 1359 return (r1.last_visit() > r2.last_visit()); |
| 1357 } | 1360 } |
| OLD | NEW |