| Index: url/third_party/mozilla/url_parse.cc
|
| diff --git a/url/third_party/mozilla/url_parse.cc b/url/third_party/mozilla/url_parse.cc
|
| index 62567969a6502b1d5bf4a781e078ca778f462fd9..ba842b87b5db347ccc3bc5f5dccf7472ffc1aa40 100644
|
| --- a/url/third_party/mozilla/url_parse.cc
|
| +++ b/url/third_party/mozilla/url_parse.cc
|
| @@ -621,23 +621,13 @@ void DoExtractFileName(const CHAR* spec,
|
| return;
|
| }
|
|
|
| - // Search backwards for a parameter, which is a normally unused field in a
|
| - // URL delimited by a semicolon. We parse the parameter as part of the
|
| - // path, but here, we don't want to count it. The last semicolon is the
|
| - // parameter. The path should start with a slash, so we don't need to check
|
| - // the first one.
|
| + // Extract the filename range from the path which is between
|
| + // the last slash and the following semicolon.
|
| int file_end = path.end();
|
| - for (int i = path.end() - 1; i > path.begin; i--) {
|
| + for (int i = path.end() - 1; i >= path.begin; i--) {
|
| if (spec[i] == ';') {
|
| file_end = i;
|
| - break;
|
| - }
|
| - }
|
| -
|
| - // Now search backwards from the filename end to the previous slash
|
| - // to find the beginning of the filename.
|
| - for (int i = file_end - 1; i >= path.begin; i--) {
|
| - if (IsURLSlash(spec[i])) {
|
| + } else if (IsURLSlash(spec[i])) {
|
| // File name is everything following this character to the end
|
| *file_name = MakeRange(i + 1, file_end);
|
| return;
|
|
|