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_THIRD_PARTY_MOZILLA_URL_PARSE_H_ | 5 #ifndef URL_THIRD_PARTY_MOZILLA_URL_PARSE_H_ |
6 #define URL_THIRD_PARTY_MOZILLA_URL_PARSE_H_ | 6 #define URL_THIRD_PARTY_MOZILLA_URL_PARSE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 // The password is separated form the username with a colon, as in | 152 // The password is separated form the username with a colon, as in |
153 // "http://me:secret@host/" | 153 // "http://me:secret@host/" |
154 Component password; | 154 Component password; |
155 | 155 |
156 // Host name. | 156 // Host name. |
157 Component host; | 157 Component host; |
158 | 158 |
159 // Port number. | 159 // Port number. |
160 Component port; | 160 Component port; |
161 | 161 |
162 // Path, this is everything following the host name. Length will be -1 if | 162 // Path, this is everything following the host name, stopping at the query of |
163 // unspecified. This includes the preceeding slash, so the path on | 163 // ref delimiter (if any). Length will be -1 if unspecified. This includes |
164 // http://www.google.com/asdf" is "/asdf". As a result, it is impossible to | 164 // the preceeding slash, so the path on http://www.google.com/asdf" is |
165 // have a 0 length path, it will be -1 in cases like "http://host?foo". | 165 // "/asdf". As a result, it is impossible to have a 0 length path, it will |
| 166 // be -1 in cases like "http://host?foo". |
166 // Note that we treat backslashes the same as slashes. | 167 // Note that we treat backslashes the same as slashes. |
167 Component path; | 168 Component path; |
168 | 169 |
169 // Stuff between the ? and the # after the path. This does not include the | 170 // Stuff between the ? and the # after the path. This does not include the |
170 // preceeding ? character. Length will be -1 if unspecified, 0 if there is | 171 // preceeding ? character. Length will be -1 if unspecified, 0 if there is |
171 // a question mark but no query string. | 172 // a question mark but no query string. |
172 Component query; | 173 Component query; |
173 | 174 |
174 // Indicated by a #, this is everything following the hash sign (not | 175 // Indicated by a #, this is everything following the hash sign (not |
175 // including it). If there are multiple hash signs, we'll use the last one. | 176 // including it). If there are multiple hash signs, we'll use the last one. |
176 // Length will be -1 if there is no hash sign, or 0 if there is one but | 177 // Length will be -1 if there is no hash sign, or 0 if there is one but |
177 // nothing follows it. | 178 // nothing follows it. |
178 Component ref; | 179 Component ref; |
179 | 180 |
| 181 // The URL spec from the character after the scheme: until the end of the |
| 182 // URL, regardless of the scheme. This is mostly useful for 'opaque' non- |
| 183 // hierarchical schemes like data: and javascript: as a convient way to get |
| 184 // the string with the scheme stripped off. |
| 185 Component GetContent() const; |
| 186 |
180 // This is used for nested URL types, currently only filesystem. If you | 187 // This is used for nested URL types, currently only filesystem. If you |
181 // parse a filesystem URL, the resulting Parsed will have a nested | 188 // parse a filesystem URL, the resulting Parsed will have a nested |
182 // inner_parsed_ to hold the parsed inner URL's component information. | 189 // inner_parsed_ to hold the parsed inner URL's component information. |
183 // For all other url types [including the inner URL], it will be NULL. | 190 // For all other url types [including the inner URL], it will be NULL. |
184 Parsed* inner_parsed() const { | 191 Parsed* inner_parsed() const { |
185 return inner_parsed_; | 192 return inner_parsed_; |
186 } | 193 } |
187 | 194 |
188 void set_inner_parsed(const Parsed& inner_parsed) { | 195 void set_inner_parsed(const Parsed& inner_parsed) { |
189 if (!inner_parsed_) | 196 if (!inner_parsed_) |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 Component* key, | 359 Component* key, |
353 Component* value); | 360 Component* value); |
354 URL_EXPORT bool ExtractQueryKeyValue(const base::char16* url, | 361 URL_EXPORT bool ExtractQueryKeyValue(const base::char16* url, |
355 Component* query, | 362 Component* query, |
356 Component* key, | 363 Component* key, |
357 Component* value); | 364 Component* value); |
358 | 365 |
359 } // namespace url_parse | 366 } // namespace url_parse |
360 | 367 |
361 #endif // URL_THIRD_PARTY_MOZILLA_URL_PARSE_H_ | 368 #endif // URL_THIRD_PARTY_MOZILLA_URL_PARSE_H_ |
OLD | NEW |