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

Side by Side Diff: chrome/browser/renderer_context_menu/render_view_context_menu.cc

Issue 185133005: Move referrer stripping into GURL::GetAsReferrer(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Restore the behavior of setting the referrer when it's invalid in URLRequest::SetReferrer. 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
« no previous file with comments | « no previous file | chrome/browser/ui/android/context_menu_helper.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/renderer_context_menu/render_view_context_menu.h" 5 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1977 matching lines...) Expand 10 before | Expand all | Expand 10 after
1988 } 1988 }
1989 1989
1990 base::string16 RenderViewContextMenu::PrintableSelectionText() { 1990 base::string16 RenderViewContextMenu::PrintableSelectionText() {
1991 return gfx::TruncateString(params_.selection_text, 1991 return gfx::TruncateString(params_.selection_text,
1992 kMaxSelectionTextLength); 1992 kMaxSelectionTextLength);
1993 } 1993 }
1994 1994
1995 // Controller functions -------------------------------------------------------- 1995 // Controller functions --------------------------------------------------------
1996 1996
1997 void RenderViewContextMenu::OpenURL( 1997 void RenderViewContextMenu::OpenURL(
1998 const GURL& url, const GURL& referrer, int64 frame_id, 1998 const GURL& url, const GURL& referring_url, int64 frame_id,
1999 WindowOpenDisposition disposition, 1999 WindowOpenDisposition disposition,
2000 content::PageTransition transition) { 2000 content::PageTransition transition) {
2001 // Ensure that URL fragment, username and password fields are not sent 2001 content::Referrer referrer(referring_url.GetAsReferrer(),
2002 // in the referrer. 2002 params_.referrer_policy);
2003 GURL sanitized_referrer(referrer);
2004 if (sanitized_referrer.is_valid() && (sanitized_referrer.has_ref() ||
2005 sanitized_referrer.has_username() || sanitized_referrer.has_password())) {
2006 GURL::Replacements referrer_mods;
2007 referrer_mods.ClearRef();
2008 referrer_mods.ClearUsername();
2009 referrer_mods.ClearPassword();
2010 sanitized_referrer = sanitized_referrer.ReplaceComponents(referrer_mods);
2011 }
2012 2003
2013 WebContents* new_contents = source_web_contents_->OpenURL(OpenURLParams( 2004 WebContents* new_contents = source_web_contents_->OpenURL(OpenURLParams(
2014 url, content::Referrer(sanitized_referrer, params_.referrer_policy), 2005 url, referrer, disposition, transition, false));
2015 disposition, transition, false));
2016 if (!new_contents) 2006 if (!new_contents)
2017 return; 2007 return;
2018 2008
2019 RetargetingDetails details; 2009 RetargetingDetails details;
2020 details.source_web_contents = source_web_contents_; 2010 details.source_web_contents = source_web_contents_;
2021 details.source_frame_id = frame_id; 2011 details.source_frame_id = frame_id;
2022 details.target_url = url; 2012 details.target_url = url;
2023 details.target_web_contents = new_contents; 2013 details.target_web_contents = new_contents;
2024 details.not_yet_in_tabstrip = false; 2014 details.not_yet_in_tabstrip = false;
2025 content::NotificationService::current()->Notify( 2015 content::NotificationService::current()->Notify(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2067 source_web_contents_->GetRenderViewHost()-> 2057 source_web_contents_->GetRenderViewHost()->
2068 ExecuteMediaPlayerActionAtLocation(location, action); 2058 ExecuteMediaPlayerActionAtLocation(location, action);
2069 } 2059 }
2070 2060
2071 void RenderViewContextMenu::PluginActionAt( 2061 void RenderViewContextMenu::PluginActionAt(
2072 const gfx::Point& location, 2062 const gfx::Point& location,
2073 const WebPluginAction& action) { 2063 const WebPluginAction& action) {
2074 source_web_contents_->GetRenderViewHost()-> 2064 source_web_contents_->GetRenderViewHost()->
2075 ExecutePluginActionAtLocation(location, action); 2065 ExecutePluginActionAtLocation(location, action);
2076 } 2066 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/android/context_menu_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698