summaryrefslogtreecommitdiffstats
path: root/net/base/net_util.cc
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-18 22:44:49 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-18 22:44:49 +0000
commit76e7da2f3993ed156cc633d84f0c0d8ce3475e47 (patch)
tree0bf83bcc78d1c22ce608289415d1bcd39761694c /net/base/net_util.cc
parent2f1412eee183dfb9e04777827aae4a8766fc9f45 (diff)
downloadchromium_src-76e7da2f3993ed156cc633d84f0c0d8ce3475e47.zip
chromium_src-76e7da2f3993ed156cc633d84f0c0d8ce3475e47.tar.gz
chromium_src-76e7da2f3993ed156cc633d84f0c0d8ce3475e47.tar.bz2
Make FixupURL() return a GURL instead of a string (i.e. do fixup + canonicalization). Nearly every caller was already doing this.
This in turn allows us to do better fixup/canonicalization of view-source: URLs. We now convert "view-source:google.com" into "view-source:http://google.com/". With a few changes scattered through the omnibox code, this also means we can do HTTP-stripping on view-source: URLs, and support the user typing in things like the case above. This also fixes some weirdness where if you tried to type something starting with "view-source:", the What You Typed match in the dropdown would show only a scheme, or a scheme plus "http:", in some cases. BUG=46612 TEST="view-source:google.com" should work. Review URL: http://codereview.chromium.org/2817011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50290 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/net_util.cc')
-rw-r--r--net/base/net_util.cc4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/base/net_util.cc b/net/base/net_util.cc
index 946b7ff7..f60afcc 100644
--- a/net/base/net_util.cc
+++ b/net/base/net_util.cc
@@ -747,8 +747,6 @@ 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);
@@ -1452,8 +1450,8 @@ std::wstring FormatUrl(const GURL& url,
// Special handling for view-source:. Don't use chrome::kViewSourceScheme
// because this library shouldn't depend on chrome.
const char* const kViewSource = "view-source";
+ // Reject "view-source:view-source:..." to avoid deep recursion.
const char* const kViewSourceTwice = "view-source:view-source:";
- // Rejects view-source:view-source:... to avoid deep recursive call.
if (url.SchemeIs(kViewSource) &&
!StartsWithASCII(url.possibly_invalid_spec(), kViewSourceTwice, false)) {
return FormatViewSourceUrl(url, languages, format_types,