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

Unified Diff: net/base/ip_address_number.cc

Issue 1215933004: New new versions of Starts/EndsWith and SplitString in net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@starts_with
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: net/base/ip_address_number.cc
diff --git a/net/base/ip_address_number.cc b/net/base/ip_address_number.cc
index 06fc3ac29fba3925ff3ebeea7ff01c32e7848208..61af0679529f7cfbb1a69488c74252978ce6ca5d 100644
--- a/net/base/ip_address_number.cc
+++ b/net/base/ip_address_number.cc
@@ -156,13 +156,15 @@ bool ParseURLHostnameToNumber(const std::string& hostname,
return family == url::CanonHostInfo::IPV4;
}
-bool ParseIPLiteralToNumber(const std::string& ip_literal,
+bool ParseIPLiteralToNumber(const base::StringPiece& ip_literal,
IPAddressNumber* ip_number) {
// |ip_literal| could be either a IPv4 or an IPv6 literal. If it contains
// a colon however, it must be an IPv6 address.
- if (ip_literal.find(':') != std::string::npos) {
+ if (ip_literal.find(':') != base::StringPiece::npos) {
// GURL expects IPv6 hostnames to be surrounded with brackets.
- std::string host_brackets = "[" + ip_literal + "]";
+ std::string host_brackets = "[";
Ryan Sleevi 2015/07/06 08:52:01 EXTREME PEDANTRY NIT: Slight performance pedantry
brettw 2015/07/06 16:52:34 I find the suggested form less clear, personally,
+ ip_literal.AppendToString(&host_brackets);
+ host_brackets.push_back(']');
url::Component host_comp(0, host_brackets.size());
// Try parsing the hostname as an IPv6 literal.
@@ -222,8 +224,8 @@ bool ParseCIDRBlock(const std::string& cidr_literal,
// <IPv4-literal> "/" <number of bits>
// <IPv6-literal> "/" <number of bits>
- std::vector<std::string> parts;
- base::SplitString(cidr_literal, '/', &parts);
+ std::vector<base::StringPiece> parts = base::SplitStringPiece(
+ cidr_literal, "/", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
if (parts.size() != 2)
return false;
« no previous file with comments | « net/base/ip_address_number.h ('k') | net/base/ip_pattern.cc » ('j') | net/base/ip_pattern.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698