summaryrefslogtreecommitdiffstats
path: root/chrome/browser/safe_browsing/protocol_manager.cc
diff options
context:
space:
mode:
authorlzheng@chromium.org <lzheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-07 21:57:08 +0000
committerlzheng@chromium.org <lzheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-07 21:57:08 +0000
commit6bb153eb3f16e75259d540a07d145a58cafa4006 (patch)
tree53dafe361970be1c48d350998b833fe235feb942 /chrome/browser/safe_browsing/protocol_manager.cc
parentc073282650b32fc28aa93124d11c1fee579d79da (diff)
downloadchromium_src-6bb153eb3f16e75259d540a07d145a58cafa4006.zip
chromium_src-6bb153eb3f16e75259d540a07d145a58cafa4006.tar.gz
chromium_src-6bb153eb3f16e75259d540a07d145a58cafa4006.tar.bz2
Add "?" to query strings if original url has no query string.
BUG=none TEST=protocol_manager_unittest.cc Review URL: http://codereview.chromium.org/3244005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58762 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/safe_browsing/protocol_manager.cc')
-rw-r--r--chrome/browser/safe_browsing/protocol_manager.cc15
1 files changed, 12 insertions, 3 deletions
diff --git a/chrome/browser/safe_browsing/protocol_manager.cc b/chrome/browser/safe_browsing/protocol_manager.cc
index 340d0ca..aef07ae 100644
--- a/chrome/browser/safe_browsing/protocol_manager.cc
+++ b/chrome/browser/safe_browsing/protocol_manager.cc
@@ -649,6 +649,8 @@ std::string SafeBrowsingProtocolManager::ComposeUrl(
prefix.c_str(), method.c_str(),
client_name.c_str(), version.c_str());
if (!additional_query.empty()) {
+ DCHECK(url.find("?") != std::string::npos);
+ url.append("&");
url.append(additional_query);
}
return url;
@@ -695,11 +697,18 @@ GURL SafeBrowsingProtocolManager::NextChunkUrl(const std::string& url) const {
std::string next_url;
if (!StartsWithASCII(url, "http://", false) &&
!StartsWithASCII(url, "https://", false)) {
- next_url = "http://" + url;
+ next_url.append("http://");
+ next_url.append(url);
} else {
next_url = url;
}
- if (!additional_query_.empty())
- next_url += additional_query_;
+ if (!additional_query_.empty()) {
+ if (next_url.find("?") != std::string::npos) {
+ next_url.append("&");
+ } else {
+ next_url.append("?");
+ }
+ next_url.append(additional_query_);
+ }
return GURL(next_url);
}