| 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 // NB: Modelled after Mozilla's code (originally written by Pamela Greene, | 5 // NB: Modelled after Mozilla's code (originally written by Pamela Greene, |
| 6 // later modified by others), but almost entirely rewritten for Chrome. | 6 // later modified by others), but almost entirely rewritten for Chrome. |
| 7 // (netwerk/dns/src/nsEffectiveTLDService.h) | 7 // (netwerk/dns/src/nsEffectiveTLDService.h) |
| 8 /* ***** BEGIN LICENSE BLOCK ***** | 8 /* ***** BEGIN LICENSE BLOCK ***** |
| 9 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 9 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 10 * | 10 * |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 // http://a.b.co.uk/file.html -> "b.co.uk" (co.uk) | 175 // http://a.b.co.uk/file.html -> "b.co.uk" (co.uk) |
| 176 // file:///C:/bar.html -> "" (no host) | 176 // file:///C:/bar.html -> "" (no host) |
| 177 // http://foo.com../file.html -> "" (multiple trailing dots) | 177 // http://foo.com../file.html -> "" (multiple trailing dots) |
| 178 // http://192.168.0.1/file.html -> "" (IP address) | 178 // http://192.168.0.1/file.html -> "" (IP address) |
| 179 // http://bar/file.html -> "" (no subcomponents) | 179 // http://bar/file.html -> "" (no subcomponents) |
| 180 // http://co.uk/file.html -> "" (host is a registry) | 180 // http://co.uk/file.html -> "" (host is a registry) |
| 181 // http://foo.bar/file.html -> "foo.bar" (no rule; assume bar) | 181 // http://foo.bar/file.html -> "foo.bar" (no rule; assume bar) |
| 182 NET_EXPORT std::string GetDomainAndRegistry(const GURL& gurl, | 182 NET_EXPORT std::string GetDomainAndRegistry(const GURL& gurl, |
| 183 PrivateRegistryFilter filter); | 183 PrivateRegistryFilter filter); |
| 184 | 184 |
| 185 // Same as above, but returns the domain and registry as a StringPiece that |
| 186 // references the underlying string of the passed-in |gurl|. |
| 187 // TODO(pkalinnikov): Rename this to GetDomainAndRegistry and get rid of the |
| 188 // std::string-returning version. Update clients. |
| 189 NET_EXPORT base::StringPiece GetDomainAndRegistryAsStringPiece( |
| 190 const GURL& gurl, |
| 191 PrivateRegistryFilter filter); |
| 192 |
| 185 // Like the GURL version, but takes a host (which is canonicalized internally) | 193 // Like the GURL version, but takes a host (which is canonicalized internally) |
| 186 // instead of a full GURL. | 194 // instead of a full GURL. |
| 187 NET_EXPORT std::string GetDomainAndRegistry(base::StringPiece host, | 195 NET_EXPORT std::string GetDomainAndRegistry(base::StringPiece host, |
| 188 PrivateRegistryFilter filter); | 196 PrivateRegistryFilter filter); |
| 189 | 197 |
| 190 // These convenience functions return true if the two GURLs or Origins both have | 198 // These convenience functions return true if the two GURLs or Origins both have |
| 191 // hosts and one of the following is true: | 199 // hosts and one of the following is true: |
| 192 // * They each have a known domain and registry, and it is the same for both | 200 // * They each have a known domain and registry, and it is the same for both |
| 193 // URLs. Note that this means the trailing dot, if any, must match too. | 201 // URLs. Note that this means the trailing dot, if any, must match too. |
| 194 // * They don't have known domains/registries, but the hosts are identical. | 202 // * They don't have known domains/registries, but the hosts are identical. |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 // Used for unit tests. Use default domains. | 246 // Used for unit tests. Use default domains. |
| 239 NET_EXPORT_PRIVATE void SetFindDomainGraph(); | 247 NET_EXPORT_PRIVATE void SetFindDomainGraph(); |
| 240 | 248 |
| 241 // Used for unit tests, so that a frozen list of domains is used. | 249 // Used for unit tests, so that a frozen list of domains is used. |
| 242 NET_EXPORT_PRIVATE void SetFindDomainGraph(const unsigned char* domains, | 250 NET_EXPORT_PRIVATE void SetFindDomainGraph(const unsigned char* domains, |
| 243 size_t length); | 251 size_t length); |
| 244 } // namespace registry_controlled_domains | 252 } // namespace registry_controlled_domains |
| 245 } // namespace net | 253 } // namespace net |
| 246 | 254 |
| 247 #endif // NET_BASE_REGISTRY_CONTROLLED_DOMAINS_REGISTRY_CONTROLLED_DOMAIN_H_ | 255 #endif // NET_BASE_REGISTRY_CONTROLLED_DOMAINS_REGISTRY_CONTROLLED_DOMAIN_H_ |
| OLD | NEW |