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 |