summaryrefslogtreecommitdiffstats
path: root/net/base
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-27 16:06:21 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-27 16:06:21 +0000
commit276cdecb905a3e3ed3ae81f2a8a615a3e0a04206 (patch)
tree5b651734c8f62c730d40f5c92461ce4cae7b5dba /net/base
parent4de0e88bab4685e1992f29f3697e4345f9bcbcfb (diff)
downloadchromium_src-276cdecb905a3e3ed3ae81f2a8a615a3e0a04206.zip
chromium_src-276cdecb905a3e3ed3ae81f2a8a615a3e0a04206.tar.gz
chromium_src-276cdecb905a3e3ed3ae81f2a8a615a3e0a04206.tar.bz2
Makes FormatURL not strip http for view-source urls.
BUG=41874 TEST=see bug Review URL: http://codereview.chromium.org/1696013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45702 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r--net/base/net_util.cc2
-rw-r--r--net/base/net_util_unittest.cc6
2 files changed, 8 insertions, 0 deletions
diff --git a/net/base/net_util.cc b/net/base/net_util.cc
index b72b634..df08a08 100644
--- a/net/base/net_util.cc
+++ b/net/base/net_util.cc
@@ -740,6 +740,8 @@ std::wstring FormatViewSourceUrl(const GURL& url,
const wchar_t* const kWideViewSource = L"view-source:";
const size_t kViewSourceLengthPlus1 = 12;
+ // 'view-source' requires http, so don't strip it.
+ format_types &= ~net::kFormatUrlOmitHTTP;
GURL real_url(url.possibly_invalid_spec().substr(kViewSourceLengthPlus1));
size_t temp_offset = (*offset_for_adjustment == std::wstring::npos) ?
std::wstring::npos : (*offset_for_adjustment - kViewSourceLengthPlus1);
diff --git a/net/base/net_util_unittest.cc b/net/base/net_util_unittest.cc
index 47fe251..3e1661d 100644
--- a/net/base/net_util_unittest.cc
+++ b/net/base/net_util_unittest.cc
@@ -1375,6 +1375,12 @@ TEST(NetUtilTest, FormatUrl) {
default_format_type, UnescapeRule::NORMAL,
L"view-source:view-source:http://xn--qcka1pmc.jp/", 12},
+ // view-source should not omit http.
+ {"view-source omit http",
+ "view-source:http://a.b/c", L"en", net::kFormatUrlOmitAll,
+ UnescapeRule::NORMAL, L"view-source:http://a.b/c",
+ 19},
+
// -------- omit http: --------
{"omit http with user name",
"http://user@example.com/foo", L"", net::kFormatUrlOmitAll,