Chromium Code Reviews| Index: components/omnibox/autocomplete_match.cc |
| diff --git a/components/omnibox/autocomplete_match.cc b/components/omnibox/autocomplete_match.cc |
| index 74d341071e3528f97f8f389b6df697244e261856..7690340ed4ea22aea1d240596d088199794c42f3 100644 |
| --- a/components/omnibox/autocomplete_match.cc |
| +++ b/components/omnibox/autocomplete_match.cc |
| @@ -431,6 +431,21 @@ GURL AutocompleteMatch::GURLToStrippedGURL( |
| needs_replacement = true; |
| } |
| + // Remove any trailing slash (if it's not a lone slash), or add a slash (to |
| + // make a lone slash) if the path is empty. (We can't unconditionally |
| + // remove even lone slashes because for some schemes the path must consist |
| + // of at least a slash.) |
| + const std::string& path = stripped_destination_url.path(); |
| + if ((path.length() > 1) && (path[path.length() - 1] == '/')) { |
| + replacements.SetPathStr( |
| + base::StringPiece(path).substr(0, path.length() - 1)); |
| + needs_replacement = true; |
| + } else if (path.empty()) { |
| + static const char slash[] = "/"; |
| + replacements.SetPathStr(base::StringPiece(slash)); |
| + needs_replacement = true; |
| + } |
| + |
| // Replace https protocol with http protocol. |
| if (stripped_destination_url.SchemeIs(url::kHttpsScheme)) { |
| replacements.SetScheme(url::kHttpScheme, |
| @@ -549,6 +564,15 @@ void AutocompleteMatch::PossiblySwapContentsAndDescriptionForDisplay() { |
| } |
| } |
| +void AutocompleteMatch::StripLoneSlashOnInlineAutocompletion() { |
| + DCHECK(!IsSearchType(type)); |
| + static const base::char16 slash_utf8 = 0x002F; |
|
Peter Kasting
2015/07/01 22:01:36
Why declare a variable for this? And use 0x002f i
|
| + if ((inline_autocompletion.length() == 1) && |
|
Mark P
2015/06/30 23:47:30
I know you may argue that we should simply remove
|
| + (inline_autocompletion[0] == slash_utf8)) { |
|
Peter Kasting
2015/07/01 22:01:36
Nit: No {}
|
| + inline_autocompletion.clear(); |
| + } |
| +} |
| + |
| #ifndef NDEBUG |
| void AutocompleteMatch::Validate() const { |
| ValidateClassifications(contents, contents_class); |