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

Unified Diff: chrome/browser/media_galleries/media_galleries_preferences.cc

Issue 185393012: Change media galleries to external file system type to add toURL support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media_galleries/media_galleries_preferences.cc
diff --git a/chrome/browser/media_galleries/media_galleries_preferences.cc b/chrome/browser/media_galleries/media_galleries_preferences.cc
index e5b05aeab1690b9fa9b18c9560c682007524da9a..9ab57f45e28812a42652fd250c837e858d8e51b8 100644
--- a/chrome/browser/media_galleries/media_galleries_preferences.cc
+++ b/chrome/browser/media_galleries/media_galleries_preferences.cc
@@ -20,6 +20,7 @@
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/media_galleries/fileapi/iapps_finder.h"
#include "chrome/browser/media_galleries/fileapi/picasa_finder.h"
+#include "chrome/browser/media_galleries/imported_media_gallery_registry.h"
#include "chrome/browser/media_galleries/media_file_system_registry.h"
#include "chrome/browser/media_galleries/media_galleries_histograms.h"
#include "chrome/browser/profiles/profile.h"
@@ -306,6 +307,11 @@ base::string16 GetDisplayNameForSubFolder(const base::string16& device_name,
device_name);
}
+void InitializeImportedMediaGalleryRegistryOnFileThread() {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::FILE));
+ ImportedMediaGalleryRegistry::GetInstance()->Initialize();
+}
+
} // namespace
MediaGalleryPrefInfo::MediaGalleryPrefInfo()
@@ -575,7 +581,7 @@ void MediaGalleriesPreferences::OnStorageMonitorInit(
}
void MediaGalleriesPreferences::OnFinderDeviceID(const std::string& device_id) {
- if (!device_id.empty() && !UpdateDeviceIDForSingletonType(device_id)) {
+ if (!device_id.empty()) {
std::string gallery_name;
if (StorageInfo::IsIPhotoDevice(device_id))
gallery_name = kIPhotoGalleryName;
@@ -583,13 +589,25 @@ void MediaGalleriesPreferences::OnFinderDeviceID(const std::string& device_id) {
gallery_name = kITunesGalleryName;
else if (StorageInfo::IsPicasaDevice(device_id))
gallery_name = kPicasaGalleryName;
- else
- NOTREACHED();
- AddGalleryInternal(device_id, base::ASCIIToUTF16(gallery_name),
- base::FilePath(), MediaGalleryPrefInfo::kAutoDetected,
- base::string16(), base::string16(), base::string16(), 0,
- base::Time(), false, 0, 0, 0, kCurrentPrefsVersion);
+ if (!gallery_name.empty()) {
+ pre_initialization_callbacks_waiting_++;
+ content::BrowserThread::PostTaskAndReply(
+ content::BrowserThread::FILE,
+ FROM_HERE,
+ base::Bind(&InitializeImportedMediaGalleryRegistryOnFileThread),
+ base::Bind(
+ &MediaGalleriesPreferences::OnInitializationCallbackReturned,
+ weak_factory_.GetWeakPtr()));
+ }
+
+ if (!UpdateDeviceIDForSingletonType(device_id)) {
+ DCHECK(!gallery_name.empty());
+ AddGalleryInternal(device_id, base::ASCIIToUTF16(gallery_name),
+ base::FilePath(), MediaGalleryPrefInfo::kAutoDetected,
+ base::string16(), base::string16(), base::string16(),
+ 0, base::Time(), false, 0, 0, 0, kCurrentPrefsVersion);
+ }
}
OnInitializationCallbackReturned();

Powered by Google App Engine
This is Rietveld 408576698