| Index: net/url_request/url_request.cc
|
| diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
| index 53d00439d55ef1cc544da8d3307568648eebab47..dbff821796eeb8426ac78dad933043717ab3ceb7 100644
|
| --- a/net/url_request/url_request.cc
|
| +++ b/net/url_request/url_request.cc
|
| @@ -608,20 +608,13 @@ std::string URLRequest::ComputeMethodForRedirect(
|
|
|
| void URLRequest::SetReferrer(const std::string& referrer) {
|
| DCHECK(!is_pending_);
|
| - referrer_ = referrer;
|
| - // Ensure that we do not send URL fragment, username and password
|
| - // fields in the referrer.
|
| GURL referrer_url(referrer);
|
| UMA_HISTOGRAM_BOOLEAN("Net.URLRequest_SetReferrer_IsEmptyOrValid",
|
| referrer_url.is_empty() || referrer_url.is_valid());
|
| - if (referrer_url.is_valid() && (referrer_url.has_ref() ||
|
| - referrer_url.has_username() || referrer_url.has_password())) {
|
| - GURL::Replacements referrer_mods;
|
| - referrer_mods.ClearRef();
|
| - referrer_mods.ClearUsername();
|
| - referrer_mods.ClearPassword();
|
| - referrer_url = referrer_url.ReplaceComponents(referrer_mods);
|
| - referrer_ = referrer_url.spec();
|
| + if (referrer_url.is_valid()) {
|
| + referrer_ = referrer_url.GetAsReferrer().spec();
|
| + } else {
|
| + referrer_ = referrer;
|
| }
|
| }
|
|
|
|
|