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

Side by Side Diff: net/base/net_util.cc

Issue 1841863002: Update monet. (Closed) Base URL: https://github.com/domokit/monet.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « net/base/net_string_util_icu.cc ('k') | net/base/net_util_icu.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "net/base/net_util.h" 5 #include "net/base/net_util.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 } else if (!IsHostCharAlphanumeric(c) && (c != '-') && (c != '_')) { 273 } else if (!IsHostCharAlphanumeric(c) && (c != '-') && (c != '_')) {
274 return false; 274 return false;
275 } 275 }
276 } 276 }
277 277
278 return most_recent_component_started_alphanumeric; 278 return most_recent_component_started_alphanumeric;
279 } 279 }
280 280
281 base::string16 StripWWW(const base::string16& text) { 281 base::string16 StripWWW(const base::string16& text) {
282 const base::string16 www(base::ASCIIToUTF16("www.")); 282 const base::string16 www(base::ASCIIToUTF16("www."));
283 return StartsWith(text, www, true) ? text.substr(www.length()) : text; 283 return base::StartsWith(text, www, base::CompareCase::SENSITIVE)
284 ? text.substr(www.length())
285 : text;
284 } 286 }
285 287
286 base::string16 StripWWWFromHost(const GURL& url) { 288 base::string16 StripWWWFromHost(const GURL& url) {
287 DCHECK(url.is_valid()); 289 DCHECK(url.is_valid());
288 return StripWWW(base::ASCIIToUTF16(url.host())); 290 return StripWWW(base::ASCIIToUTF16(url.host()));
289 } 291 }
290 292
291 bool IsPortValid(int port) { 293 bool IsPortValid(int port) {
292 return port >= 0 && port <= std::numeric_limits<uint16>::max(); 294 return port >= 0 && port <= std::numeric_limits<uint16>::max();
293 } 295 }
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 702
701 std::multiset<int> ports; 703 std::multiset<int> ports;
702 size_t last = 0; 704 size_t last = 0;
703 size_t size = allowed_ports.size(); 705 size_t size = allowed_ports.size();
704 // The comma delimiter. 706 // The comma delimiter.
705 const std::string::value_type kComma = ','; 707 const std::string::value_type kComma = ',';
706 708
707 // Overflow is still possible for evil user inputs. 709 // Overflow is still possible for evil user inputs.
708 for (size_t i = 0; i <= size; ++i) { 710 for (size_t i = 0; i <= size; ++i) {
709 // The string should be composed of only digits and commas. 711 // The string should be composed of only digits and commas.
710 if (i != size && !IsAsciiDigit(allowed_ports[i]) && 712 if (i != size && !base::IsAsciiDigit(allowed_ports[i]) &&
711 (allowed_ports[i] != kComma)) 713 (allowed_ports[i] != kComma))
712 return; 714 return;
713 if (i == size || allowed_ports[i] == kComma) { 715 if (i == size || allowed_ports[i] == kComma) {
714 if (i > last) { 716 if (i > last) {
715 int port; 717 int port;
716 base::StringToInt(base::StringPiece(allowed_ports.begin() + last, 718 base::StringToInt(base::StringPiece(allowed_ports.begin() + last,
717 allowed_ports.begin() + i), 719 allowed_ports.begin() + i),
718 &port); 720 &port);
719 ports.insert(port); 721 ports.insert(port);
720 } 722 }
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 if (host.empty()) 1015 if (host.empty())
1014 return false; 1016 return false;
1015 1017
1016 size_t host_len = host.size(); 1018 size_t host_len = host.size();
1017 if (*host.rbegin() == '.') 1019 if (*host.rbegin() == '.')
1018 --host_len; 1020 --host_len;
1019 if (host_len < kLocalhostTLDLength) 1021 if (host_len < kLocalhostTLDLength)
1020 return false; 1022 return false;
1021 1023
1022 const char* host_suffix = host.data() + host_len - kLocalhostTLDLength; 1024 const char* host_suffix = host.data() + host_len - kLocalhostTLDLength;
1023 return base::strncasecmp(host_suffix, kLocalhostTLD, kLocalhostTLDLength) == 1025 return strncasecmp(host_suffix, kLocalhostTLD, kLocalhostTLDLength) == 0;
1024 0;
1025 } 1026 }
1026 1027
1027 bool HasGoogleHost(const GURL& url) { 1028 bool HasGoogleHost(const GURL& url) {
1028 static const char* kGoogleHostSuffixes[] = { 1029 static const char* kGoogleHostSuffixes[] = {
1029 ".google.com", 1030 ".google.com",
1030 ".youtube.com", 1031 ".youtube.com",
1031 ".gmail.com", 1032 ".gmail.com",
1032 ".doubleclick.net", 1033 ".doubleclick.net",
1033 ".gstatic.com", 1034 ".gstatic.com",
1034 ".googlevideo.com", 1035 ".googlevideo.com",
1035 ".googleusercontent.com", 1036 ".googleusercontent.com",
1036 ".googlesyndication.com", 1037 ".googlesyndication.com",
1037 ".google-analytics.com", 1038 ".google-analytics.com",
1038 ".googleadservices.com", 1039 ".googleadservices.com",
1039 ".googleapis.com", 1040 ".googleapis.com",
1040 ".ytimg.com", 1041 ".ytimg.com",
1041 }; 1042 };
1042 const std::string& host = url.host(); 1043 const std::string& host = url.host();
1043 for (const char* suffix : kGoogleHostSuffixes) { 1044 for (const char* suffix : kGoogleHostSuffixes) {
1044 if (EndsWith(host, suffix, false)) 1045 if (base::EndsWith(host, suffix, base::CompareCase::INSENSITIVE_ASCII))
1045 return true; 1046 return true;
1046 } 1047 }
1047 return false; 1048 return false;
1048 } 1049 }
1049 1050
1050 NetworkInterface::NetworkInterface() 1051 NetworkInterface::NetworkInterface()
1051 : type(NetworkChangeNotifier::CONNECTION_UNKNOWN), prefix_length(0) { 1052 : type(NetworkChangeNotifier::CONNECTION_UNKNOWN), prefix_length(0) {
1052 } 1053 }
1053 1054
1054 NetworkInterface::NetworkInterface(const std::string& name, 1055 NetworkInterface::NetworkInterface(const std::string& name,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1089 1090
1090 unsigned MaskPrefixLength(const IPAddressNumber& mask) { 1091 unsigned MaskPrefixLength(const IPAddressNumber& mask) {
1091 IPAddressNumber all_ones(mask.size(), 0xFF); 1092 IPAddressNumber all_ones(mask.size(), 0xFF);
1092 return CommonPrefixLength(mask, all_ones); 1093 return CommonPrefixLength(mask, all_ones);
1093 } 1094 }
1094 1095
1095 ScopedWifiOptions::~ScopedWifiOptions() { 1096 ScopedWifiOptions::~ScopedWifiOptions() {
1096 } 1097 }
1097 1098
1098 } // namespace net 1099 } // namespace net
OLDNEW
« no previous file with comments | « net/base/net_string_util_icu.cc ('k') | net/base/net_util_icu.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698