From 91e9db544d33b95a60fcdeb8691d9989d0b49295 Mon Sep 17 00:00:00 2001 From: brave-builds Date: Wed, 10 Feb 2021 04:42:40 +0000 Subject: [PATCH] Uplift of #7769 (squashed) to beta --- browser/net/BUILD.gn | 6 ++--- ...ave_ad_block_tp_network_delegate_helper.cc | 25 ++++++++++++------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/browser/net/BUILD.gn b/browser/net/BUILD.gn index 94aca54a4839..25be6c6b6158 100644 --- a/browser/net/BUILD.gn +++ b/browser/net/BUILD.gn @@ -54,11 +54,11 @@ source_set("net") { "//brave/components/brave_webtorrent/browser/buildflags", "//brave/components/ipfs/buildflags", "//brave/extensions:common", + "//components/content_settings/core/browser", "//components/prefs", "//components/user_prefs", "//content/public/browser", "//content/public/common", - "//components/content_settings/core/browser", "//extensions/common:common_constants", "//mojo/public/cpp/bindings", "//mojo/public/cpp/system", @@ -88,9 +88,7 @@ source_set("net") { "brave_referrals_network_delegate_helper.h", ] - deps += [ - "//brave/components/brave_referrals/browser", - ] + deps += [ "//brave/components/brave_referrals/browser" ] } if (enable_brave_webtorrent) { diff --git a/browser/net/brave_ad_block_tp_network_delegate_helper.cc b/browser/net/brave_ad_block_tp_network_delegate_helper.cc index d7fdae37626a..c5208b8a45b3 100644 --- a/browser/net/brave_ad_block_tp_network_delegate_helper.cc +++ b/browser/net/brave_ad_block_tp_network_delegate_helper.cc @@ -65,16 +65,15 @@ void ShouldBlockAdOnTaskRunner(std::shared_ptr ctx, std::string source_host = ctx->initiator_url.host(); g_brave_browser_process->ad_block_service()->ShouldStartRequest( - ctx->request_url, ctx->resource_type, source_host, - &did_match_rule, &did_match_exception, &did_match_important, - &ctx->mock_data_url); + ctx->request_url, ctx->resource_type, source_host, &did_match_rule, + &did_match_exception, &did_match_important, &ctx->mock_data_url); if (did_match_important) { ctx->blocked_by = kAdBlocked; return; } - if (canonical_name.has_value() && ctx->request_url.host() != *canonical_name - && *canonical_name != "") { + if (canonical_name.has_value() && + ctx->request_url.host() != *canonical_name && *canonical_name != "") { GURL::Replacements replacements = GURL::Replacements(); replacements.SetHost( canonical_name->c_str(), @@ -82,9 +81,8 @@ void ShouldBlockAdOnTaskRunner(std::shared_ptr ctx, const GURL canonical_url = ctx->request_url.ReplaceComponents(replacements); g_brave_browser_process->ad_block_service()->ShouldStartRequest( - ctx->request_url, ctx->resource_type, source_host, - &did_match_rule, &did_match_exception, &did_match_important, - &ctx->mock_data_url); + ctx->request_url, ctx->resource_type, source_host, &did_match_rule, + &did_match_exception, &did_match_important, &ctx->mock_data_url); } if (did_match_important || (did_match_rule && !did_match_exception)) { @@ -206,7 +204,16 @@ void OnBeforeURLRequestAdBlockTP(const ResponseCallback& next_callback, scoped_refptr task_runner = g_brave_browser_process->ad_block_service()->GetTaskRunner(); - new AdblockCnameResolveHostClient(std::move(next_callback), task_runner, ctx); + DCHECK(ctx->browser_context); + // DoH or standard DNS quries won't be routed through Tor, so we need to skip + // it. + if (ctx->browser_context->IsTor()) { + ShouldBlockAdWithOptionalCname(task_runner, std::move(next_callback), ctx, + base::nullopt); + } else { + new AdblockCnameResolveHostClient(std::move(next_callback), task_runner, + ctx); + } } int OnBeforeURLRequest_AdBlockTPPreWork(const ResponseCallback& next_callback,