From 0532a5789d1bc1defc81c0a6a11a3d551bff9bea Mon Sep 17 00:00:00 2001 From: "Brian R. Bondy" Date: Thu, 30 Aug 2018 22:35:35 -0400 Subject: [PATCH] Use a single sequenced task runner for HTTPSEverywehre Otherwise we're creating lots of different threads and accessing things for the DB on different possibly overlapping threads I think this also fixes: https://github.com/brave/brave-browser/issues/707 https://github.com/brave/brave-browser/issues/708 https://github.com/brave/brave-browser/issues/739 https://github.com/brave/brave-browser/issues/797 https://github.com/brave/brave-browser/issues/761 https://github.com/brave/brave-browser/issues/762 https://github.com/brave/brave-browser/issues/796 https://github.com/brave/brave-browser/issues/797 https://github.com/brave/brave-browser/issues/798 https://github.com/brave/brave-browser/issues/861 --- .../brave_httpse_network_delegate_helper.cc | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/browser/net/brave_httpse_network_delegate_helper.cc b/browser/net/brave_httpse_network_delegate_helper.cc index 5c0d53ea16f2..355a67773009 100644 --- a/browser/net/brave_httpse_network_delegate_helper.cc +++ b/browser/net/brave_httpse_network_delegate_helper.cc @@ -81,18 +81,14 @@ int OnBeforeURLRequest_HttpsePreFileWork( GetHTTPSURLFromCacheOnly(&request->url(), request->identifier(), ctx->new_url_spec)) { ctx->request_url = request->url(); - - scoped_refptr task_runner = - base::CreateSequencedTaskRunnerWithTraits({base::MayBlock(), - base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); - task_runner->PostTaskAndReply(FROM_HERE, - base::Bind(OnBeforeURLRequest_HttpseFileWork, - base::Unretained(request), new_url, ctx), - base::Bind(base::IgnoreResult( - &OnBeforeURLRequest_HttpsePostFileWork), - base::Unretained(request), - new_url, next_callback, ctx) - ); + g_brave_browser_process->https_everywhere_service()-> + GetTaskRunner()->PostTaskAndReply(FROM_HERE, + base::Bind(OnBeforeURLRequest_HttpseFileWork, + base::Unretained(request), new_url, ctx), + base::Bind(base::IgnoreResult( + &OnBeforeURLRequest_HttpsePostFileWork), + base::Unretained(request), + new_url, next_callback, ctx)); return net::ERR_IO_PENDING; } else { if (!ctx->new_url_spec.empty()) {