Index: chrome/browser/chromeos/disks/disk_mount_manager.cc |
diff --git a/chrome/browser/chromeos/disks/disk_mount_manager.cc b/chrome/browser/chromeos/disks/disk_mount_manager.cc |
index 0e2a26b244aeab6b3dff2b5b9f8e06080712df5b..0b7b29678debdaca6e6bb7f77d614db5d4459593 100644 |
--- a/chrome/browser/chromeos/disks/disk_mount_manager.cc |
+++ b/chrome/browser/chromeos/disks/disk_mount_manager.cc |
@@ -328,7 +328,8 @@ class DiskMountManagerImpl : public DiskMountManager { |
// Check if there is a formatting scheduled. |
PathMap::iterator it = formatting_pending_.find(disk->device_path()); |
if (it != formatting_pending_.end()) { |
- const std::string& file_path = it->second; |
+ // Copy the string before it gets erased. |
+ const std::string file_path = it->second; |
formatting_pending_.erase(it); |
FormatUnmountedDevice(file_path); |
} |
@@ -632,19 +633,34 @@ MountType DiskMountManager::MountTypeFromString(const std::string& type_str) { |
// static |
void DiskMountManager::Initialize() { |
- VLOG(1) << "DiskMountManager::Initialize"; |
- DCHECK(!g_disk_mount_manager); |
+ if (g_disk_mount_manager) { |
+ LOG(WARNING) << "DiskMountManager was already initialized"; |
+ return; |
+ } |
g_disk_mount_manager = new DiskMountManagerImpl(); |
- DCHECK(g_disk_mount_manager); |
+ VLOG(1) << "DiskMountManager initialized"; |
} |
// static |
-void DiskMountManager::Shutdown() { |
- VLOG(1) << "DiskMountManager::Shutdown"; |
+void DiskMountManager::InitializeForTesting(DiskMountManager* disk_mount_manager |
+ ) { |
satorux1
2011/11/16 06:46:06
Hmm, this looks uglier than before.. Please change
hashimoto
2011/11/16 07:45:32
Done.
|
if (g_disk_mount_manager) { |
- delete g_disk_mount_manager; |
- g_disk_mount_manager = NULL; |
+ LOG(WARNING) << "DiskMountManager was already initialized"; |
+ return; |
+ } |
+ g_disk_mount_manager = disk_mount_manager; |
+ VLOG(1) << "DiskMountManager initialized"; |
+} |
+ |
+// static |
+void DiskMountManager::Shutdown() { |
+ if (!g_disk_mount_manager) { |
+ LOG(WARNING) << "DiskMountManager::Shutdown() called with NULL manager"; |
+ return; |
} |
+ delete g_disk_mount_manager; |
+ g_disk_mount_manager = NULL; |
+ VLOG(1) << "DiskMountManager Shutdown completed"; |
} |
// static |