Skip to content

Commit

Permalink
Use a single sequenced task runner for HTTPSEverywehre
Browse files Browse the repository at this point in the history
Otherwise we're creating lots of different threads and accessing things for the DB on different possibly overlapping threads

I think this also fixes:
brave/brave-browser#707
brave/brave-browser#708
brave/brave-browser#739
brave/brave-browser#797
brave/brave-browser#761
brave/brave-browser#762
brave/brave-browser#796
brave/brave-browser#797
brave/brave-browser#798
brave/brave-browser#861
  • Loading branch information
bbondy committed Aug 31, 2018
1 parent 58f99af commit 0532a57
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions browser/net/brave_httpse_network_delegate_helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -81,18 +81,14 @@ int OnBeforeURLRequest_HttpsePreFileWork(
GetHTTPSURLFromCacheOnly(&request->url(), request->identifier(),
ctx->new_url_spec)) {
ctx->request_url = request->url();

scoped_refptr<base::SequencedTaskRunner> 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()) {
Expand Down

0 comments on commit 0532a57

Please sign in to comment.