| Index: components/url_formatter/url_fixer.cc
|
| diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
|
| index 919a38de36af6aa37a6cba1a796aa1a7a6c2530e..54ff17f168c1d7e4e2ac9647e4831057fb60e1bb 100644
|
| --- a/components/url_formatter/url_fixer.cc
|
| +++ b/components/url_formatter/url_fixer.cc
|
| @@ -620,11 +620,13 @@ GURL FixupRelativeFile(const base::FilePath& base_dir,
|
| #if defined(OS_WIN)
|
| std::wstring unescaped = base::UTF8ToWide(net::UnescapeURLComponent(
|
| base::WideToUTF8(trimmed),
|
| - net::UnescapeRule::SPACES | net::UnescapeRule::URL_SPECIAL_CHARS));
|
| + net::UnescapeRule::SPACES | net::UnescapeRule::PATH_SEPARATORS |
|
| + net::UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS));
|
| #elif defined(OS_POSIX)
|
| std::string unescaped = net::UnescapeURLComponent(
|
| trimmed,
|
| - net::UnescapeRule::SPACES | net::UnescapeRule::URL_SPECIAL_CHARS);
|
| + net::UnescapeRule::SPACES | net::UnescapeRule::PATH_SEPARATORS |
|
| + net::UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS);
|
| #endif
|
|
|
| if (!ValidPathForFile(unescaped, &full_path))
|
|
|