Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: chrome/browser/managed_mode/managed_user_sync_service.cc

Issue 104493005: Update some uses of Value in chrome/browser to use the base:: namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/managed_mode/managed_user_sync_service.h" 5 #include "chrome/browser/managed_mode/managed_user_sync_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/prefs/scoped_user_pref_update.h" 9 #include "base/prefs/scoped_user_pref_update.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 if (!chromeos_avatar.empty()) 55 if (!chromeos_avatar.empty())
56 specifics.mutable_managed_user()->set_chromeos_avatar(chromeos_avatar); 56 specifics.mutable_managed_user()->set_chromeos_avatar(chromeos_avatar);
57 if (!master_key.empty()) 57 if (!master_key.empty())
58 specifics.mutable_managed_user()->set_master_key(master_key); 58 specifics.mutable_managed_user()->set_master_key(master_key);
59 if (acknowledged) 59 if (acknowledged)
60 specifics.mutable_managed_user()->set_acknowledged(true); 60 specifics.mutable_managed_user()->set_acknowledged(true);
61 return SyncData::CreateLocalData(id, name, specifics); 61 return SyncData::CreateLocalData(id, name, specifics);
62 } 62 }
63 63
64 SyncData CreateSyncDataFromDictionaryEntry( 64 SyncData CreateSyncDataFromDictionaryEntry(
65 const DictionaryValue::Iterator& it) { 65 const base::DictionaryValue::Iterator& it) {
66 const DictionaryValue* dict = NULL; 66 const base::DictionaryValue* dict = NULL;
67 bool success = it.value().GetAsDictionary(&dict); 67 bool success = it.value().GetAsDictionary(&dict);
68 DCHECK(success); 68 DCHECK(success);
69 bool acknowledged = false; 69 bool acknowledged = false;
70 dict->GetBoolean(ManagedUserSyncService::kAcknowledged, &acknowledged); 70 dict->GetBoolean(ManagedUserSyncService::kAcknowledged, &acknowledged);
71 std::string name; 71 std::string name;
72 dict->GetString(ManagedUserSyncService::kName, &name); 72 dict->GetString(ManagedUserSyncService::kName, &name);
73 DCHECK(!name.empty()); 73 DCHECK(!name.empty());
74 std::string master_key; 74 std::string master_key;
75 dict->GetString(ManagedUserSyncService::kMasterKey, &master_key); 75 dict->GetString(ManagedUserSyncService::kMasterKey, &master_key);
76 std::string chrome_avatar; 76 std::string chrome_avatar;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 void ManagedUserSyncService::RemoveObserver( 150 void ManagedUserSyncService::RemoveObserver(
151 ManagedUserSyncServiceObserver* observer) { 151 ManagedUserSyncServiceObserver* observer) {
152 observers_.RemoveObserver(observer); 152 observers_.RemoveObserver(observer);
153 } 153 }
154 154
155 void ManagedUserSyncService::AddManagedUser(const std::string& id, 155 void ManagedUserSyncService::AddManagedUser(const std::string& id,
156 const std::string& name, 156 const std::string& name,
157 const std::string& master_key, 157 const std::string& master_key,
158 int avatar_index) { 158 int avatar_index) {
159 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers); 159 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers);
160 DictionaryValue* dict = update.Get(); 160 base::DictionaryValue* dict = update.Get();
161 DictionaryValue* value = new DictionaryValue; 161 base::DictionaryValue* value = new base::DictionaryValue;
162 value->SetString(kName, name); 162 value->SetString(kName, name);
163 value->SetString(kMasterKey, master_key); 163 value->SetString(kMasterKey, master_key);
164 std::string chrome_avatar; 164 std::string chrome_avatar;
165 std::string chromeos_avatar; 165 std::string chromeos_avatar;
166 #if defined(OS_CHROMEOS) 166 #if defined(OS_CHROMEOS)
167 chromeos_avatar = BuildAvatarString(avatar_index); 167 chromeos_avatar = BuildAvatarString(avatar_index);
168 #else 168 #else
169 chrome_avatar = BuildAvatarString(avatar_index); 169 chrome_avatar = BuildAvatarString(avatar_index);
170 #endif 170 #endif
171 value->SetString(kChromeAvatar, chrome_avatar); 171 value->SetString(kChromeAvatar, chrome_avatar);
(...skipping 27 matching lines...) Expand all
199 SyncChangeList change_list; 199 SyncChangeList change_list;
200 change_list.push_back(SyncChange( 200 change_list.push_back(SyncChange(
201 FROM_HERE, 201 FROM_HERE,
202 SyncChange::ACTION_DELETE, 202 SyncChange::ACTION_DELETE,
203 SyncData::CreateLocalDelete(id, MANAGED_USERS))); 203 SyncData::CreateLocalDelete(id, MANAGED_USERS)));
204 SyncError sync_error = 204 SyncError sync_error =
205 sync_processor_->ProcessSyncChanges(FROM_HERE, change_list); 205 sync_processor_->ProcessSyncChanges(FROM_HERE, change_list);
206 DCHECK(!sync_error.IsSet()); 206 DCHECK(!sync_error.IsSet());
207 } 207 }
208 208
209 const DictionaryValue* ManagedUserSyncService::GetManagedUsers() { 209 const base::DictionaryValue* ManagedUserSyncService::GetManagedUsers() {
210 DCHECK(sync_processor_); 210 DCHECK(sync_processor_);
211 return prefs_->GetDictionary(prefs::kManagedUsers); 211 return prefs_->GetDictionary(prefs::kManagedUsers);
212 } 212 }
213 213
214 bool ManagedUserSyncService::UpdateManagedUserAvatarIfNeeded( 214 bool ManagedUserSyncService::UpdateManagedUserAvatarIfNeeded(
215 const std::string& id, 215 const std::string& id,
216 int avatar_index) { 216 int avatar_index) {
217 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers); 217 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers);
218 DictionaryValue* dict = update.Get(); 218 base::DictionaryValue* dict = update.Get();
219 DCHECK(dict->HasKey(id)); 219 DCHECK(dict->HasKey(id));
220 DictionaryValue* value = NULL; 220 base::DictionaryValue* value = NULL;
221 bool success = dict->GetDictionaryWithoutPathExpansion(id, &value); 221 bool success = dict->GetDictionaryWithoutPathExpansion(id, &value);
222 DCHECK(success); 222 DCHECK(success);
223 223
224 bool acknowledged = false; 224 bool acknowledged = false;
225 value->GetBoolean(ManagedUserSyncService::kAcknowledged, &acknowledged); 225 value->GetBoolean(ManagedUserSyncService::kAcknowledged, &acknowledged);
226 std::string name; 226 std::string name;
227 value->GetString(ManagedUserSyncService::kName, &name); 227 value->GetString(ManagedUserSyncService::kName, &name);
228 std::string master_key; 228 std::string master_key;
229 value->GetString(ManagedUserSyncService::kMasterKey, &master_key); 229 value->GetString(ManagedUserSyncService::kMasterKey, &master_key);
230 std::string chromeos_avatar; 230 std::string chromeos_avatar;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 scoped_ptr<SyncChangeProcessor> sync_processor, 293 scoped_ptr<SyncChangeProcessor> sync_processor,
294 scoped_ptr<SyncErrorFactory> error_handler) { 294 scoped_ptr<SyncErrorFactory> error_handler) {
295 DCHECK_EQ(MANAGED_USERS, type); 295 DCHECK_EQ(MANAGED_USERS, type);
296 sync_processor_ = sync_processor.Pass(); 296 sync_processor_ = sync_processor.Pass();
297 error_handler_ = error_handler.Pass(); 297 error_handler_ = error_handler.Pass();
298 298
299 SyncChangeList change_list; 299 SyncChangeList change_list;
300 SyncMergeResult result(MANAGED_USERS); 300 SyncMergeResult result(MANAGED_USERS);
301 301
302 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers); 302 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers);
303 DictionaryValue* dict = update.Get(); 303 base::DictionaryValue* dict = update.Get();
304 result.set_num_items_before_association(dict->size()); 304 result.set_num_items_before_association(dict->size());
305 std::set<std::string> seen_ids; 305 std::set<std::string> seen_ids;
306 int num_items_added = 0; 306 int num_items_added = 0;
307 int num_items_modified = 0; 307 int num_items_modified = 0;
308 for (SyncDataList::const_iterator it = initial_sync_data.begin(); 308 for (SyncDataList::const_iterator it = initial_sync_data.begin();
309 it != initial_sync_data.end(); ++it) { 309 it != initial_sync_data.end(); ++it) {
310 DCHECK_EQ(MANAGED_USERS, it->GetDataType()); 310 DCHECK_EQ(MANAGED_USERS, it->GetDataType());
311 const ManagedUserSpecifics& managed_user = 311 const ManagedUserSpecifics& managed_user =
312 it->GetSpecifics().managed_user(); 312 it->GetSpecifics().managed_user();
313 DictionaryValue* value = new DictionaryValue(); 313 base::DictionaryValue* value = new base::DictionaryValue();
314 value->SetString(kName, managed_user.name()); 314 value->SetString(kName, managed_user.name());
315 value->SetBoolean(kAcknowledged, managed_user.acknowledged()); 315 value->SetBoolean(kAcknowledged, managed_user.acknowledged());
316 value->SetString(kMasterKey, managed_user.master_key()); 316 value->SetString(kMasterKey, managed_user.master_key());
317 value->SetString(kChromeAvatar, managed_user.chrome_avatar()); 317 value->SetString(kChromeAvatar, managed_user.chrome_avatar());
318 value->SetString(kChromeOsAvatar, managed_user.chromeos_avatar()); 318 value->SetString(kChromeOsAvatar, managed_user.chromeos_avatar());
319 if (dict->HasKey(managed_user.id())) 319 if (dict->HasKey(managed_user.id()))
320 num_items_modified++; 320 num_items_modified++;
321 else 321 else
322 num_items_added++; 322 num_items_added++;
323 dict->SetWithoutPathExpansion(managed_user.id(), value); 323 dict->SetWithoutPathExpansion(managed_user.id(), value);
324 seen_ids.insert(managed_user.id()); 324 seen_ids.insert(managed_user.id());
325 } 325 }
326 326
327 for (DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) { 327 for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) {
328 if (seen_ids.find(it.key()) != seen_ids.end()) 328 if (seen_ids.find(it.key()) != seen_ids.end())
329 continue; 329 continue;
330 330
331 change_list.push_back(SyncChange(FROM_HERE, SyncChange::ACTION_ADD, 331 change_list.push_back(SyncChange(FROM_HERE, SyncChange::ACTION_ADD,
332 CreateSyncDataFromDictionaryEntry(it))); 332 CreateSyncDataFromDictionaryEntry(it)));
333 } 333 }
334 result.set_error(sync_processor_->ProcessSyncChanges(FROM_HERE, change_list)); 334 result.set_error(sync_processor_->ProcessSyncChanges(FROM_HERE, change_list));
335 335
336 result.set_num_items_modified(num_items_modified); 336 result.set_num_items_modified(num_items_modified);
337 result.set_num_items_added(num_items_added); 337 result.set_num_items_added(num_items_added);
(...skipping 10 matching lines...) Expand all
348 // resetting the |sync_processor_|. 348 // resetting the |sync_processor_|.
349 NotifyManagedUsersSyncingStopped(); 349 NotifyManagedUsersSyncingStopped();
350 sync_processor_.reset(); 350 sync_processor_.reset();
351 error_handler_.reset(); 351 error_handler_.reset();
352 } 352 }
353 353
354 SyncDataList ManagedUserSyncService::GetAllSyncData( 354 SyncDataList ManagedUserSyncService::GetAllSyncData(
355 ModelType type) const { 355 ModelType type) const {
356 SyncDataList data; 356 SyncDataList data;
357 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers); 357 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers);
358 DictionaryValue* dict = update.Get(); 358 base::DictionaryValue* dict = update.Get();
359 for (DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance()) 359 for (base::DictionaryValue::Iterator it(*dict); !it.IsAtEnd(); it.Advance())
360 data.push_back(CreateSyncDataFromDictionaryEntry(it)); 360 data.push_back(CreateSyncDataFromDictionaryEntry(it));
361 361
362 return data; 362 return data;
363 } 363 }
364 364
365 SyncError ManagedUserSyncService::ProcessSyncChanges( 365 SyncError ManagedUserSyncService::ProcessSyncChanges(
366 const tracked_objects::Location& from_here, 366 const tracked_objects::Location& from_here,
367 const SyncChangeList& change_list) { 367 const SyncChangeList& change_list) {
368 SyncError error; 368 SyncError error;
369 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers); 369 DictionaryPrefUpdate update(prefs_, prefs::kManagedUsers);
370 DictionaryValue* dict = update.Get(); 370 base::DictionaryValue* dict = update.Get();
371 for (SyncChangeList::const_iterator it = change_list.begin(); 371 for (SyncChangeList::const_iterator it = change_list.begin();
372 it != change_list.end(); ++it) { 372 it != change_list.end(); ++it) {
373 SyncData data = it->sync_data(); 373 SyncData data = it->sync_data();
374 DCHECK_EQ(MANAGED_USERS, data.GetDataType()); 374 DCHECK_EQ(MANAGED_USERS, data.GetDataType());
375 const ManagedUserSpecifics& managed_user = 375 const ManagedUserSpecifics& managed_user =
376 data.GetSpecifics().managed_user(); 376 data.GetSpecifics().managed_user();
377 switch (it->change_type()) { 377 switch (it->change_type()) {
378 case SyncChange::ACTION_ADD: 378 case SyncChange::ACTION_ADD:
379 case SyncChange::ACTION_UPDATE: { 379 case SyncChange::ACTION_UPDATE: {
380 // Every item we get from the server should be acknowledged. 380 // Every item we get from the server should be acknowledged.
381 DCHECK(managed_user.acknowledged()); 381 DCHECK(managed_user.acknowledged());
382 const DictionaryValue* old_value = NULL; 382 const base::DictionaryValue* old_value = NULL;
383 dict->GetDictionaryWithoutPathExpansion(managed_user.id(), &old_value); 383 dict->GetDictionaryWithoutPathExpansion(managed_user.id(), &old_value);
384 384
385 // For an update action, the managed user should already exist, for an 385 // For an update action, the managed user should already exist, for an
386 // add action, it should not. 386 // add action, it should not.
387 DCHECK_EQ( 387 DCHECK_EQ(
388 old_value ? SyncChange::ACTION_UPDATE : SyncChange::ACTION_ADD, 388 old_value ? SyncChange::ACTION_UPDATE : SyncChange::ACTION_ADD,
389 it->change_type()); 389 it->change_type());
390 390
391 // If the managed user switched from unacknowledged to acknowledged, 391 // If the managed user switched from unacknowledged to acknowledged,
392 // we might need to continue with a registration. 392 // we might need to continue with a registration.
393 if (old_value && !old_value->HasKey(kAcknowledged)) 393 if (old_value && !old_value->HasKey(kAcknowledged))
394 NotifyManagedUserAcknowledged(managed_user.id()); 394 NotifyManagedUserAcknowledged(managed_user.id());
395 395
396 DictionaryValue* value = new DictionaryValue; 396 base::DictionaryValue* value = new base::DictionaryValue;
397 value->SetString(kName, managed_user.name()); 397 value->SetString(kName, managed_user.name());
398 value->SetBoolean(kAcknowledged, managed_user.acknowledged()); 398 value->SetBoolean(kAcknowledged, managed_user.acknowledged());
399 value->SetString(kMasterKey, managed_user.master_key()); 399 value->SetString(kMasterKey, managed_user.master_key());
400 value->SetString(kChromeAvatar, managed_user.chrome_avatar()); 400 value->SetString(kChromeAvatar, managed_user.chrome_avatar());
401 value->SetString(kChromeOsAvatar, managed_user.chromeos_avatar()); 401 value->SetString(kChromeOsAvatar, managed_user.chromeos_avatar());
402 dict->SetWithoutPathExpansion(managed_user.id(), value); 402 dict->SetWithoutPathExpansion(managed_user.id(), value);
403 break; 403 break;
404 } 404 }
405 case SyncChange::ACTION_DELETE: { 405 case SyncChange::ACTION_DELETE: {
406 DCHECK(dict->HasKey(managed_user.id())) << managed_user.id(); 406 DCHECK(dict->HasKey(managed_user.id())) << managed_user.id();
(...skipping 22 matching lines...) Expand all
429 FOR_EACH_OBSERVER(ManagedUserSyncServiceObserver, observers_, 429 FOR_EACH_OBSERVER(ManagedUserSyncServiceObserver, observers_,
430 OnManagedUserAcknowledged(managed_user_id)); 430 OnManagedUserAcknowledged(managed_user_id));
431 } 431 }
432 432
433 void ManagedUserSyncService::NotifyManagedUsersSyncingStopped() { 433 void ManagedUserSyncService::NotifyManagedUsersSyncingStopped() {
434 FOR_EACH_OBSERVER(ManagedUserSyncServiceObserver, observers_, 434 FOR_EACH_OBSERVER(ManagedUserSyncServiceObserver, observers_,
435 OnManagedUsersSyncingStopped()); 435 OnManagedUsersSyncingStopped());
436 } 436 }
437 437
438 void ManagedUserSyncService::DispatchCallbacks() { 438 void ManagedUserSyncService::DispatchCallbacks() {
439 const DictionaryValue* managed_users = 439 const base::DictionaryValue* managed_users =
440 prefs_->GetDictionary(prefs::kManagedUsers); 440 prefs_->GetDictionary(prefs::kManagedUsers);
441 for (std::vector<ManagedUsersCallback>::iterator it = callbacks_.begin(); 441 for (std::vector<ManagedUsersCallback>::iterator it = callbacks_.begin();
442 it != callbacks_.end(); ++it) { 442 it != callbacks_.end(); ++it) {
443 it->Run(managed_users); 443 it->Run(managed_users);
444 } 444 }
445 callbacks_.clear(); 445 callbacks_.clear();
446 } 446 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698