Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: net/url_request/url_request.cc

Issue 185133005: Move referrer stripping into GURL::GetAsReferrer(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/url_request/url_request.h" 5 #include "net/url_request/url_request.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 if ((http_status_code == 303 && method != "HEAD") || 581 if ((http_status_code == 303 && method != "HEAD") ||
582 ((http_status_code == 301 || http_status_code == 302) && 582 ((http_status_code == 301 || http_status_code == 302) &&
583 method == "POST")) { 583 method == "POST")) {
584 return "GET"; 584 return "GET";
585 } 585 }
586 return method; 586 return method;
587 } 587 }
588 588
589 void URLRequest::SetReferrer(const std::string& referrer) { 589 void URLRequest::SetReferrer(const std::string& referrer) {
590 DCHECK(!is_pending_); 590 DCHECK(!is_pending_);
591 referrer_ = referrer;
592 // Ensure that we do not send URL fragment, username and password 591 // Ensure that we do not send URL fragment, username and password
593 // fields in the referrer. 592 // fields in the referrer.
594 GURL referrer_url(referrer); 593 GURL referrer_url(referrer);
595 UMA_HISTOGRAM_BOOLEAN("Net.URLRequest_SetReferrer_IsEmptyOrValid", 594 UMA_HISTOGRAM_BOOLEAN("Net.URLRequest_SetReferrer_IsEmptyOrValid",
596 referrer_url.is_empty() || referrer_url.is_valid()); 595 referrer_url.is_empty() || referrer_url.is_valid());
597 if (referrer_url.is_valid() && (referrer_url.has_ref() || 596 referrer_ = referrer_url.GetAsReferrer().spec();
598 referrer_url.has_username() || referrer_url.has_password())) {
599 GURL::Replacements referrer_mods;
600 referrer_mods.ClearRef();
601 referrer_mods.ClearUsername();
602 referrer_mods.ClearPassword();
603 referrer_url = referrer_url.ReplaceComponents(referrer_mods);
604 referrer_ = referrer_url.spec();
605 }
606 } 597 }
607 598
608 void URLRequest::set_referrer_policy(ReferrerPolicy referrer_policy) { 599 void URLRequest::set_referrer_policy(ReferrerPolicy referrer_policy) {
609 DCHECK(!is_pending_); 600 DCHECK(!is_pending_);
610 referrer_policy_ = referrer_policy; 601 referrer_policy_ = referrer_policy;
611 } 602 }
612 603
613 void URLRequest::set_delegate(Delegate* delegate) { 604 void URLRequest::set_delegate(Delegate* delegate) {
614 delegate_ = delegate; 605 delegate_ = delegate;
615 } 606 }
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after
1236 new base::debug::StackTrace(NULL, 0); 1227 new base::debug::StackTrace(NULL, 0);
1237 *stack_trace_copy = stack_trace; 1228 *stack_trace_copy = stack_trace;
1238 stack_trace_.reset(stack_trace_copy); 1229 stack_trace_.reset(stack_trace_copy);
1239 } 1230 }
1240 1231
1241 const base::debug::StackTrace* URLRequest::stack_trace() const { 1232 const base::debug::StackTrace* URLRequest::stack_trace() const {
1242 return stack_trace_.get(); 1233 return stack_trace_.get();
1243 } 1234 }
1244 1235
1245 } // namespace net 1236 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698