| Index: url/url_canon_relative.cc
|
| diff --git a/url/url_canon_relative.cc b/url/url_canon_relative.cc
|
| index 9436245d3793d296b97964a72dbdf5710bd6f6e6..06ca99cbe68e40b281ce2bae4c665e96cb24154b 100644
|
| --- a/url/url_canon_relative.cc
|
| +++ b/url/url_canon_relative.cc
|
| @@ -170,8 +170,8 @@ bool DoIsRelativeURL(const char* base,
|
| // up until and including the last slash. There should be a slash in the
|
| // range, if not, nothing will be copied.
|
| //
|
| -// The input is assumed to be canonical, so we search only for exact slashes
|
| -// and not backslashes as well. We also know that it's ASCII.
|
| +// For stardard URLs the input should be canonical, but when resolving relative
|
| +// URLs on a non-standard base (like "data:") the input can be anything.
|
| void CopyToLastSlash(const char* spec,
|
| int begin,
|
| int end,
|
| @@ -179,7 +179,7 @@ void CopyToLastSlash(const char* spec,
|
| // Find the last slash.
|
| int last_slash = -1;
|
| for (int i = end - 1; i >= begin; i--) {
|
| - if (spec[i] == '/') {
|
| + if (spec[i] == '/' || spec[i] == '\\') {
|
| last_slash = i;
|
| break;
|
| }
|
|
|