Index: chrome/browser/media_gallery/media_file_system_registry.cc |
diff --git a/chrome/browser/media_gallery/media_file_system_registry.cc b/chrome/browser/media_gallery/media_file_system_registry.cc |
index 3cb34d76273748cede69d5423d9b0143edcf7ec6..b5438b9617d4eb7fa884ecf240444d1f28fcdecb 100644 |
--- a/chrome/browser/media_gallery/media_file_system_registry.cc |
+++ b/chrome/browser/media_gallery/media_file_system_registry.cc |
@@ -480,11 +480,7 @@ void MediaFileSystemRegistry::GetMediaFileSystemsForExtension( |
Profile* profile = |
Profile::FromBrowserContext(rvh->GetProcess()->GetBrowserContext()); |
- MediaGalleriesPreferences* preferences = |
- MediaGalleriesPreferencesFactory::GetForProfile(profile); |
- |
- if (!ContainsKey(extension_hosts_map_, profile)) |
- AddAttachedMediaDeviceGalleries(preferences); |
+ MediaGalleriesPreferences* preferences = GetPreferences(profile); |
MediaGalleryPrefIdSet galleries = |
preferences->GalleriesForExtension(*extension); |
@@ -513,6 +509,29 @@ void MediaFileSystemRegistry::GetMediaFileSystemsForExtension( |
callback); |
} |
+MediaGalleriesPreferences* MediaFileSystemRegistry::GetPreferences( |
+ Profile* profile) { |
+ MediaGalleriesPreferences* preferences = |
+ MediaGalleriesPreferencesFactory::GetForProfile(profile); |
+ if (ContainsKey(extension_hosts_map_, profile)) |
+ return preferences; |
+ |
+ // SystemMonitor may be NULL in unit tests. |
+ SystemMonitor* system_monitor = SystemMonitor::Get(); |
+ if (!system_monitor) |
+ return preferences; |
+ std::vector<SystemMonitor::RemovableStorageInfo> existing_devices = |
+ system_monitor->GetAttachedRemovableStorage(); |
+ for (size_t i = 0; i < existing_devices.size(); i++) { |
+ if (!MediaStorageUtil::IsMediaDevice(existing_devices[i].device_id)) |
+ continue; |
+ preferences->AddGallery(existing_devices[i].device_id, |
+ existing_devices[i].name, FilePath(), |
+ false /*not user added*/); |
+ } |
+ return preferences; |
+} |
+ |
void MediaFileSystemRegistry::OnRemovableStorageAttached( |
const std::string& id, const string16& name, |
const FilePath::StringType& location) { |
@@ -525,8 +544,7 @@ void MediaFileSystemRegistry::OnRemovableStorageAttached( |
extension_hosts_map_.begin(); |
profile_it != extension_hosts_map_.end(); |
++profile_it) { |
- MediaGalleriesPreferences* preferences = |
- MediaGalleriesPreferencesFactory::GetForProfile(profile_it->first); |
+ MediaGalleriesPreferences* preferences = GetPreferences(profile_it->first); |
preferences->AddGallery(id, name, FilePath(), false /*not user added*/); |
} |
} |
@@ -546,8 +564,7 @@ void MediaFileSystemRegistry::OnRemovableStorageDetached( |
extension_hosts_map_.begin(); |
profile_it != extension_hosts_map_.end(); |
++profile_it) { |
- MediaGalleriesPreferences* preferences = |
- MediaGalleriesPreferencesFactory::GetForProfile(profile_it->first); |
+ MediaGalleriesPreferences* preferences = GetPreferences(profile_it->first); |
InvalidatedGalleriesInfo invalid_galleries_in_profile; |
invalid_galleries_in_profile.pref_ids = |
preferences->LookUpGalleriesByDeviceId(id); |
@@ -678,24 +695,6 @@ void MediaFileSystemRegistry::RemoveScopedMtpDeviceMapEntry( |
} |
#endif |
-void MediaFileSystemRegistry::AddAttachedMediaDeviceGalleries( |
- MediaGalleriesPreferences* preferences) { |
- // SystemMonitor may be NULL in unit tests. |
- SystemMonitor* system_monitor = SystemMonitor::Get(); |
- if (!system_monitor) |
- return; |
- |
- std::vector<SystemMonitor::RemovableStorageInfo> existing_devices = |
- system_monitor->GetAttachedRemovableStorage(); |
- for (size_t i = 0; i < existing_devices.size(); i++) { |
- if (!MediaStorageUtil::IsMediaDevice(existing_devices[i].device_id)) |
- continue; |
- preferences->AddGallery(existing_devices[i].device_id, |
- existing_devices[i].name, FilePath(), |
- false /*not user added*/); |
- } |
-} |
- |
void MediaFileSystemRegistry::OnExtensionGalleriesHostEmpty( |
Profile* profile, const std::string& extension_id) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |