OLD | NEW |
---|---|
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 // MediaFileSystemRegistry implementation. | 5 // MediaFileSystemRegistry implementation. |
6 | 6 |
7 #include "chrome/browser/media_gallery/media_file_system_registry.h" | 7 #include "chrome/browser/media_gallery/media_file_system_registry.h" |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <vector> | 10 #include <vector> |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
328 | 328 |
329 PrefIdFsInfoMap::const_iterator existing_info = | 329 PrefIdFsInfoMap::const_iterator existing_info = |
330 pref_id_map_.find(pref_id); | 330 pref_id_map_.find(pref_id); |
331 if (existing_info != pref_id_map_.end()) { | 331 if (existing_info != pref_id_map_.end()) { |
332 result.push_back(existing_info->second); | 332 result.push_back(existing_info->second); |
333 new_galleries.insert(pref_id); | 333 new_galleries.insert(pref_id); |
334 continue; | 334 continue; |
335 } | 335 } |
336 | 336 |
337 FilePath path = gallery_info.AbsolutePath(); | 337 FilePath path = gallery_info.AbsolutePath(); |
338 if (!path.IsAbsolute()) | 338 if (!MediaStorageUtil::CanCreateFileSystem(device_id, path)) |
339 continue; | 339 continue; |
340 | 340 |
341 std::string fsid; | 341 std::string fsid; |
342 if (MediaStorageUtil::IsMassStorageDevice(device_id)) { | 342 if (MediaStorageUtil::IsMassStorageDevice(device_id)) { |
343 fsid = file_system_context_->RegisterFileSystemForMassStorage( | 343 fsid = file_system_context_->RegisterFileSystemForMassStorage( |
344 device_id, path); | 344 device_id, path); |
345 } else { | 345 } else { |
346 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) | 346 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) |
347 LOG(INFO) << "Getting MTP fs for " << path.value(); | |
Lei Zhang
2012/12/10 21:53:41
Remove these debugging statements?
Greg Billock
2012/12/10 22:39:41
Done.
| |
347 scoped_refptr<ScopedMTPDeviceMapEntry> mtp_device_host; | 348 scoped_refptr<ScopedMTPDeviceMapEntry> mtp_device_host; |
348 fsid = file_system_context_->RegisterFileSystemForMTPDevice( | 349 fsid = file_system_context_->RegisterFileSystemForMTPDevice( |
349 device_id, path, &mtp_device_host); | 350 device_id, path, &mtp_device_host); |
350 DCHECK(mtp_device_host.get()); | 351 DCHECK(mtp_device_host.get()); |
351 media_device_map_references_[pref_id] = mtp_device_host; | 352 media_device_map_references_[pref_id] = mtp_device_host; |
352 #else | 353 #else |
353 NOTIMPLEMENTED(); | 354 NOTIMPLEMENTED(); |
354 continue; | 355 continue; |
355 #endif | 356 #endif |
356 } | 357 } |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
633 } | 634 } |
634 | 635 |
635 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) | 636 #if defined(SUPPORT_MTP_DEVICE_FILESYSTEM) |
636 virtual std::string RegisterFileSystemForMTPDevice( | 637 virtual std::string RegisterFileSystemForMTPDevice( |
637 const std::string& device_id, const FilePath& path, | 638 const std::string& device_id, const FilePath& path, |
638 scoped_refptr<ScopedMTPDeviceMapEntry>* entry) { | 639 scoped_refptr<ScopedMTPDeviceMapEntry>* entry) { |
639 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 640 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
640 DCHECK(!MediaStorageUtil::IsMassStorageDevice(device_id)); | 641 DCHECK(!MediaStorageUtil::IsMassStorageDevice(device_id)); |
641 | 642 |
642 // Sanity checks for |path|. | 643 // Sanity checks for |path|. |
643 CHECK(path.IsAbsolute()); | 644 CHECK(MediaStorageUtil::CanCreateFileSystem(device_id, path)); |
644 CHECK(!path.ReferencesParent()); | |
645 std::string fs_name(extension_misc::kMediaFileSystemPathPart); | 645 std::string fs_name(extension_misc::kMediaFileSystemPathPart); |
646 const std::string fsid = | 646 const std::string fsid = |
647 IsolatedContext::GetInstance()->RegisterFileSystemForPath( | 647 IsolatedContext::GetInstance()->RegisterFileSystemForPath( |
648 fileapi::kFileSystemTypeDeviceMedia, path, &fs_name); | 648 fileapi::kFileSystemTypeDeviceMedia, path, &fs_name); |
649 LOG(INFO) << "Registered for type device-media : " << path.value(); | |
649 CHECK(!fsid.empty()); | 650 CHECK(!fsid.empty()); |
650 DCHECK(entry); | 651 DCHECK(entry); |
651 *entry = registry_->GetOrCreateScopedMTPDeviceMapEntry(path.value()); | 652 *entry = registry_->GetOrCreateScopedMTPDeviceMapEntry(path.value()); |
652 return fsid; | 653 return fsid; |
653 } | 654 } |
654 #endif | 655 #endif |
655 | 656 |
656 virtual void RevokeFileSystem(const std::string& fsid) { | 657 virtual void RevokeFileSystem(const std::string& fsid) { |
657 IsolatedContext::GetInstance()->RevokeFileSystem(fsid); | 658 IsolatedContext::GetInstance()->RevokeFileSystem(fsid); |
658 } | 659 } |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
757 | 758 |
758 PrefChangeRegistrarMap::iterator pref_it = | 759 PrefChangeRegistrarMap::iterator pref_it = |
759 pref_change_registrar_map_.find(profile); | 760 pref_change_registrar_map_.find(profile); |
760 DCHECK(pref_it != pref_change_registrar_map_.end()); | 761 DCHECK(pref_it != pref_change_registrar_map_.end()); |
761 delete pref_it->second; | 762 delete pref_it->second; |
762 pref_change_registrar_map_.erase(pref_it); | 763 pref_change_registrar_map_.erase(pref_it); |
763 } | 764 } |
764 } | 765 } |
765 | 766 |
766 } // namespace chrome | 767 } // namespace chrome |
OLD | NEW |