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

Side by Side Diff: chrome/browser/media_galleries/media_galleries_preferences.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 (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 "chrome/browser/media_galleries/media_galleries_preferences.h" 5 #include "chrome/browser/media_galleries/media_galleries_preferences.h"
6 6
7 #include "base/base_paths_posix.h" 7 #include "base/base_paths_posix.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/i18n/time_formatting.h" 9 #include "base/i18n/time_formatting.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 if (extensions::PermissionsData::HasAPIPermission( 87 if (extensions::PermissionsData::HasAPIPermission(
88 *i, extensions::APIPermission::kMediaGalleries) || 88 *i, extensions::APIPermission::kMediaGalleries) ||
89 extensions::PermissionsData::HasAPIPermission( 89 extensions::PermissionsData::HasAPIPermission(
90 *i, extensions::APIPermission::kMediaGalleriesPrivate)) { 90 *i, extensions::APIPermission::kMediaGalleriesPrivate)) {
91 count++; 91 count++;
92 } 92 }
93 } 93 }
94 return count; 94 return count;
95 } 95 }
96 96
97 bool GetPrefId(const DictionaryValue& dict, MediaGalleryPrefId* value) { 97 bool GetPrefId(const base::DictionaryValue& dict, MediaGalleryPrefId* value) {
98 std::string string_id; 98 std::string string_id;
99 if (!dict.GetString(kMediaGalleriesPrefIdKey, &string_id) || 99 if (!dict.GetString(kMediaGalleriesPrefIdKey, &string_id) ||
100 !base::StringToUint64(string_id, value)) { 100 !base::StringToUint64(string_id, value)) {
101 return false; 101 return false;
102 } 102 }
103 103
104 return true; 104 return true;
105 } 105 }
106 106
107 bool GetType(const DictionaryValue& dict, MediaGalleryPrefInfo::Type* type) { 107 bool GetType(const base::DictionaryValue& dict,
108 MediaGalleryPrefInfo::Type* type) {
108 std::string string_type; 109 std::string string_type;
109 if (!dict.GetString(kMediaGalleriesTypeKey, &string_type)) 110 if (!dict.GetString(kMediaGalleriesTypeKey, &string_type))
110 return false; 111 return false;
111 112
112 if (string_type == kMediaGalleriesTypeAutoDetectedValue) { 113 if (string_type == kMediaGalleriesTypeAutoDetectedValue) {
113 *type = MediaGalleryPrefInfo::kAutoDetected; 114 *type = MediaGalleryPrefInfo::kAutoDetected;
114 return true; 115 return true;
115 } 116 }
116 if (string_type == kMediaGalleriesTypeUserAddedValue) { 117 if (string_type == kMediaGalleriesTypeUserAddedValue) {
117 *type = MediaGalleryPrefInfo::kUserAdded; 118 *type = MediaGalleryPrefInfo::kUserAdded;
118 return true; 119 return true;
119 } 120 }
120 if (string_type == kMediaGalleriesTypeBlackListedValue) { 121 if (string_type == kMediaGalleriesTypeBlackListedValue) {
121 *type = MediaGalleryPrefInfo::kBlackListed; 122 *type = MediaGalleryPrefInfo::kBlackListed;
122 return true; 123 return true;
123 } 124 }
124 125
125 return false; 126 return false;
126 } 127 }
127 128
128 bool PopulateGalleryPrefInfoFromDictionary( 129 bool PopulateGalleryPrefInfoFromDictionary(
129 const DictionaryValue& dict, MediaGalleryPrefInfo* out_gallery_info) { 130 const base::DictionaryValue& dict, MediaGalleryPrefInfo* out_gallery_info) {
130 MediaGalleryPrefId pref_id; 131 MediaGalleryPrefId pref_id;
131 base::string16 display_name; 132 base::string16 display_name;
132 std::string device_id; 133 std::string device_id;
133 base::FilePath::StringType path; 134 base::FilePath::StringType path;
134 MediaGalleryPrefInfo::Type type = MediaGalleryPrefInfo::kAutoDetected; 135 MediaGalleryPrefInfo::Type type = MediaGalleryPrefInfo::kAutoDetected;
135 base::string16 volume_label; 136 base::string16 volume_label;
136 base::string16 vendor_name; 137 base::string16 vendor_name;
137 base::string16 model_name; 138 base::string16 model_name;
138 double total_size_in_bytes = 0.0; 139 double total_size_in_bytes = 0.0;
139 double last_attach_time = 0.0; 140 double last_attach_time = 0.0;
(...skipping 28 matching lines...) Expand all
168 out_gallery_info->model_name = model_name; 169 out_gallery_info->model_name = model_name;
169 out_gallery_info->total_size_in_bytes = total_size_in_bytes; 170 out_gallery_info->total_size_in_bytes = total_size_in_bytes;
170 out_gallery_info->last_attach_time = 171 out_gallery_info->last_attach_time =
171 base::Time::FromInternalValue(last_attach_time); 172 base::Time::FromInternalValue(last_attach_time);
172 out_gallery_info->volume_metadata_valid = volume_metadata_valid; 173 out_gallery_info->volume_metadata_valid = volume_metadata_valid;
173 out_gallery_info->prefs_version = prefs_version; 174 out_gallery_info->prefs_version = prefs_version;
174 175
175 return true; 176 return true;
176 } 177 }
177 178
178 DictionaryValue* CreateGalleryPrefInfoDictionary( 179 base::DictionaryValue* CreateGalleryPrefInfoDictionary(
179 const MediaGalleryPrefInfo& gallery) { 180 const MediaGalleryPrefInfo& gallery) {
180 DictionaryValue* dict = new DictionaryValue(); 181 base::DictionaryValue* dict = new base::DictionaryValue();
181 dict->SetString(kMediaGalleriesPrefIdKey, 182 dict->SetString(kMediaGalleriesPrefIdKey,
182 base::Uint64ToString(gallery.pref_id)); 183 base::Uint64ToString(gallery.pref_id));
183 if (!gallery.volume_metadata_valid) 184 if (!gallery.volume_metadata_valid)
184 dict->SetString(kMediaGalleriesDisplayNameKey, gallery.display_name); 185 dict->SetString(kMediaGalleriesDisplayNameKey, gallery.display_name);
185 dict->SetString(kMediaGalleriesDeviceIdKey, gallery.device_id); 186 dict->SetString(kMediaGalleriesDeviceIdKey, gallery.device_id);
186 dict->SetString(kMediaGalleriesPathKey, gallery.path.value()); 187 dict->SetString(kMediaGalleriesPathKey, gallery.path.value());
187 188
188 const char* type = NULL; 189 const char* type = NULL;
189 switch (gallery.type) { 190 switch (gallery.type) {
190 case MediaGalleryPrefInfo::kAutoDetected: 191 case MediaGalleryPrefInfo::kAutoDetected:
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 bool HasAutoDetectedGalleryPermission(const extensions::Extension& extension) { 227 bool HasAutoDetectedGalleryPermission(const extensions::Extension& extension) {
227 extensions::MediaGalleriesPermission::CheckParam param( 228 extensions::MediaGalleriesPermission::CheckParam param(
228 extensions::MediaGalleriesPermission::kAllAutoDetectedPermission); 229 extensions::MediaGalleriesPermission::kAllAutoDetectedPermission);
229 return extensions::PermissionsData::CheckAPIPermissionWithParam( 230 return extensions::PermissionsData::CheckAPIPermissionWithParam(
230 &extension, extensions::APIPermission::kMediaGalleries, &param); 231 &extension, extensions::APIPermission::kMediaGalleries, &param);
231 } 232 }
232 233
233 // Retrieves the MediaGalleryPermission from the given dictionary; DCHECKs on 234 // Retrieves the MediaGalleryPermission from the given dictionary; DCHECKs on
234 // failure. 235 // failure.
235 bool GetMediaGalleryPermissionFromDictionary( 236 bool GetMediaGalleryPermissionFromDictionary(
236 const DictionaryValue* dict, 237 const base::DictionaryValue* dict,
237 MediaGalleryPermission* out_permission) { 238 MediaGalleryPermission* out_permission) {
238 std::string string_id; 239 std::string string_id;
239 if (dict->GetString(kMediaGalleryIdKey, &string_id) && 240 if (dict->GetString(kMediaGalleryIdKey, &string_id) &&
240 base::StringToUint64(string_id, &out_permission->pref_id) && 241 base::StringToUint64(string_id, &out_permission->pref_id) &&
241 dict->GetBoolean(kMediaGalleryHasPermissionKey, 242 dict->GetBoolean(kMediaGalleryHasPermissionKey,
242 &out_permission->has_permission)) { 243 &out_permission->has_permission)) {
243 return true; 244 return true;
244 } 245 }
245 NOTREACHED(); 246 NOTREACHED();
246 return false; 247 return false;
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 505
505 bool MediaGalleriesPreferences::UpdateDeviceIDForSingletonType( 506 bool MediaGalleriesPreferences::UpdateDeviceIDForSingletonType(
506 const std::string& device_id) { 507 const std::string& device_id) {
507 StorageInfo::Type singleton_type; 508 StorageInfo::Type singleton_type;
508 if (!StorageInfo::CrackDeviceId(device_id, &singleton_type, NULL)) 509 if (!StorageInfo::CrackDeviceId(device_id, &singleton_type, NULL))
509 return false; 510 return false;
510 511
511 PrefService* prefs = profile_->GetPrefs(); 512 PrefService* prefs = profile_->GetPrefs();
512 scoped_ptr<ListPrefUpdate> update(new ListPrefUpdate( 513 scoped_ptr<ListPrefUpdate> update(new ListPrefUpdate(
513 prefs, prefs::kMediaGalleriesRememberedGalleries)); 514 prefs, prefs::kMediaGalleriesRememberedGalleries));
514 ListValue* list = update->Get(); 515 base::ListValue* list = update->Get();
515 for (ListValue::iterator iter = list->begin(); iter != list->end(); ++iter) { 516 for (base::ListValue::iterator iter = list->begin();
517 iter != list->end(); ++iter) {
516 // All of these calls should succeed, but preferences file can be corrupt. 518 // All of these calls should succeed, but preferences file can be corrupt.
517 DictionaryValue* dict; 519 base::DictionaryValue* dict;
518 if (!(*iter)->GetAsDictionary(&dict)) 520 if (!(*iter)->GetAsDictionary(&dict))
519 continue; 521 continue;
520 std::string this_device_id; 522 std::string this_device_id;
521 if (!dict->GetString(kMediaGalleriesDeviceIdKey, &this_device_id)) 523 if (!dict->GetString(kMediaGalleriesDeviceIdKey, &this_device_id))
522 continue; 524 continue;
523 if (this_device_id == device_id) 525 if (this_device_id == device_id)
524 return true; // No update is necessary. 526 return true; // No update is necessary.
525 StorageInfo::Type device_type; 527 StorageInfo::Type device_type;
526 if (!StorageInfo::CrackDeviceId(this_device_id, &device_type, NULL)) 528 if (!StorageInfo::CrackDeviceId(this_device_id, &device_type, NULL))
527 continue; 529 continue;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 } 570 }
569 571
570 OnInitializationCallbackReturned(); 572 OnInitializationCallbackReturned();
571 } 573 }
572 574
573 void MediaGalleriesPreferences::InitFromPrefs() { 575 void MediaGalleriesPreferences::InitFromPrefs() {
574 known_galleries_.clear(); 576 known_galleries_.clear();
575 device_map_.clear(); 577 device_map_.clear();
576 578
577 PrefService* prefs = profile_->GetPrefs(); 579 PrefService* prefs = profile_->GetPrefs();
578 const ListValue* list = prefs->GetList( 580 const base::ListValue* list = prefs->GetList(
579 prefs::kMediaGalleriesRememberedGalleries); 581 prefs::kMediaGalleriesRememberedGalleries);
580 if (list) { 582 if (list) {
581 for (ListValue::const_iterator it = list->begin(); 583 for (base::ListValue::const_iterator it = list->begin();
582 it != list->end(); ++it) { 584 it != list->end(); ++it) {
583 const DictionaryValue* dict = NULL; 585 const base::DictionaryValue* dict = NULL;
584 if (!(*it)->GetAsDictionary(&dict)) 586 if (!(*it)->GetAsDictionary(&dict))
585 continue; 587 continue;
586 588
587 MediaGalleryPrefInfo gallery_info; 589 MediaGalleryPrefInfo gallery_info;
588 if (!PopulateGalleryPrefInfoFromDictionary(*dict, &gallery_info)) 590 if (!PopulateGalleryPrefInfoFromDictionary(*dict, &gallery_info))
589 continue; 591 continue;
590 592
591 known_galleries_[gallery_info.pref_id] = gallery_info; 593 known_galleries_[gallery_info.pref_id] = gallery_info;
592 device_map_[gallery_info.device_id].insert(gallery_info.pref_id); 594 device_map_[gallery_info.device_id].insert(gallery_info.pref_id);
593 } 595 }
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 (existing.total_size_in_bytes != total_size_in_bytes) || 752 (existing.total_size_in_bytes != total_size_in_bytes) ||
751 (existing.last_attach_time != last_attach_time)); 753 (existing.last_attach_time != last_attach_time));
752 754
753 if (!update_gallery_name && !update_gallery_type && 755 if (!update_gallery_name && !update_gallery_type &&
754 !update_gallery_metadata) 756 !update_gallery_metadata)
755 return *pref_id_it; 757 return *pref_id_it;
756 758
757 PrefService* prefs = profile_->GetPrefs(); 759 PrefService* prefs = profile_->GetPrefs();
758 scoped_ptr<ListPrefUpdate> update( 760 scoped_ptr<ListPrefUpdate> update(
759 new ListPrefUpdate(prefs, prefs::kMediaGalleriesRememberedGalleries)); 761 new ListPrefUpdate(prefs, prefs::kMediaGalleriesRememberedGalleries));
760 ListValue* list = update->Get(); 762 base::ListValue* list = update->Get();
761 763
762 for (ListValue::const_iterator list_iter = list->begin(); 764 for (base::ListValue::const_iterator list_iter = list->begin();
763 list_iter != list->end(); 765 list_iter != list->end();
764 ++list_iter) { 766 ++list_iter) {
765 DictionaryValue* dict; 767 base::DictionaryValue* dict;
766 MediaGalleryPrefId iter_id; 768 MediaGalleryPrefId iter_id;
767 if ((*list_iter)->GetAsDictionary(&dict) && 769 if ((*list_iter)->GetAsDictionary(&dict) &&
768 GetPrefId(*dict, &iter_id) && 770 GetPrefId(*dict, &iter_id) &&
769 *pref_id_it == iter_id) { 771 *pref_id_it == iter_id) {
770 if (update_gallery_type) { 772 if (update_gallery_type) {
771 dict->SetString(kMediaGalleriesTypeKey, 773 dict->SetString(kMediaGalleriesTypeKey,
772 kMediaGalleriesTypeAutoDetectedValue); 774 kMediaGalleriesTypeAutoDetectedValue);
773 } 775 }
774 if (update_gallery_name) 776 if (update_gallery_name)
775 dict->SetString(kMediaGalleriesDisplayNameKey, display_name); 777 dict->SetString(kMediaGalleriesDisplayNameKey, display_name);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 gallery_info.vendor_name = vendor_name; 817 gallery_info.vendor_name = vendor_name;
816 gallery_info.model_name = model_name; 818 gallery_info.model_name = model_name;
817 gallery_info.total_size_in_bytes = total_size_in_bytes; 819 gallery_info.total_size_in_bytes = total_size_in_bytes;
818 gallery_info.last_attach_time = last_attach_time; 820 gallery_info.last_attach_time = last_attach_time;
819 } 821 }
820 gallery_info.volume_metadata_valid = volume_metadata_valid; 822 gallery_info.volume_metadata_valid = volume_metadata_valid;
821 gallery_info.prefs_version = prefs_version; 823 gallery_info.prefs_version = prefs_version;
822 824
823 { 825 {
824 ListPrefUpdate update(prefs, prefs::kMediaGalleriesRememberedGalleries); 826 ListPrefUpdate update(prefs, prefs::kMediaGalleriesRememberedGalleries);
825 ListValue* list = update.Get(); 827 base::ListValue* list = update.Get();
826 list->Append(CreateGalleryPrefInfoDictionary(gallery_info)); 828 list->Append(CreateGalleryPrefInfoDictionary(gallery_info));
827 } 829 }
828 InitFromPrefs(); 830 InitFromPrefs();
829 FOR_EACH_OBSERVER(GalleryChangeObserver, 831 FOR_EACH_OBSERVER(GalleryChangeObserver,
830 gallery_change_observers_, 832 gallery_change_observers_,
831 OnGalleryAdded(this, gallery_info.pref_id)); 833 OnGalleryAdded(this, gallery_info.pref_id));
832 834
833 return gallery_info.pref_id; 835 return gallery_info.pref_id;
834 } 836 }
835 837
(...skipping 16 matching lines...) Expand all
852 gallery_info.last_attach_time, 854 gallery_info.last_attach_time,
853 gallery_info.volume_metadata_valid, 855 gallery_info.volume_metadata_valid,
854 gallery_info.prefs_version); 856 gallery_info.prefs_version);
855 } 857 }
856 858
857 void MediaGalleriesPreferences::ForgetGalleryById(MediaGalleryPrefId pref_id) { 859 void MediaGalleriesPreferences::ForgetGalleryById(MediaGalleryPrefId pref_id) {
858 DCHECK(IsInitialized()); 860 DCHECK(IsInitialized());
859 PrefService* prefs = profile_->GetPrefs(); 861 PrefService* prefs = profile_->GetPrefs();
860 scoped_ptr<ListPrefUpdate> update(new ListPrefUpdate( 862 scoped_ptr<ListPrefUpdate> update(new ListPrefUpdate(
861 prefs, prefs::kMediaGalleriesRememberedGalleries)); 863 prefs, prefs::kMediaGalleriesRememberedGalleries));
862 ListValue* list = update->Get(); 864 base::ListValue* list = update->Get();
863 865
864 if (!ContainsKey(known_galleries_, pref_id)) 866 if (!ContainsKey(known_galleries_, pref_id))
865 return; 867 return;
866 868
867 for (ListValue::iterator iter = list->begin(); iter != list->end(); ++iter) { 869 for (base::ListValue::iterator iter = list->begin();
868 DictionaryValue* dict; 870 iter != list->end(); ++iter) {
871 base::DictionaryValue* dict;
869 MediaGalleryPrefId iter_id; 872 MediaGalleryPrefId iter_id;
870 if ((*iter)->GetAsDictionary(&dict) && GetPrefId(*dict, &iter_id) && 873 if ((*iter)->GetAsDictionary(&dict) && GetPrefId(*dict, &iter_id) &&
871 pref_id == iter_id) { 874 pref_id == iter_id) {
872 RemoveGalleryPermissionsFromPrefs(pref_id); 875 RemoveGalleryPermissionsFromPrefs(pref_id);
873 MediaGalleryPrefInfo::Type type; 876 MediaGalleryPrefInfo::Type type;
874 if (GetType(*dict, &type) && 877 if (GetType(*dict, &type) &&
875 type == MediaGalleryPrefInfo::kAutoDetected) { 878 type == MediaGalleryPrefInfo::kAutoDetected) {
876 dict->SetString(kMediaGalleriesTypeKey, 879 dict->SetString(kMediaGalleriesTypeKey,
877 kMediaGalleriesTypeBlackListedValue); 880 kMediaGalleriesTypeBlackListedValue);
878 } else { 881 } else {
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 } 990 }
988 991
989 bool MediaGalleriesPreferences::SetGalleryPermissionInPrefs( 992 bool MediaGalleriesPreferences::SetGalleryPermissionInPrefs(
990 const std::string& extension_id, 993 const std::string& extension_id,
991 MediaGalleryPrefId gallery_id, 994 MediaGalleryPrefId gallery_id,
992 bool has_access) { 995 bool has_access) {
993 DCHECK(IsInitialized()); 996 DCHECK(IsInitialized());
994 ExtensionPrefs::ScopedListUpdate update(GetExtensionPrefs(), 997 ExtensionPrefs::ScopedListUpdate update(GetExtensionPrefs(),
995 extension_id, 998 extension_id,
996 kMediaGalleriesPermissions); 999 kMediaGalleriesPermissions);
997 ListValue* permissions = update.Get(); 1000 base::ListValue* permissions = update.Get();
998 if (!permissions) { 1001 if (!permissions) {
999 permissions = update.Create(); 1002 permissions = update.Create();
1000 } else { 1003 } else {
1001 // If the gallery is already in the list, update the permission... 1004 // If the gallery is already in the list, update the permission...
1002 for (ListValue::iterator iter = permissions->begin(); 1005 for (base::ListValue::iterator iter = permissions->begin();
1003 iter != permissions->end(); ++iter) { 1006 iter != permissions->end(); ++iter) {
1004 DictionaryValue* dict = NULL; 1007 base::DictionaryValue* dict = NULL;
1005 if (!(*iter)->GetAsDictionary(&dict)) 1008 if (!(*iter)->GetAsDictionary(&dict))
1006 continue; 1009 continue;
1007 MediaGalleryPermission perm; 1010 MediaGalleryPermission perm;
1008 if (!GetMediaGalleryPermissionFromDictionary(dict, &perm)) 1011 if (!GetMediaGalleryPermissionFromDictionary(dict, &perm))
1009 continue; 1012 continue;
1010 if (perm.pref_id == gallery_id) { 1013 if (perm.pref_id == gallery_id) {
1011 if (has_access != perm.has_permission) { 1014 if (has_access != perm.has_permission) {
1012 dict->SetBoolean(kMediaGalleryHasPermissionKey, has_access); 1015 dict->SetBoolean(kMediaGalleryHasPermissionKey, has_access);
1013 return true; 1016 return true;
1014 } else { 1017 } else {
1015 return false; 1018 return false;
1016 } 1019 }
1017 } 1020 }
1018 } 1021 }
1019 } 1022 }
1020 // ...Otherwise, add a new entry for the gallery. 1023 // ...Otherwise, add a new entry for the gallery.
1021 DictionaryValue* dict = new DictionaryValue; 1024 base::DictionaryValue* dict = new base::DictionaryValue;
1022 dict->SetString(kMediaGalleryIdKey, base::Uint64ToString(gallery_id)); 1025 dict->SetString(kMediaGalleryIdKey, base::Uint64ToString(gallery_id));
1023 dict->SetBoolean(kMediaGalleryHasPermissionKey, has_access); 1026 dict->SetBoolean(kMediaGalleryHasPermissionKey, has_access);
1024 permissions->Append(dict); 1027 permissions->Append(dict);
1025 return true; 1028 return true;
1026 } 1029 }
1027 1030
1028 bool MediaGalleriesPreferences::UnsetGalleryPermissionInPrefs( 1031 bool MediaGalleriesPreferences::UnsetGalleryPermissionInPrefs(
1029 const std::string& extension_id, 1032 const std::string& extension_id,
1030 MediaGalleryPrefId gallery_id) { 1033 MediaGalleryPrefId gallery_id) {
1031 DCHECK(IsInitialized()); 1034 DCHECK(IsInitialized());
1032 ExtensionPrefs::ScopedListUpdate update(GetExtensionPrefs(), 1035 ExtensionPrefs::ScopedListUpdate update(GetExtensionPrefs(),
1033 extension_id, 1036 extension_id,
1034 kMediaGalleriesPermissions); 1037 kMediaGalleriesPermissions);
1035 ListValue* permissions = update.Get(); 1038 base::ListValue* permissions = update.Get();
1036 if (!permissions) 1039 if (!permissions)
1037 return false; 1040 return false;
1038 1041
1039 for (ListValue::iterator iter = permissions->begin(); 1042 for (base::ListValue::iterator iter = permissions->begin();
1040 iter != permissions->end(); ++iter) { 1043 iter != permissions->end(); ++iter) {
1041 const DictionaryValue* dict = NULL; 1044 const base::DictionaryValue* dict = NULL;
1042 if (!(*iter)->GetAsDictionary(&dict)) 1045 if (!(*iter)->GetAsDictionary(&dict))
1043 continue; 1046 continue;
1044 MediaGalleryPermission perm; 1047 MediaGalleryPermission perm;
1045 if (!GetMediaGalleryPermissionFromDictionary(dict, &perm)) 1048 if (!GetMediaGalleryPermissionFromDictionary(dict, &perm))
1046 continue; 1049 continue;
1047 if (perm.pref_id == gallery_id) { 1050 if (perm.pref_id == gallery_id) {
1048 permissions->Erase(iter, NULL); 1051 permissions->Erase(iter, NULL);
1049 return true; 1052 return true;
1050 } 1053 }
1051 } 1054 }
1052 return false; 1055 return false;
1053 } 1056 }
1054 1057
1055 std::vector<MediaGalleryPermission> 1058 std::vector<MediaGalleryPermission>
1056 MediaGalleriesPreferences::GetGalleryPermissionsFromPrefs( 1059 MediaGalleriesPreferences::GetGalleryPermissionsFromPrefs(
1057 const std::string& extension_id) const { 1060 const std::string& extension_id) const {
1058 DCHECK(IsInitialized()); 1061 DCHECK(IsInitialized());
1059 std::vector<MediaGalleryPermission> result; 1062 std::vector<MediaGalleryPermission> result;
1060 const ListValue* permissions; 1063 const base::ListValue* permissions;
1061 if (!GetExtensionPrefs()->ReadPrefAsList(extension_id, 1064 if (!GetExtensionPrefs()->ReadPrefAsList(extension_id,
1062 kMediaGalleriesPermissions, 1065 kMediaGalleriesPermissions,
1063 &permissions)) { 1066 &permissions)) {
1064 return result; 1067 return result;
1065 } 1068 }
1066 1069
1067 for (ListValue::const_iterator iter = permissions->begin(); 1070 for (base::ListValue::const_iterator iter = permissions->begin();
1068 iter != permissions->end(); ++iter) { 1071 iter != permissions->end(); ++iter) {
1069 DictionaryValue* dict = NULL; 1072 base::DictionaryValue* dict = NULL;
1070 if (!(*iter)->GetAsDictionary(&dict)) 1073 if (!(*iter)->GetAsDictionary(&dict))
1071 continue; 1074 continue;
1072 MediaGalleryPermission perm; 1075 MediaGalleryPermission perm;
1073 if (!GetMediaGalleryPermissionFromDictionary(dict, &perm)) 1076 if (!GetMediaGalleryPermissionFromDictionary(dict, &perm))
1074 continue; 1077 continue;
1075 result.push_back(perm); 1078 result.push_back(perm);
1076 } 1079 }
1077 1080
1078 return result; 1081 return result;
1079 } 1082 }
1080 1083
1081 void MediaGalleriesPreferences::RemoveGalleryPermissionsFromPrefs( 1084 void MediaGalleriesPreferences::RemoveGalleryPermissionsFromPrefs(
1082 MediaGalleryPrefId gallery_id) { 1085 MediaGalleryPrefId gallery_id) {
1083 DCHECK(IsInitialized()); 1086 DCHECK(IsInitialized());
1084 ExtensionPrefs* prefs = GetExtensionPrefs(); 1087 ExtensionPrefs* prefs = GetExtensionPrefs();
1085 const DictionaryValue* extensions = 1088 const base::DictionaryValue* extensions =
1086 prefs->pref_service()->GetDictionary(prefs::kExtensionsPref); 1089 prefs->pref_service()->GetDictionary(prefs::kExtensionsPref);
1087 if (!extensions) 1090 if (!extensions)
1088 return; 1091 return;
1089 1092
1090 for (DictionaryValue::Iterator iter(*extensions); !iter.IsAtEnd(); 1093 for (base::DictionaryValue::Iterator iter(*extensions); !iter.IsAtEnd();
1091 iter.Advance()) { 1094 iter.Advance()) {
1092 if (!extensions::Extension::IdIsValid(iter.key())) { 1095 if (!extensions::Extension::IdIsValid(iter.key())) {
1093 NOTREACHED(); 1096 NOTREACHED();
1094 continue; 1097 continue;
1095 } 1098 }
1096 UnsetGalleryPermissionInPrefs(iter.key(), gallery_id); 1099 UnsetGalleryPermissionInPrefs(iter.key(), gallery_id);
1097 } 1100 }
1098 } 1101 }
1099 1102
1100 ExtensionPrefs* MediaGalleriesPreferences::GetExtensionPrefs() const { 1103 ExtensionPrefs* MediaGalleriesPreferences::GetExtensionPrefs() const {
1101 DCHECK(IsInitialized()); 1104 DCHECK(IsInitialized());
1102 if (extension_prefs_for_testing_) 1105 if (extension_prefs_for_testing_)
1103 return extension_prefs_for_testing_; 1106 return extension_prefs_for_testing_;
1104 return extensions::ExtensionPrefs::Get(profile_); 1107 return extensions::ExtensionPrefs::Get(profile_);
1105 } 1108 }
1106 1109
1107 void MediaGalleriesPreferences::SetExtensionPrefsForTesting( 1110 void MediaGalleriesPreferences::SetExtensionPrefsForTesting(
1108 extensions::ExtensionPrefs* extension_prefs) { 1111 extensions::ExtensionPrefs* extension_prefs) {
1109 DCHECK(IsInitialized()); 1112 DCHECK(IsInitialized());
1110 extension_prefs_for_testing_ = extension_prefs; 1113 extension_prefs_for_testing_ = extension_prefs;
1111 } 1114 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698