diff options
author | skyostil <skyostil@chromium.org> | 2015-05-05 07:35:14 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-05 14:36:26 +0000 |
commit | 9eb88f31c09e9fc61a6e3c654d2ab7c993d645ef (patch) | |
tree | d44b6423f20ff75435bf20ab9a3fc438d87b9b75 /base/threading | |
parent | 023893bd3e720a93eac00000a0d83ce6c530f75a (diff) | |
download | chromium_src-9eb88f31c09e9fc61a6e3c654d2ab7c993d645ef.zip chromium_src-9eb88f31c09e9fc61a6e3c654d2ab7c993d645ef.tar.gz chromium_src-9eb88f31c09e9fc61a6e3c654d2ab7c993d645ef.tar.bz2 |
base: Remove more use of MessageLoopProxy
Replace usage of MessageLoopProxy under base/prefs and
base/threading/sequenced_worker_pool with SingleThreadTaskRunner and
ThreadTaskRunnerHandle.
BUG=465354
Review URL: https://codereview.chromium.org/1115223003
Cr-Commit-Position: refs/heads/master@{#328326}
Diffstat (limited to 'base/threading')
-rw-r--r-- | base/threading/sequenced_worker_pool.cc | 23 | ||||
-rw-r--r-- | base/threading/sequenced_worker_pool.h | 5 |
2 files changed, 13 insertions, 15 deletions
diff --git a/base/threading/sequenced_worker_pool.cc b/base/threading/sequenced_worker_pool.cc index faf7f53..7bbca92 100644 --- a/base/threading/sequenced_worker_pool.cc +++ b/base/threading/sequenced_worker_pool.cc @@ -17,11 +17,11 @@ #include "base/lazy_instance.h" #include "base/logging.h" #include "base/memory/linked_ptr.h" -#include "base/message_loop/message_loop_proxy.h" #include "base/stl_util.h" #include "base/strings/stringprintf.h" #include "base/synchronization/condition_variable.h" #include "base/synchronization/lock.h" +#include "base/thread_task_runner_handle.h" #include "base/threading/platform_thread.h" #include "base/threading/simple_thread.h" #include "base/threading/thread_local.h" @@ -1157,29 +1157,26 @@ SequencedWorkerPool::GetSequenceTokenForCurrentThread() { return *token; } -SequencedWorkerPool::SequencedWorkerPool( - size_t max_threads, - const std::string& thread_name_prefix) - : constructor_message_loop_(MessageLoopProxy::current()), +SequencedWorkerPool::SequencedWorkerPool(size_t max_threads, + const std::string& thread_name_prefix) + : constructor_task_runner_(ThreadTaskRunnerHandle::Get()), inner_(new Inner(this, max_threads, thread_name_prefix, NULL)) { } -SequencedWorkerPool::SequencedWorkerPool( - size_t max_threads, - const std::string& thread_name_prefix, - TestingObserver* observer) - : constructor_message_loop_(MessageLoopProxy::current()), +SequencedWorkerPool::SequencedWorkerPool(size_t max_threads, + const std::string& thread_name_prefix, + TestingObserver* observer) + : constructor_task_runner_(ThreadTaskRunnerHandle::Get()), inner_(new Inner(this, max_threads, thread_name_prefix, observer)) { } SequencedWorkerPool::~SequencedWorkerPool() {} void SequencedWorkerPool::OnDestruct() const { - DCHECK(constructor_message_loop_.get()); // Avoid deleting ourselves on a worker thread (which would // deadlock). if (RunsTasksOnCurrentThread()) { - constructor_message_loop_->DeleteSoon(FROM_HERE, this); + constructor_task_runner_->DeleteSoon(FROM_HERE, this); } else { delete this; } @@ -1299,7 +1296,7 @@ void SequencedWorkerPool::SignalHasWorkForTesting() { } void SequencedWorkerPool::Shutdown(int max_new_blocking_tasks_after_shutdown) { - DCHECK(constructor_message_loop_->BelongsToCurrentThread()); + DCHECK(constructor_task_runner_->BelongsToCurrentThread()); inner_->Shutdown(max_new_blocking_tasks_after_shutdown); } diff --git a/base/threading/sequenced_worker_pool.h b/base/threading/sequenced_worker_pool.h index 0b6c5f9..ee282bc 100644 --- a/base/threading/sequenced_worker_pool.h +++ b/base/threading/sequenced_worker_pool.h @@ -13,6 +13,7 @@ #include "base/callback_forward.h" #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" +#include "base/single_thread_task_runner.h" #include "base/task_runner.h" namespace tracked_objects { @@ -21,7 +22,7 @@ class Location; namespace base { -class MessageLoopProxy; +class SingleThreadTaskRunner; template <class T> class DeleteHelper; @@ -345,7 +346,7 @@ class BASE_EXPORT SequencedWorkerPool : public TaskRunner { class Inner; class Worker; - const scoped_refptr<MessageLoopProxy> constructor_message_loop_; + const scoped_refptr<SingleThreadTaskRunner> constructor_task_runner_; // Avoid pulling in too many headers by putting (almost) everything // into |inner_|. |