OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef URL_GURL_H_ | 5 #ifndef URL_GURL_H_ |
6 #define URL_GURL_H_ | 6 #define URL_GURL_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "base/strings/string16.h" | 12 #include "base/strings/string16.h" |
13 #include "url/url_canon.h" | 13 #include "url/url_canon.h" |
14 #include "url/url_canon_stdstring.h" | 14 #include "url/url_canon_stdstring.h" |
15 #include "url/url_constants.h" | |
15 #include "url/url_export.h" | 16 #include "url/url_export.h" |
16 #include "url/url_parse.h" | 17 #include "url/url_parse.h" |
17 | 18 |
18 class URL_EXPORT GURL { | 19 class URL_EXPORT GURL { |
19 public: | 20 public: |
20 typedef url::StdStringReplacements<std::string> Replacements; | 21 typedef url::StdStringReplacements<std::string> Replacements; |
21 typedef url::StdStringReplacements<base::string16> ReplacementsW; | 22 typedef url::StdStringReplacements<base::string16> ReplacementsW; |
22 | 23 |
23 // Creates an empty, invalid URL. | 24 // Creates an empty, invalid URL. |
24 GURL(); | 25 GURL(); |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
224 return SchemeIs("file"); | 225 return SchemeIs("file"); |
225 } | 226 } |
226 | 227 |
227 // FileSystem URLs need to be treated differently in some cases. | 228 // FileSystem URLs need to be treated differently in some cases. |
228 bool SchemeIsFileSystem() const { | 229 bool SchemeIsFileSystem() const { |
229 return SchemeIs("filesystem"); | 230 return SchemeIs("filesystem"); |
230 } | 231 } |
231 | 232 |
232 // If the scheme indicates a secure connection | 233 // If the scheme indicates a secure connection |
233 bool SchemeIsSecure() const { | 234 bool SchemeIsSecure() const { |
234 return SchemeIs("https") || SchemeIs("wss") || | 235 return SchemeIs(url::kHttpsScheme) || SchemeIs(kWssScheme) || |
brettw
2014/05/30 17:36:28
need url:: on the WssScheme
| |
235 (SchemeIsFileSystem() && inner_url() && inner_url()->SchemeIsSecure()); | 236 (SchemeIsFileSystem() && inner_url() && inner_url()->SchemeIsSecure()); |
236 } | 237 } |
237 | 238 |
238 // The "content" of the URL is everything after the scheme (skipping the | 239 // The "content" of the URL is everything after the scheme (skipping the |
239 // scheme delimiting colon). It is an error to get the origin of an invalid | 240 // scheme delimiting colon). It is an error to get the origin of an invalid |
240 // URL. The result will be an empty string. | 241 // URL. The result will be an empty string. |
241 std::string GetContent() const; | 242 std::string GetContent() const; |
242 | 243 |
243 // Returns true if the hostname is an IP address. Note: this function isn't | 244 // Returns true if the hostname is an IP address. Note: this function isn't |
244 // as cheap as a simple getter because it re-parses the hostname to verify. | 245 // as cheap as a simple getter because it re-parses the hostname to verify. |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
397 // Used for nested schemes [currently only filesystem:]. | 398 // Used for nested schemes [currently only filesystem:]. |
398 scoped_ptr<GURL> inner_url_; | 399 scoped_ptr<GURL> inner_url_; |
399 | 400 |
400 // TODO bug 684583: Add encoding for query params. | 401 // TODO bug 684583: Add encoding for query params. |
401 }; | 402 }; |
402 | 403 |
403 // Stream operator so GURL can be used in assertion statements. | 404 // Stream operator so GURL can be used in assertion statements. |
404 URL_EXPORT std::ostream& operator<<(std::ostream& out, const GURL& url); | 405 URL_EXPORT std::ostream& operator<<(std::ostream& out, const GURL& url); |
405 | 406 |
406 #endif // URL_GURL_H_ | 407 #endif // URL_GURL_H_ |
OLD | NEW |