summaryrefslogtreecommitdiffstats
path: root/base/threading
diff options
context:
space:
mode:
authorskyostil <skyostil@chromium.org>2015-05-05 07:35:14 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-05 14:36:26 +0000
commit9eb88f31c09e9fc61a6e3c654d2ab7c993d645ef (patch)
treed44b6423f20ff75435bf20ab9a3fc438d87b9b75 /base/threading
parent023893bd3e720a93eac00000a0d83ce6c530f75a (diff)
downloadchromium_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.cc23
-rw-r--r--base/threading/sequenced_worker_pool.h5
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_|.