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)) |