Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: net/ssl/ssl_platform_key_task_runner.cc

Issue 2103883004: Remove dependency of SSLPlatformKeyTaskRunner on single-threaded SequencedWorkerPool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@a2_hook
Patch Set: Clarify API further. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/lazy_instance.h" 5 #include "base/lazy_instance.h"
6 #include "base/logging.h"
7 #include "base/single_thread_task_runner.h"
6 #include "net/ssl/ssl_platform_key_task_runner.h" 8 #include "net/ssl/ssl_platform_key_task_runner.h"
7 9
8 namespace net { 10 namespace net {
9 11
10 SSLPlatformKeyTaskRunner::SSLPlatformKeyTaskRunner() { 12 namespace {
11 worker_pool_ = new base::SequencedWorkerPool(1, "Platform Key Thread");
12 task_runner_ = worker_pool_->GetSequencedTaskRunnerWithShutdownBehavior(
13 worker_pool_->GetSequenceToken(),
14 base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN);
15 }
16
17 SSLPlatformKeyTaskRunner::~SSLPlatformKeyTaskRunner() {}
18
19 scoped_refptr<base::SequencedTaskRunner>
20 SSLPlatformKeyTaskRunner::task_runner() {
21 return task_runner_;
22 }
23 13
24 base::LazyInstance<SSLPlatformKeyTaskRunner>::Leaky g_platform_key_task_runner = 14 base::LazyInstance<SSLPlatformKeyTaskRunner>::Leaky g_platform_key_task_runner =
25 LAZY_INSTANCE_INITIALIZER; 15 LAZY_INSTANCE_INITIALIZER;
26 16
27 scoped_refptr<base::SequencedTaskRunner> GetSSLPlatformKeyTaskRunner() { 17 } // namespace
28 return g_platform_key_task_runner.Get().task_runner(); 18
19 SSLPlatformKeyTaskRunner::SSLPlatformKeyTaskRunner()
20 : worker_thread_("Platform Key Thread") {
21 worker_thread_.Start();
22 }
23
24 // static
25 scoped_refptr<base::SingleThreadTaskRunner> SSLPlatformKeyTaskRunner::Get() {
26 scoped_refptr<base::SingleThreadTaskRunner> ssl_task_runner =
27 g_platform_key_task_runner.Get().worker_thread_.task_runner();
28 DCHECK(ssl_task_runner);
29 return ssl_task_runner;
29 } 30 }
30 31
31 } // namespace net 32 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698