| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "components/prefs/pref_member.h" | 5 #include "components/prefs/pref_member.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 | 100 |
| 101 bool PrefMemberBase::Internal::IsOnCorrectThread() const { | 101 bool PrefMemberBase::Internal::IsOnCorrectThread() const { |
| 102 return thread_task_runner_->BelongsToCurrentThread(); | 102 return thread_task_runner_->BelongsToCurrentThread(); |
| 103 } | 103 } |
| 104 | 104 |
| 105 void PrefMemberBase::Internal::UpdateValue( | 105 void PrefMemberBase::Internal::UpdateValue( |
| 106 base::Value* v, | 106 base::Value* v, |
| 107 bool is_managed, | 107 bool is_managed, |
| 108 bool is_user_modifiable, | 108 bool is_user_modifiable, |
| 109 const base::Closure& callback) const { | 109 const base::Closure& callback) const { |
| 110 scoped_ptr<base::Value> value(v); | 110 std::unique_ptr<base::Value> value(v); |
| 111 base::ScopedClosureRunner closure_runner(callback); | 111 base::ScopedClosureRunner closure_runner(callback); |
| 112 if (IsOnCorrectThread()) { | 112 if (IsOnCorrectThread()) { |
| 113 bool rv = UpdateValueInternal(*value); | 113 bool rv = UpdateValueInternal(*value); |
| 114 DCHECK(rv); | 114 DCHECK(rv); |
| 115 is_managed_ = is_managed; | 115 is_managed_ = is_managed; |
| 116 is_user_modifiable_ = is_user_modifiable; | 116 is_user_modifiable_ = is_user_modifiable; |
| 117 } else { | 117 } else { |
| 118 bool may_run = thread_task_runner_->PostTask( | 118 bool may_run = thread_task_runner_->PostTask( |
| 119 FROM_HERE, base::Bind(&PrefMemberBase::Internal::UpdateValue, this, | 119 FROM_HERE, base::Bind(&PrefMemberBase::Internal::UpdateValue, this, |
| 120 value.release(), is_managed, is_user_modifiable, | 120 value.release(), is_managed, is_user_modifiable, |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 base::ListValue list_value; | 214 base::ListValue list_value; |
| 215 list_value.AppendStrings(value); | 215 list_value.AppendStrings(value); |
| 216 prefs()->Set(pref_name(), list_value); | 216 prefs()->Set(pref_name(), list_value); |
| 217 } | 217 } |
| 218 | 218 |
| 219 template <> | 219 template <> |
| 220 bool PrefMember<std::vector<std::string> >::Internal::UpdateValueInternal( | 220 bool PrefMember<std::vector<std::string> >::Internal::UpdateValueInternal( |
| 221 const base::Value& value) const { | 221 const base::Value& value) const { |
| 222 return subtle::PrefMemberVectorStringUpdate(value, &value_); | 222 return subtle::PrefMemberVectorStringUpdate(value, &value_); |
| 223 } | 223 } |
| OLD | NEW |