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

Unified Diff: chrome/browser/tab_contents/render_view_context_menu.cc

Issue 12569007: Remove URL fragment from referrer HTTP header when opening link using "Open Link in New Tab" option. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address code review comments, add UMA_HISTOGRAM Created 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/tab_contents/render_view_context_menu.cc
diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc
index 8cb23b524a7e5fe895810a480f0c385e9981ae33..82ea2caad2a24523d33e17c79648b05c07b431c8 100644
--- a/chrome/browser/tab_contents/render_view_context_menu.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu.cc
@@ -1849,9 +1849,21 @@ void RenderViewContextMenu::OpenURL(
const GURL& url, const GURL& referrer, int64 frame_id,
WindowOpenDisposition disposition,
content::PageTransition transition) {
+ // Ensure that URL fragment, username and password fields
pauljensen 2013/03/15 21:50:00 Can you move more words onto this line to bring it
mef 2013/03/18 16:42:07 Done.
+ // are not sent in the referrer.
+ GURL sanitized_referrer(referrer);
+ if (sanitized_referrer.is_valid() && (sanitized_referrer.has_ref() ||
+ sanitized_referrer.has_username() || sanitized_referrer.has_password())) {
+ GURL::Replacements referrer_mods;
+ referrer_mods.ClearRef();
+ referrer_mods.ClearUsername();
+ referrer_mods.ClearPassword();
+ sanitized_referrer = sanitized_referrer.ReplaceComponents(referrer_mods);
+ }
+
WebContents* new_contents = source_web_contents_->OpenURL(OpenURLParams(
- url, content::Referrer(referrer, params_.referrer_policy), disposition,
- transition, false));
+ url, content::Referrer(sanitized_referrer, params_.referrer_policy),
+ disposition, transition, false));
if (!new_contents)
return;

Powered by Google App Engine
This is Rietveld 408576698