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

Side by Side Diff: chrome/browser/media_galleries/media_file_system_registry.cc

Issue 16158004: iTunes file util and data provider for media galleries (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Undo incorrect fix Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_galleries/media_file_system_registry.h" 7 #include "chrome/browser/media_galleries/media_file_system_registry.h"
8 8
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 if (StorageInfo::IsMassStorageDevice(device_id)) { 330 if (StorageInfo::IsMassStorageDevice(device_id)) {
331 fsid = file_system_context_->RegisterFileSystemForMassStorage( 331 fsid = file_system_context_->RegisterFileSystemForMassStorage(
332 device_id, path); 332 device_id, path);
333 } else { 333 } else {
334 scoped_refptr<ScopedMTPDeviceMapEntry> mtp_device_host; 334 scoped_refptr<ScopedMTPDeviceMapEntry> mtp_device_host;
335 fsid = file_system_context_->RegisterFileSystemForMTPDevice( 335 fsid = file_system_context_->RegisterFileSystemForMTPDevice(
336 device_id, path, &mtp_device_host); 336 device_id, path, &mtp_device_host);
337 DCHECK(mtp_device_host.get()); 337 DCHECK(mtp_device_host.get());
338 media_device_map_references_[pref_id] = mtp_device_host; 338 media_device_map_references_[pref_id] = mtp_device_host;
339 } 339 }
340 DCHECK(!fsid.empty()); 340 if (fsid.empty())
341 continue;
341 342
342 MediaFileSystemInfo new_entry( 343 MediaFileSystemInfo new_entry(
343 MediaGalleriesDialogController::GetGalleryDisplayNameNoAttachment( 344 MediaGalleriesDialogController::GetGalleryDisplayNameNoAttachment(
344 gallery_info), 345 gallery_info),
345 path, 346 path,
346 fsid, 347 fsid,
347 pref_id, 348 pref_id,
348 GetTransientIdForRemovableDeviceId(device_id), 349 GetTransientIdForRemovableDeviceId(device_id),
349 StorageInfo::IsRemovableDevice(device_id), 350 StorageInfo::IsRemovableDevice(device_id),
350 StorageInfo::IsMediaDevice(device_id)); 351 StorageInfo::IsMediaDevice(device_id));
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 // Registers and returns the file system id for the mass storage device 552 // Registers and returns the file system id for the mass storage device
552 // specified by |device_id| and |path|. 553 // specified by |device_id| and |path|.
553 virtual std::string RegisterFileSystemForMassStorage( 554 virtual std::string RegisterFileSystemForMassStorage(
554 const std::string& device_id, const base::FilePath& path) OVERRIDE { 555 const std::string& device_id, const base::FilePath& path) OVERRIDE {
555 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 556 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
556 DCHECK(StorageInfo::IsMassStorageDevice(device_id)); 557 DCHECK(StorageInfo::IsMassStorageDevice(device_id));
557 558
558 // Sanity checks for |path|. 559 // Sanity checks for |path|.
559 CHECK(path.IsAbsolute()); 560 CHECK(path.IsAbsolute());
560 CHECK(!path.ReferencesParent()); 561 CHECK(!path.ReferencesParent());
561 std::string fs_name(extension_misc::kMediaFileSystemPathPart);
562 562
563 std::string fsid; 563 std::string fsid;
564 if (StorageInfo::IsITunesDevice(device_id)) { 564 if (StorageInfo::IsITunesDevice(device_id)) {
565 NOTIMPLEMENTED(); 565 ImportedMediaGalleryRegistry* imported_registry =
566 ImportedMediaGalleryRegistry::GetInstance();
567 fsid = imported_registry->RegisterITunesFilesystemOnUIThread(path);
566 } else if (StorageInfo::IsPicasaDevice(device_id)) { 568 } else if (StorageInfo::IsPicasaDevice(device_id)) {
567 fsid = ImportedMediaGalleryRegistry::RegisterPicasaFilesystemOnUIThread( 569 ImportedMediaGalleryRegistry* imported_registry =
570 ImportedMediaGalleryRegistry::GetInstance();
571 fsid = imported_registry->RegisterPicasaFilesystemOnUIThread(
568 path); 572 path);
569 } else { 573 } else {
574 std::string fs_name(extension_misc::kMediaFileSystemPathPart);
570 fsid = IsolatedContext::GetInstance()->RegisterFileSystemForPath( 575 fsid = IsolatedContext::GetInstance()->RegisterFileSystemForPath(
571 fileapi::kFileSystemTypeNativeMedia, path, &fs_name); 576 fileapi::kFileSystemTypeNativeMedia, path, &fs_name);
572 } 577 }
573
574 CHECK(!fsid.empty());
575 return fsid; 578 return fsid;
576 } 579 }
577 580
578 virtual std::string RegisterFileSystemForMTPDevice( 581 virtual std::string RegisterFileSystemForMTPDevice(
579 const std::string& device_id, const base::FilePath& path, 582 const std::string& device_id, const base::FilePath& path,
580 scoped_refptr<ScopedMTPDeviceMapEntry>* entry) OVERRIDE { 583 scoped_refptr<ScopedMTPDeviceMapEntry>* entry) OVERRIDE {
581 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 584 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
582 DCHECK(!StorageInfo::IsMassStorageDevice(device_id)); 585 DCHECK(!StorageInfo::IsMassStorageDevice(device_id));
583 586
584 // Sanity checks for |path|. 587 // Sanity checks for |path|.
585 CHECK(MediaStorageUtil::CanCreateFileSystem(device_id, path)); 588 CHECK(MediaStorageUtil::CanCreateFileSystem(device_id, path));
586 std::string fs_name(extension_misc::kMediaFileSystemPathPart); 589 std::string fs_name(extension_misc::kMediaFileSystemPathPart);
587 const std::string fsid = 590 const std::string fsid =
588 IsolatedContext::GetInstance()->RegisterFileSystemForPath( 591 IsolatedContext::GetInstance()->RegisterFileSystemForPath(
589 fileapi::kFileSystemTypeDeviceMedia, path, &fs_name); 592 fileapi::kFileSystemTypeDeviceMedia, path, &fs_name);
590 CHECK(!fsid.empty()); 593 CHECK(!fsid.empty());
591 DCHECK(entry); 594 DCHECK(entry);
592 *entry = registry_->GetOrCreateScopedMTPDeviceMapEntry(path.value()); 595 *entry = registry_->GetOrCreateScopedMTPDeviceMapEntry(path.value());
593 return fsid; 596 return fsid;
594 } 597 }
595 598
596 virtual void RevokeFileSystem(const std::string& fsid) OVERRIDE { 599 virtual void RevokeFileSystem(const std::string& fsid) OVERRIDE {
600 ImportedMediaGalleryRegistry* imported_registry =
601 ImportedMediaGalleryRegistry::GetInstance();
602 if (imported_registry->RevokeImportedFilesystemOnUIThread(fsid))
603 return;
604
597 IsolatedContext::GetInstance()->RevokeFileSystem(fsid); 605 IsolatedContext::GetInstance()->RevokeFileSystem(fsid);
598 } 606 }
599 607
600 private: 608 private:
601 MediaFileSystemRegistry* registry_; 609 MediaFileSystemRegistry* registry_;
602 610
603 DISALLOW_COPY_AND_ASSIGN(MediaFileSystemContextImpl); 611 DISALLOW_COPY_AND_ASSIGN(MediaFileSystemContextImpl);
604 }; 612 };
605 613
606 MediaFileSystemRegistry::MediaFileSystemRegistry() 614 MediaFileSystemRegistry::MediaFileSystemRegistry()
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 // previously used. 714 // previously used.
707 PrefChangeRegistrarMap::iterator pref_it = 715 PrefChangeRegistrarMap::iterator pref_it =
708 pref_change_registrar_map_.find(profile); 716 pref_change_registrar_map_.find(profile);
709 DCHECK(pref_it != pref_change_registrar_map_.end()); 717 DCHECK(pref_it != pref_change_registrar_map_.end());
710 delete pref_it->second; 718 delete pref_it->second;
711 pref_change_registrar_map_.erase(pref_it); 719 pref_change_registrar_map_.erase(pref_it);
712 } 720 }
713 } 721 }
714 722
715 } // namespace chrome 723 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698