Chromium Code Reviews| Index: chrome/browser/media_galleries/media_file_system_registry.cc |
| diff --git a/chrome/browser/media_galleries/media_file_system_registry.cc b/chrome/browser/media_galleries/media_file_system_registry.cc |
| index 200b4f31a3647d81cc823b1e590cdf6b3c7c6414..da1de0d59c4273c71c9b78b7a703428683c7139d 100644 |
| --- a/chrome/browser/media_galleries/media_file_system_registry.cc |
| +++ b/chrome/browser/media_galleries/media_file_system_registry.cc |
| @@ -16,6 +16,7 @@ |
| #include "base/stl_util.h" |
| #include "chrome/browser/extensions/extension_service.h" |
| #include "chrome/browser/extensions/extension_system.h" |
| +#include "chrome/browser/media_galleries/imported_media_gallery_registry.h" |
| #include "chrome/browser/media_galleries/media_file_system_context.h" |
| #include "chrome/browser/media_galleries/media_galleries_dialog_controller.h" |
| #include "chrome/browser/media_galleries/media_galleries_preferences_factory.h" |
| @@ -576,9 +577,24 @@ class MediaFileSystemRegistry::MediaFileSystemContextImpl |
| CHECK(path.IsAbsolute()); |
| CHECK(!path.ReferencesParent()); |
| std::string fs_name(extension_misc::kMediaFileSystemPathPart); |
| - const std::string fsid = |
| - IsolatedContext::GetInstance()->RegisterFileSystemForPath( |
| + |
| + StorageInfo::Type type; |
| + CHECK(StorageInfo::CrackDeviceId(device_id, &type, NULL)); |
|
vandebo (ex-Chrome)
2013/05/22 18:21:48
We should probably leave this abstraction intact.
|
| + |
| + std::string fsid; |
| + switch (type) { |
| + case StorageInfo::ITUNES: |
| + NOTIMPLEMENTED(); |
| + break; |
| + case StorageInfo::PICASA: |
| + fsid = ImportedMediaGalleryRegistry::RegisterPicasaFilesystemOnUIThread( |
| + path); |
| + break; |
| + default: |
| + fsid = IsolatedContext::GetInstance()->RegisterFileSystemForPath( |
| fileapi::kFileSystemTypeNativeMedia, path, &fs_name); |
| + break; |
| + } |
| CHECK(!fsid.empty()); |
| return fsid; |
| } |