Index: base/prefs/pref_member.cc |
diff --git a/base/prefs/pref_member.cc b/base/prefs/pref_member.cc |
index 8d80dd0049b3dc3f47c19c44fdff8ee18895623c..64c3d6a99348b7f12f56372de56f061a6e7b0027 100644 |
--- a/base/prefs/pref_member.cc |
+++ b/base/prefs/pref_member.cc |
@@ -7,11 +7,10 @@ |
#include "base/callback.h" |
#include "base/callback_helpers.h" |
#include "base/location.h" |
-#include "base/message_loop/message_loop_proxy.h" |
#include "base/prefs/pref_service.h" |
+#include "base/thread_task_runner_handle.h" |
#include "base/value_conversions.h" |
-using base::MessageLoopProxy; |
using base::SingleThreadTaskRunner; |
namespace subtle { |
@@ -52,12 +51,12 @@ void PrefMemberBase::Destroy() { |
} |
void PrefMemberBase::MoveToThread( |
- const scoped_refptr<SingleThreadTaskRunner>& task_runner) { |
+ scoped_refptr<SingleThreadTaskRunner> task_runner) { |
VerifyValuePrefName(); |
// Load the value from preferences if it hasn't been loaded so far. |
if (!internal()) |
UpdateValueFromPref(base::Closure()); |
- internal()->MoveToThread(task_runner); |
+ internal()->MoveToThread(task_runner.Pass()); |
} |
void PrefMemberBase::OnPreferenceChanged(PrefService* service, |
@@ -91,15 +90,14 @@ void PrefMemberBase::InvokeUnnamedCallback(const base::Closure& callback, |
} |
PrefMemberBase::Internal::Internal() |
- : thread_loop_(MessageLoopProxy::current()), |
+ : thread_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
is_managed_(false), |
is_user_modifiable_(false) { |
} |
PrefMemberBase::Internal::~Internal() { } |
bool PrefMemberBase::Internal::IsOnCorrectThread() const { |
- // In unit tests, there may not be a message loop. |
- return thread_loop_.get() == NULL || thread_loop_->BelongsToCurrentThread(); |
+ return thread_task_runner_->BelongsToCurrentThread(); |
} |
void PrefMemberBase::Internal::UpdateValue( |
@@ -115,19 +113,18 @@ void PrefMemberBase::Internal::UpdateValue( |
is_managed_ = is_managed; |
is_user_modifiable_ = is_user_modifiable; |
} else { |
- bool may_run = thread_loop_->PostTask( |
- FROM_HERE, |
- base::Bind(&PrefMemberBase::Internal::UpdateValue, this, |
- value.release(), is_managed, is_user_modifiable, |
- closure_runner.Release())); |
+ bool may_run = thread_task_runner_->PostTask( |
+ FROM_HERE, base::Bind(&PrefMemberBase::Internal::UpdateValue, this, |
+ value.release(), is_managed, is_user_modifiable, |
+ closure_runner.Release())); |
DCHECK(may_run); |
} |
} |
void PrefMemberBase::Internal::MoveToThread( |
- const scoped_refptr<SingleThreadTaskRunner>& task_runner) { |
+ scoped_refptr<SingleThreadTaskRunner> task_runner) { |
CheckOnCorrectThread(); |
- thread_loop_ = task_runner; |
+ thread_task_runner_ = task_runner.Pass(); |
} |
bool PrefMemberVectorStringUpdate(const base::Value& value, |