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

Side by Side Diff: components/omnibox/browser/history_url_provider.cc

Issue 2433583002: Reduce buggy usage of the registry controlled domain service. (Closed)
Patch Set: Fix Created 4 years, 2 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
OLDNEW
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/browser/history_url_provider.h" 5 #include "components/omnibox/browser/history_url_provider.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 964 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 // Normally passing the first two conditions below ought to guarantee the 975 // Normally passing the first two conditions below ought to guarantee the
976 // third condition, but because FixupUserInput() can run and modify the 976 // third condition, but because FixupUserInput() can run and modify the
977 // input's text and parts between Parse() and here, it seems better to be 977 // input's text and parts between Parse() and here, it seems better to be
978 // paranoid and check. 978 // paranoid and check.
979 if ((input.type() != metrics::OmniboxInputType::UNKNOWN) || 979 if ((input.type() != metrics::OmniboxInputType::UNKNOWN) ||
980 !base::LowerCaseEqualsASCII(input.scheme(), url::kHttpScheme) || 980 !base::LowerCaseEqualsASCII(input.scheme(), url::kHttpScheme) ||
981 !input.parts().host.is_nonempty()) 981 !input.parts().host.is_nonempty())
982 return false; 982 return false;
983 const std::string host(base::UTF16ToUTF8( 983 const std::string host(base::UTF16ToUTF8(
984 input.text().substr(input.parts().host.begin, input.parts().host.len))); 984 input.text().substr(input.parts().host.begin, input.parts().host.len)));
985 const size_t registry_length = 985 const bool has_registry_domain =
986 net::registry_controlled_domains::GetRegistryLength( 986 net::registry_controlled_domains::HostHasRegistryControlledDomain(
987 host, 987 host,
988 net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES, 988 net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES,
989 net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES); 989 net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
990 return registry_length == 0 && db->IsTypedHost(host); 990 return !has_registry_domain && db->IsTypedHost(host);
991 } 991 }
992 992
993 bool HistoryURLProvider::PromoteOrCreateShorterSuggestion( 993 bool HistoryURLProvider::PromoteOrCreateShorterSuggestion(
994 history::URLDatabase* db, 994 history::URLDatabase* db,
995 HistoryURLProviderParams* params) { 995 HistoryURLProviderParams* params) {
996 if (params->matches.empty()) 996 if (params->matches.empty())
997 return false; // No matches, nothing to do. 997 return false; // No matches, nothing to do.
998 998
999 // Determine the base URL from which to search, and whether that URL could 999 // Determine the base URL from which to search, and whether that URL could
1000 // itself be added as a match. We can add the base iff it's not "effectively 1000 // itself be added as a match. We can add the base iff it's not "effectively
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
1193 AutocompleteMatch::ClassifyLocationInString(base::string16::npos, 0, 1193 AutocompleteMatch::ClassifyLocationInString(base::string16::npos, 0,
1194 match.contents.length(), ACMatchClassification::URL, 1194 match.contents.length(), ACMatchClassification::URL,
1195 &match.contents_class); 1195 &match.contents_class);
1196 } 1196 }
1197 match.description = info.title(); 1197 match.description = info.title();
1198 match.description_class = 1198 match.description_class =
1199 ClassifyDescription(params.input.text(), match.description); 1199 ClassifyDescription(params.input.text(), match.description);
1200 RecordAdditionalInfoFromUrlRow(info, &match); 1200 RecordAdditionalInfoFromUrlRow(info, &match);
1201 return match; 1201 return match;
1202 } 1202 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698