OLD | NEW |
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 "chrome/browser/net/url_fixer_upper.h" | 5 #include "chrome/browser/net/url_fixer_upper.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #if defined(OS_POSIX) | 9 #if defined(OS_POSIX) |
10 #include "base/environment.h" | 10 #include "base/environment.h" |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 // Check the TLD. If the return value is positive, we already have a TLD, so | 188 // Check the TLD. If the return value is positive, we already have a TLD, so |
189 // abort. If the return value is std::string::npos, there's no valid host, | 189 // abort. If the return value is std::string::npos, there's no valid host, |
190 // but we can try to append a TLD anyway, since the host may become valid once | 190 // but we can try to append a TLD anyway, since the host may become valid once |
191 // the TLD is attached -- for example, "999999999999" is detected as a broken | 191 // the TLD is attached -- for example, "999999999999" is detected as a broken |
192 // IP address and marked invalid, but attaching ".com" makes it legal. When | 192 // IP address and marked invalid, but attaching ".com" makes it legal. When |
193 // the return value is 0, there's a valid host with no known TLD, so we can | 193 // the return value is 0, there's a valid host with no known TLD, so we can |
194 // definitely append the user's TLD. We disallow unknown registries here so | 194 // definitely append the user's TLD. We disallow unknown registries here so |
195 // users can input "mail.yahoo" and hit ctrl-enter to get | 195 // users can input "mail.yahoo" and hit ctrl-enter to get |
196 // "www.mail.yahoo.com". | 196 // "www.mail.yahoo.com". |
197 const size_t registry_length = | 197 const size_t registry_length = |
198 net::RegistryControlledDomainService::GetRegistryLength(*domain, false); | 198 net::registry_controlled_domains::GetRegistryLength( |
| 199 *domain, |
| 200 net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES, |
| 201 net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES); |
199 if ((registry_length != 0) && (registry_length != std::string::npos)) | 202 if ((registry_length != 0) && (registry_length != std::string::npos)) |
200 return; | 203 return; |
201 | 204 |
202 // Add the suffix at the end of the domain. | 205 // Add the suffix at the end of the domain. |
203 const size_t domain_length(domain->length()); | 206 const size_t domain_length(domain->length()); |
204 DCHECK_GT(domain_length, 0U); | 207 DCHECK_GT(domain_length, 0U); |
205 DCHECK_NE(desired_tld[0], '.'); | 208 DCHECK_NE(desired_tld[0], '.'); |
206 if ((*domain)[domain_length - 1] != '.') | 209 if ((*domain)[domain_length - 1] != '.') |
207 domain->push_back('.'); | 210 domain->push_back('.'); |
208 domain->append(desired_tld); | 211 domain->append(desired_tld); |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 | 636 |
634 if (part->is_valid()) { | 637 if (part->is_valid()) { |
635 // Offset the location of this component. | 638 // Offset the location of this component. |
636 part->begin += offset; | 639 part->begin += offset; |
637 | 640 |
638 // This part might not have existed in the original text. | 641 // This part might not have existed in the original text. |
639 if (part->begin < 0) | 642 if (part->begin < 0) |
640 part->reset(); | 643 part->reset(); |
641 } | 644 } |
642 } | 645 } |
OLD | NEW |