Index: url/url_util.cc |
diff --git a/url/url_util.cc b/url/url_util.cc |
index 8ab889feff4a5f181ffb65935be758a69605daf5..49a20643b0ea1c91d64b5a0fcedc4cd5febba89d 100644 |
--- a/url/url_util.cc |
+++ b/url/url_util.cc |
@@ -245,8 +245,11 @@ bool DoResolveRelative(const char* base_spec, |
// The output_parsed is incorrect at this point (because it was built |
// based on base_parsed_authority instead of base_parsed) and needs to be |
// re-created. |
- ParsePathURL(output->data(), output->length(), true, |
- output_parsed); |
+ RawCanonOutputT<char> full_spec; |
+ full_spec.Append(output->data(), output->length()); |
+ output->set_length(0); |
+ DoCanonicalize(full_spec.data(), full_spec.length(), true, |
+ charset_converter, output, output_parsed); |
return did_resolve_succeed; |
} |
} else if (is_relative) { |