Index: trunk/src/chrome/browser/media_galleries/media_galleries_preferences.cc |
=================================================================== |
--- trunk/src/chrome/browser/media_galleries/media_galleries_preferences.cc (revision 226516) |
+++ trunk/src/chrome/browser/media_galleries/media_galleries_preferences.cc (working copy) |
@@ -377,12 +377,10 @@ |
// FinishInitialization. |
pre_initialization_callbacks_waiting_ = 3; |
- // We determine the freshness of the profile here, before any of the finders |
- // return and add media galleries to it. |
+ // Ensure StorageMonitor is initialized. |
StorageMonitor::GetInstance()->EnsureInitialized( |
- base::Bind(&MediaGalleriesPreferences::OnStorageMonitorInit, |
- weak_factory_.GetWeakPtr(), |
- APIHasBeenUsed(profile_) /* add_default_galleries */)); |
+ base::Bind(&MediaGalleriesPreferences::OnInitializationCallbackReturned, |
+ weak_factory_.GetWeakPtr())); |
// Look for optional default galleries every time. |
itunes::ITunesFinder::FindITunesLibrary( |
@@ -419,6 +417,7 @@ |
StorageMonitor* monitor = StorageMonitor::GetInstance(); |
DCHECK(monitor->IsInitialized()); |
+ AddDefaultGalleriesIfFreshProfile(); |
InitFromPrefs(); |
StorageMonitor::GetInstance()->AddObserver(this); |
@@ -448,7 +447,12 @@ |
on_initialize_callbacks_.clear(); |
} |
-void MediaGalleriesPreferences::AddDefaultGalleries() { |
+void MediaGalleriesPreferences::AddDefaultGalleriesIfFreshProfile() { |
+ // Only add defaults the first time. |
+ if (APIHasBeenUsed(profile_)) |
+ return; |
+ |
+ // Fresh profile case. |
const int kDirectoryKeys[] = { |
chrome::DIR_USER_MUSIC, |
chrome::DIR_USER_PICTURES, |
@@ -511,13 +515,6 @@ |
return false; |
} |
-void MediaGalleriesPreferences::OnStorageMonitorInit( |
- bool need_to_add_default_galleries) { |
- if (need_to_add_default_galleries) |
- AddDefaultGalleries(); |
- OnInitializationCallbackReturned(); |
-} |
- |
void MediaGalleriesPreferences::OnFinderDeviceID(const std::string& device_id) { |
if (!device_id.empty() && !UpdateDeviceIDForSingletonType(device_id)) { |
std::string gallery_name; |