Chromium Code Reviews| Index: chrome/browser/history/url_database.cc |
| diff --git a/chrome/browser/history/url_database.cc b/chrome/browser/history/url_database.cc |
| index 0856d25ef4f7a508a0af2939879ed4a9f810bc85..f18cabca5802fa074d697fb59b099f506f589d2f 100644 |
| --- a/chrome/browser/history/url_database.cc |
| +++ b/chrome/browser/history/url_database.cc |
| @@ -358,6 +358,31 @@ bool URLDatabase::FindShortestURLFromBase(const std::string& base, |
| return true; |
| } |
| +bool URLDatabase::GetTextMatches(const string16& query, |
| + URLRows* results) { |
| + ScopedVector<QueryNode> query_nodes; |
| + query_parser_.ParseQueryNodes(query, &query_nodes.get()); |
| + |
| + sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, |
| + "SELECT" HISTORY_URL_ROW_FIELDS "FROM urls WHERE hidden = 0")); |
| + |
| + while (statement.Step()) { |
| + std::vector<QueryWord> query_words; |
| + string16 url = base::i18n::ToLower(UTF8ToUTF16(statement.ColumnString(1))); |
|
Scott Hess - ex-Googler
2013/06/13 19:45:58
Replace UTF8ToUTF16(ColumnString()) with ColumnStr
rmcilroy
2013/06/14 12:45:41
Done.
|
| + query_parser_.ExtractQueryWords(url, &query_words); |
| + string16 title = base::i18n::ToLower(statement.ColumnString16(2)); |
| + query_parser_.ExtractQueryWords(title, &query_words); |
| + |
| + if (query_parser_.DoesQueryMatch(query_words, query_nodes.get())) { |
| + history::URLResult info; |
| + FillURLRow(statement, &info); |
| + if (info.url().is_valid()) |
| + results->push_back(info); |
| + } |
| + } |
| + return !results->empty(); |
|
Scott Hess - ex-Googler
2013/06/13 19:45:58
If this is your success metric, do you want result
rmcilroy
2013/06/14 12:45:41
Done.
|
| +} |
| + |
| bool URLDatabase::InitKeywordSearchTermsTable() { |
| has_keyword_search_terms_ = true; |
| if (!GetDB().DoesTableExist("keyword_search_terms")) { |