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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 bool PrefMemberVectorStringUpdate(const base::Value& value, | 132 bool PrefMemberVectorStringUpdate(const base::Value& value, |
133 std::vector<std::string>* string_vector) { | 133 std::vector<std::string>* string_vector) { |
134 if (!value.IsType(base::Value::Type::LIST)) | 134 if (!value.IsType(base::Value::Type::LIST)) |
135 return false; | 135 return false; |
136 const base::ListValue* list = static_cast<const base::ListValue*>(&value); | 136 const base::ListValue* list = static_cast<const base::ListValue*>(&value); |
137 | 137 |
138 std::vector<std::string> local_vector; | 138 std::vector<std::string> local_vector; |
139 for (base::ListValue::const_iterator it = list->begin(); | 139 for (base::ListValue::const_iterator it = list->begin(); |
140 it != list->end(); ++it) { | 140 it != list->end(); ++it) { |
141 std::string string_value; | 141 std::string string_value; |
142 if (!it->GetAsString(&string_value)) | 142 if (!(*it)->GetAsString(&string_value)) |
143 return false; | 143 return false; |
144 | 144 |
145 local_vector.push_back(string_value); | 145 local_vector.push_back(string_value); |
146 } | 146 } |
147 | 147 |
148 string_vector->swap(local_vector); | 148 string_vector->swap(local_vector); |
149 return true; | 149 return true; |
150 } | 150 } |
151 | 151 |
152 } // namespace subtle | 152 } // namespace subtle |
(...skipping 61 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 |