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

Side by Side Diff: net/base/registry_controlled_domain.h

Issue 6898026: Eliminate wstring from base/utf_offset_string_conversions.h, net/base/escape.h, and net/base/net_... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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 | Annotate | Revision Log
OLDNEW
1 //* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1 //* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK ***** 2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 * 4 *
5 * The contents of this file are subject to the Mozilla Public License Version 5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with 6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at 7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/ 8 * http://www.mozilla.org/MPL/
9 * 9 *
10 * Software distributed under the License is distributed on an "AS IS" basis, 10 * Software distributed under the License is distributed on an "AS IS" basis,
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 // http://foo.com../file.html -> "" (multiple trailing dots) 148 // http://foo.com../file.html -> "" (multiple trailing dots)
149 // http://192.168.0.1/file.html -> "" (IP address) 149 // http://192.168.0.1/file.html -> "" (IP address)
150 // http://bar/file.html -> "" (no subcomponents) 150 // http://bar/file.html -> "" (no subcomponents)
151 // http://co.uk/file.html -> "" (host is a registry) 151 // http://co.uk/file.html -> "" (host is a registry)
152 // http://foo.bar/file.html -> "foo.bar" (no rule; assume bar) 152 // http://foo.bar/file.html -> "foo.bar" (no rule; assume bar)
153 static std::string GetDomainAndRegistry(const GURL& gurl); 153 static std::string GetDomainAndRegistry(const GURL& gurl);
154 154
155 // Like the GURL version, but takes a host (which is canonicalized internally) 155 // Like the GURL version, but takes a host (which is canonicalized internally)
156 // instead of a full GURL. 156 // instead of a full GURL.
157 static std::string GetDomainAndRegistry(const std::string& host); 157 static std::string GetDomainAndRegistry(const std::string& host);
158 static std::string GetDomainAndRegistry(const std::wstring& host);
159 158
160 // This convenience function returns true if the two GURLs both have hosts 159 // This convenience function returns true if the two GURLs both have hosts
161 // and one of the following is true: 160 // and one of the following is true:
162 // * They each have a known domain and registry, and it is the same for both 161 // * They each have a known domain and registry, and it is the same for both
163 // URLs. Note that this means the trailing dot, if any, must match too. 162 // URLs. Note that this means the trailing dot, if any, must match too.
164 // * They don't have known domains/registries, but the hosts are identical. 163 // * They don't have known domains/registries, but the hosts are identical.
165 // Effectively, callers can use this function to check whether the input URLs 164 // Effectively, callers can use this function to check whether the input URLs
166 // represent hosts "on the same site". 165 // represent hosts "on the same site".
167 static bool SameDomainOrHost(const GURL& gurl1, const GURL& gurl2); 166 static bool SameDomainOrHost(const GURL& gurl1, const GURL& gurl2);
168 167
(...skipping 19 matching lines...) Expand all
188 // http://co.uk/file.html -> 0 (host is a registry) 187 // http://co.uk/file.html -> 0 (host is a registry)
189 // http://foo.bar/file.html -> 0 or 3, depending (no rule; assume 188 // http://foo.bar/file.html -> 0 or 3, depending (no rule; assume
190 // bar) 189 // bar)
191 static size_t GetRegistryLength(const GURL& gurl, 190 static size_t GetRegistryLength(const GURL& gurl,
192 bool allow_unknown_registries); 191 bool allow_unknown_registries);
193 192
194 // 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)
195 // instead of a full GURL. 194 // instead of a full GURL.
196 static size_t GetRegistryLength(const std::string& host, 195 static size_t GetRegistryLength(const std::string& host,
197 bool allow_unknown_registries); 196 bool allow_unknown_registries);
198 static size_t GetRegistryLength(const std::wstring& host,
199 bool allow_unknown_registries);
200 197
201 // Returns the singleton instance, after attempting to initialize it. 198 // Returns the singleton instance, after attempting to initialize it.
202 // NOTE that if the effective-TLD data resource can't be found, the instance 199 // NOTE that if the effective-TLD data resource can't be found, the instance
203 // will be initialized and continue operation with simple default TLD data. 200 // will be initialized and continue operation with simple default TLD data.
204 static RegistryControlledDomainService* GetInstance(); 201 static RegistryControlledDomainService* GetInstance();
205 202
206 protected: 203 protected:
207 typedef const struct DomainRule* (*FindDomainPtr)(const char *, unsigned int); 204 typedef const struct DomainRule* (*FindDomainPtr)(const char *, unsigned int);
208 205
209 // The entire protected API is only for unit testing. I mean it. Don't make 206 // The entire protected API is only for unit testing. I mean it. Don't make
(...skipping 23 matching lines...) Expand all
233 230
234 // Function that returns a DomainRule given a domain. 231 // Function that returns a DomainRule given a domain.
235 FindDomainPtr find_domain_function_; 232 FindDomainPtr find_domain_function_;
236 233
237 DISALLOW_COPY_AND_ASSIGN(RegistryControlledDomainService); 234 DISALLOW_COPY_AND_ASSIGN(RegistryControlledDomainService);
238 }; 235 };
239 236
240 } // namespace net 237 } // namespace net
241 238
242 #endif // NET_BASE_REGISTRY_CONTROLLED_DOMAIN_H_ 239 #endif // NET_BASE_REGISTRY_CONTROLLED_DOMAIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698