From 80d867cdab83b258a1cc6eff28c5c4a08841c535 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Fri, 29 Aug 2014 11:43:37 +0000 Subject: Patch adapted for 37.0.2062.94 --- .../patches/chromium_sanitized_referrer.patch | 111 +++++---------------- 1 file changed, 24 insertions(+), 87 deletions(-) diff --git a/chromium/build/patches/chromium_sanitized_referrer.patch b/chromium/build/patches/chromium_sanitized_referrer.patch index 6a80e061..bfe48d17 100644 --- a/chromium/build/patches/chromium_sanitized_referrer.patch +++ b/chromium/build/patches/chromium_sanitized_referrer.patch @@ -1,26 +1,6 @@ -chromium / chromium/src / 324b3a1c3b9925d4e85e3b288a77ea3e0e946eb0^! / . -commit 324b3a1c3b9925d4e85e3b288a77ea3e0e946eb0[log][tgz] -author nasko@chromium.org Tue Aug 05 19:46:52 2014 -committer nasko@chromium.org Tue Aug 05 19:46:52 2014 -tree f059761c58938b8b055c1643826b851c2734ad59 -parent c69e3458cabc15a42b9f603a49abc1586a438bee[diff] - -Sanitize referrer in context menus. - -This CL adds a method to content::Referrer that allows for sanitizing the referrer before making a network request and uses it to scrub the Referer header for requests originating in the context menu. -It is based on work started by cbentzel@ in https://codereview.chromium.org/277903002/. - -BUG=357473 - -Review URL: https://codereview.chromium.org/438283002 - -git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287579 0039d316-1c4b-4281-b951-d872f2087c98 - -diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc -index 9fd163b..91525d2 100644 ---- a/chrome/browser/download/download_browsertest.cc -+++ b/chrome/browser/download/download_browsertest.cc - +diff -uar chromium-37.0.2062.94.orig/chrome/browser/download/download_browsertest.cc chromium-37.0.2062.94/chrome/browser/download/download_browsertest.cc +--- chromium-37.0.2062.94.orig/chrome/browser/download/download_browsertest.cc 2014-08-20 21:02:00.000000000 +0200 ++++ chromium-37.0.2062.94/chrome/browser/download/download_browsertest.cc 2014-08-29 13:13:06.169785229 +0200 @@ -15,6 +15,7 @@ #include "base/path_service.h" #include "base/prefs/pref_service.h" @@ -29,7 +9,7 @@ index 9fd163b..91525d2 100644 #include "base/strings/string_split.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" -@@ -44,6 +45,7 @@ +@@ -45,6 +46,7 @@ #include "chrome/browser/infobars/infobar_service.h" #include "chrome/browser/net/url_request_mock_util.h" #include "chrome/browser/profiles/profile.h" @@ -37,7 +17,7 @@ index 9fd163b..91525d2 100644 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h" #include "chrome/browser/safe_browsing/download_feedback_service.h" #include "chrome/browser/safe_browsing/download_protection_service.h" -@@ -2750,6 +2752,116 @@ +@@ -2752,6 +2754,116 @@ ASSERT_TRUE(VerifyFile(file, expected_contents, expected_contents.length())); } @@ -154,12 +134,9 @@ index 9fd163b..91525d2 100644 IN_PROC_BROWSER_TEST_F(DownloadTest, HiddenDownload) { base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); - -diff --git a/chrome/browser/referrer_policy_browsertest.cc b/chrome/browser/referrer_policy_browsertest.cc -index 8c10e6d..eb1dd5d 100644 ---- a/chrome/browser/referrer_policy_browsertest.cc -+++ b/chrome/browser/referrer_policy_browsertest.cc - +diff -uar chromium-37.0.2062.94.orig/chrome/browser/referrer_policy_browsertest.cc chromium-37.0.2062.94/chrome/browser/referrer_policy_browsertest.cc +--- chromium-37.0.2062.94.orig/chrome/browser/referrer_policy_browsertest.cc 2014-08-20 21:02:13.000000000 +0200 ++++ chromium-37.0.2062.94/chrome/browser/referrer_policy_browsertest.cc 2014-08-29 13:13:06.170785395 +0200 @@ -109,7 +109,7 @@ enum StartOnProtocol { START_ON_HTTP, START_ON_HTTPS, }; @@ -250,13 +227,10 @@ index 8c10e6d..eb1dd5d 100644 SERVER_REDIRECT, NEW_FOREGROUND_TAB, blink::WebMouseEvent::ButtonMiddle, - -diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc -index 4162fea..7d7207c 100644 ---- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc -+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc - -@@ -1540,15 +1540,18 @@ +diff -uar chromium-37.0.2062.94.orig/chrome/browser/renderer_context_menu/render_view_context_menu.cc chromium-37.0.2062.94/chrome/browser/renderer_context_menu/render_view_context_menu.cc +--- chromium-37.0.2062.94.orig/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2014-08-20 21:01:57.000000000 +0200 ++++ chromium-37.0.2062.94/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2014-08-29 13:20:12.309475901 +0200 +@@ -1503,14 +1503,17 @@ case IDC_CONTENT_CONTEXT_SAVELINKAS: { RecordDownloadSource(DOWNLOAD_INITIATED_BY_CONTEXT_MENU); @@ -269,17 +243,16 @@ index 4162fea..7d7207c 100644 + url, + content::Referrer(referring_url.GetAsReferrer(), + params_.referrer_policy)); - DownloadManager* dlm = - BrowserContext::GetDownloadManager(browser_context_); + DownloadManager* dlm = BrowserContext::GetDownloadManager(profile_); scoped_ptr dl_params( DownloadUrlParameters::FromWebContents(source_web_contents_, url)); - dl_params->set_referrer( - content::Referrer(referrer, params_.referrer_policy)); + dl_params->set_referrer(referrer); dl_params->set_referrer_encoding(params_.frame_charset); - dl_params->set_suggested_name(params_.suggested_filename); dl_params->set_prompt(true); -@@ -1564,11 +1567,14 @@ + dlm->DownloadUrl(dl_params.Pass()); +@@ -1525,11 +1528,14 @@ } else { // TODO(zino): We can use SaveImageAt() like a case of canvas. RecordDownloadSource(DOWNLOAD_INITIATED_BY_CONTEXT_MENU); @@ -298,7 +271,7 @@ index 4162fea..7d7207c 100644 } break; } -@@ -1980,8 +1986,10 @@ +@@ -1934,8 +1940,10 @@ const GURL& url, const GURL& referring_url, WindowOpenDisposition disposition, content::PageTransition transition) { @@ -309,43 +282,11 @@ index 4162fea..7d7207c 100644 + content::Referrer(referring_url.GetAsReferrer(), + params_.referrer_policy)); - if (params_.link_url == url && disposition != OFF_THE_RECORD) - params_.custom_context.link_followed = url; - -diff --git a/chrome/test/data/referrer_policy/referrer-policy-start.html b/chrome/test/data/referrer_policy/referrer-policy-start.html -index 7cdc050..5f5c457 100644 ---- a/chrome/test/data/referrer_policy/referrer-policy-start.html -+++ b/chrome/test/data/referrer_policy/referrer-policy-start.html - -@@ -27,15 +27,17 @@ - - if (matches[kRedirect] == "false") { - destination = "http://127.0.0.1:" + matches[kPort] + -- "/files/referrer-policy-log.html"; -+ "/files/referrer-policy-log.html"; - } else if (matches[kRedirect] == "http") { - destination = "http://127.0.0.1:" + matches[kPort] + -- "/server-redirect?http://127.0.0.1:" + matches[kPort] + -- "/files/referrer-policy-log.html"; -+ "/server-redirect?http://127.0.0.1:" + matches[kPort] + -+ "/files/referrer-policy-log.html"; -+ } else if (matches[kRedirect] == "echoheader") { -+ destination = "http://127.0.0.1:" + matches[kPort] + "/echoheader?Referer"; - } else { - destination = "https://127.0.0.1:" + matches[kSslPort] + -- "/server-redirect?http://127.0.0.1:" + matches[kPort] + -- "/files/referrer-policy-log.html"; -+ "/server-redirect?http://127.0.0.1:" + matches[kPort] + -+ "/files/referrer-policy-log.html"; - } - - if (matches[kLink] == "true") { - -diff --git a/components/sessions/serialized_navigation_entry.cc b/components/sessions/serialized_navigation_entry.cc -index c0ed8d2..a5ba41c 100644 ---- a/components/sessions/serialized_navigation_entry.cc -+++ b/components/sessions/serialized_navigation_entry.cc - + WebContents* new_contents = source_web_contents_->OpenURL(OpenURLParams( + url, referrer, disposition, transition, false)); +diff -uar chromium-37.0.2062.94.orig/components/sessions/serialized_navigation_entry.cc chromium-37.0.2062.94/components/sessions/serialized_navigation_entry.cc +--- chromium-37.0.2062.94.orig/components/sessions/serialized_navigation_entry.cc 2014-08-20 21:02:56.000000000 +0200 ++++ chromium-37.0.2062.94/components/sessions/serialized_navigation_entry.cc 2014-08-29 13:13:06.175786225 +0200 @@ -512,32 +512,13 @@ } @@ -385,12 +326,9 @@ index c0ed8d2..a5ba41c 100644 referrer_ = content::Referrer(); page_state_ = page_state_.RemoveReferrer(); } - -diff --git a/content/public/common/referrer.h b/content/public/common/referrer.h -index b10bfd6..122c5ea 100644 ---- a/content/public/common/referrer.h -+++ b/content/public/common/referrer.h - +diff -uar chromium-37.0.2062.94.orig/content/public/common/referrer.h chromium-37.0.2062.94/content/public/common/referrer.h +--- chromium-37.0.2062.94.orig/content/public/common/referrer.h 2014-08-20 21:02:44.000000000 +0200 ++++ chromium-37.0.2062.94/content/public/common/referrer.h 2014-08-29 13:13:06.175786225 +0200 @@ -5,6 +5,7 @@ #ifndef CONTENT_PUBLIC_COMMON_REFERRER_H_ #define CONTENT_PUBLIC_COMMON_REFERRER_H_ @@ -438,4 +376,3 @@ index b10bfd6..122c5ea 100644 }; } // namespace content - -- cgit v1.2.3-80-g2a13