From 799bded13d67af5fad9ee14939df9581f236bb80 Mon Sep 17 00:00:00 2001 From: brave-builds Date: Thu, 6 Feb 2020 05:50:00 +0000 Subject: [PATCH] Uplift of #4482 (squashed) to beta --- ...static_redirect_network_delegate_helper.cc | 20 +++++++++++++ ...direct_network_delegate_helper_unittest.cc | 30 +++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/browser/net/brave_static_redirect_network_delegate_helper.cc b/browser/net/brave_static_redirect_network_delegate_helper.cc index b7e943528597..65af429234b1 100644 --- a/browser/net/brave_static_redirect_network_delegate_helper.cc +++ b/browser/net/brave_static_redirect_network_delegate_helper.cc @@ -48,6 +48,11 @@ int OnBeforeURLRequest_StaticRedirectWorkForGURL( URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS, kCRXDownloadPrefix); static URLPattern autofill_pattern( URLPattern::SCHEME_HTTPS, kAutofillPrefix); + static URLPattern gvt1_pattern( + URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS, "*://*.gvt1.com/*"); + static URLPattern googleDl_pattern( + URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS, + "*://dl.google.com/*"); #if BUILDFLAG(ENABLE_BRAVE_TRANSLATE_GO) static URLPattern translate_pattern(URLPattern::SCHEME_HTTPS, @@ -117,6 +122,21 @@ int OnBeforeURLRequest_StaticRedirectWorkForGURL( *new_url = request_url.ReplaceComponents(replacements); return net::OK; } + + if (gvt1_pattern.MatchesURL(request_url)) { + replacements.SetSchemeStr("https"); + replacements.SetHostStr(kBraveRedirectorProxy); + *new_url = request_url.ReplaceComponents(replacements); + return net::OK; + } + + if (googleDl_pattern.MatchesURL(request_url)) { + replacements.SetSchemeStr("https"); + replacements.SetHostStr(kBraveRedirectorProxy); + *new_url = request_url.ReplaceComponents(replacements); + return net::OK; + } + #if BUILDFLAG(ENABLE_BRAVE_TRANSLATE_GO) if (translate_pattern.MatchesURL(request_url)) { replacements.SetQueryStr(request_url.query_piece()); diff --git a/browser/net/brave_static_redirect_network_delegate_helper_unittest.cc b/browser/net/brave_static_redirect_network_delegate_helper_unittest.cc index 9cb12733b4f5..1911e6ed0626 100644 --- a/browser/net/brave_static_redirect_network_delegate_helper_unittest.cc +++ b/browser/net/brave_static_redirect_network_delegate_helper_unittest.cc @@ -208,6 +208,36 @@ TEST(BraveStaticRedirectNetworkDelegateHelperTest, ModifySafeBrowsingURLV5) { EXPECT_EQ(rc, net::OK); } +TEST(BraveStaticRedirectNetworkDelegateHelperTest, ModifyGvt1) { + const GURL url( + "http://redirector.gvt1.com/edgedl/release2/" + "NfaZYtcKdtFc0LUvFkcNFA_0.3/AKveSIjhHAm2K09XAMovFEQ"); + const GURL expected_url( + "https://redirector.brave.com/edgedl/release2/" + "NfaZYtcKdtFc0LUvFkcNFA_0.3/AKveSIjhHAm2K09XAMovFEQ"); + + auto request_info = std::make_shared(url); + int rc = + OnBeforeURLRequest_StaticRedirectWork(ResponseCallback(), request_info); + EXPECT_EQ(request_info->new_url_spec, expected_url); + EXPECT_EQ(rc, net::OK); +} + +TEST(BraveStaticRedirectNetworkDelegateHelperTest, ModifyGoogleDl) { + const GURL url( + "http://dl.google.com/release2/" + "NfaZYtcKdtFc0LUvFkcNFA_0.3/AKveSIjhHAm2K09XAMovFEQ"); + const GURL expected_url( + "https://redirector.brave.com/release2/" + "NfaZYtcKdtFc0LUvFkcNFA_0.3/AKveSIjhHAm2K09XAMovFEQ"); + + auto request_info = std::make_shared(url); + int rc = + OnBeforeURLRequest_StaticRedirectWork(ResponseCallback(), request_info); + EXPECT_EQ(request_info->new_url_spec, expected_url); + EXPECT_EQ(rc, net::OK); +} + // TODO(@fmarier): Re-enable download protection once we have // truncated the list of metadata that it sends to the server // (brave/brave-browser#6267).