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

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

Issue 8552002: net: Move UnescapeRule into the net namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_quick_provider.h" 5 #include "chrome/browser/autocomplete/history_quick_provider.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/i18n/break_iterator.h" 10 #include "base/i18n/break_iterator.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 } 82 }
83 } 83 }
84 84
85 // TODO(mrossetti): Implement this function. (Will happen in next CL.) 85 // TODO(mrossetti): Implement this function. (Will happen in next CL.)
86 void HistoryQuickProvider::DeleteMatch(const AutocompleteMatch& match) {} 86 void HistoryQuickProvider::DeleteMatch(const AutocompleteMatch& match) {}
87 87
88 void HistoryQuickProvider::DoAutocomplete() { 88 void HistoryQuickProvider::DoAutocomplete() {
89 // Get the matching URLs from the DB. 89 // Get the matching URLs from the DB.
90 string16 term_string = autocomplete_input_.text(); 90 string16 term_string = autocomplete_input_.text();
91 term_string = net::UnescapeURLComponent(term_string, 91 term_string = net::UnescapeURLComponent(term_string,
92 UnescapeRule::SPACES | UnescapeRule::URL_SPECIAL_CHARS); 92 net::UnescapeRule::SPACES | net::UnescapeRule::URL_SPECIAL_CHARS);
93 history::String16Vector terms( 93 history::String16Vector terms(
94 history::String16VectorFromString16(term_string, false)); 94 history::String16VectorFromString16(term_string, false));
95 ScoredHistoryMatches matches = GetIndex()->HistoryItemsForTerms(terms); 95 ScoredHistoryMatches matches = GetIndex()->HistoryItemsForTerms(terms);
96 if (matches.empty()) 96 if (matches.empty())
97 return; 97 return;
98 98
99 // Artificially reduce the score of high-scoring matches which should not be 99 // Artificially reduce the score of high-scoring matches which should not be
100 // inline autocompletd. Each such result gets the next available 100 // inline autocompletd. Each such result gets the next available
101 // |max_match_score|. Upon use of |max_match_score| it is decremented. 101 // |max_match_score|. Upon use of |max_match_score| it is decremented.
102 // All subsequent matches must be clamped to retain match results ordering. 102 // All subsequent matches must be clamped to retain match results ordering.
(...skipping 22 matching lines...) Expand all
125 int score = CalculateRelevance(history_match, max_match_score); 125 int score = CalculateRelevance(history_match, max_match_score);
126 AutocompleteMatch match(this, score, !!info.visit_count(), 126 AutocompleteMatch match(this, score, !!info.visit_count(),
127 history_match.url_matches.empty() ? 127 history_match.url_matches.empty() ?
128 AutocompleteMatch::HISTORY_URL : AutocompleteMatch::HISTORY_TITLE); 128 AutocompleteMatch::HISTORY_URL : AutocompleteMatch::HISTORY_TITLE);
129 match.destination_url = info.url(); 129 match.destination_url = info.url();
130 DCHECK(match.destination_url.is_valid()); 130 DCHECK(match.destination_url.is_valid());
131 131
132 // Format the URL autocomplete presentation. 132 // Format the URL autocomplete presentation.
133 std::vector<size_t> offsets = 133 std::vector<size_t> offsets =
134 OffsetsFromTermMatches(history_match.url_matches); 134 OffsetsFromTermMatches(history_match.url_matches);
135 match.contents = 135 match.contents = net::FormatUrlWithOffsets(info.url(), languages_,
136 net::FormatUrlWithOffsets(info.url(), languages_, net::kFormatUrlOmitAll, 136 net::kFormatUrlOmitAll, net::UnescapeRule::SPACES, NULL, NULL, &offsets);
137 UnescapeRule::SPACES, NULL, NULL, &offsets);
138 history::TermMatches new_matches = 137 history::TermMatches new_matches =
139 ReplaceOffsetsInTermMatches(history_match.url_matches, offsets); 138 ReplaceOffsetsInTermMatches(history_match.url_matches, offsets);
140 match.contents_class = 139 match.contents_class =
141 SpansFromTermMatch(new_matches, match.contents.length(), true); 140 SpansFromTermMatch(new_matches, match.contents.length(), true);
142 match.fill_into_edit = match.contents; 141 match.fill_into_edit = match.contents;
143 142
144 if (prevent_inline_autocomplete || !history_match.can_inline) { 143 if (prevent_inline_autocomplete || !history_match.can_inline) {
145 match.inline_autocomplete_offset = string16::npos; 144 match.inline_autocomplete_offset = string16::npos;
146 } else { 145 } else {
147 match.inline_autocomplete_offset = 146 match.inline_autocomplete_offset =
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 do { 208 do {
210 offset += matches[i].length; 209 offset += matches[i].length;
211 ++i; 210 ++i;
212 } while ((i < match_count) && (offset == matches[i].offset)); 211 } while ((i < match_count) && (offset == matches[i].offset));
213 if (offset < text_length) 212 if (offset < text_length)
214 spans.push_back(ACMatchClassification(offset, url_style)); 213 spans.push_back(ACMatchClassification(offset, url_style));
215 } 214 }
216 215
217 return spans; 216 return spans;
218 } 217 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/autocomplete.cc ('k') | chrome/browser/autocomplete/history_url_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698