summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorasanka@chromium.org <asanka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 16:49:24 +0000
committerasanka@chromium.org <asanka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 16:49:24 +0000
commit35aaff4248618afd4d2a5fc7ab728bc5a9bcddd9 (patch)
treef9dc308d7954a0c548408c6b4bb978c4d1b9a379 /net
parent0a9539c61ca3848f30c91056626860a0825db958 (diff)
downloadchromium_src-35aaff4248618afd4d2a5fc7ab728bc5a9bcddd9.zip
chromium_src-35aaff4248618afd4d2a5fc7ab728bc5a9bcddd9.tar.gz
chromium_src-35aaff4248618afd4d2a5fc7ab728bc5a9bcddd9.tar.bz2
Add '?' to the list of characters escaped when constructing a file:// URL
BUG=83514 TEST=net_unittests --gtest_filter=NetUtilTest.FileURLConversion Review URL: http://codereview.chromium.org/6990038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86836 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/base/net_util.cc3
-rw-r--r--net/base/net_util_unittest.cc1
2 files changed, 4 insertions, 0 deletions
diff --git a/net/base/net_util.cc b/net/base/net_util.cc
index 31d7497..0dd824b 100644
--- a/net/base/net_util.cc
+++ b/net/base/net_util.cc
@@ -954,6 +954,9 @@ GURL FilePathToFileURL(const FilePath& path) {
ReplaceSubstringsAfterOffset(&url_string, 0,
FILE_PATH_LITERAL("#"), FILE_PATH_LITERAL("%23"));
+ ReplaceSubstringsAfterOffset(&url_string, 0,
+ FILE_PATH_LITERAL("?"), FILE_PATH_LITERAL("%3F"));
+
#if defined(OS_POSIX)
ReplaceSubstringsAfterOffset(&url_string, 0,
FILE_PATH_LITERAL("\\"), FILE_PATH_LITERAL("%5C"));
diff --git a/net/base/net_util_unittest.cc b/net/base/net_util_unittest.cc
index a8dd92e..1123595 100644
--- a/net/base/net_util_unittest.cc
+++ b/net/base/net_util_unittest.cc
@@ -534,6 +534,7 @@ TEST(NetUtilTest, FileURLConversion) {
{L"/foo/bar.txt", "file:///foo/bar.txt"},
{L"/foo/BAR.txt", "file:///foo/BAR.txt"},
{L"/C:/foo/bar.txt", "file:///C:/foo/bar.txt"},
+ {L"/foo/bar?.txt", "file:///foo/bar%3F.txt"},
{L"/some computer/foo/bar.txt", "file:///some%20computer/foo/bar.txt"},
{L"/Name;with%some symbols*#", "file:///Name%3Bwith%25some%20symbols*%23"},
{L"/latin1/caf\x00E9\x00DD.txt", "file:///latin1/caf%C3%A9%C3%9D.txt"},