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

Unified Diff: chrome/browser/chromeos/extensions/file_browser_event_router.cc

Issue 10083067: gdata: Support opening zip file on Google Docs. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: gdata: Support opening zip file on Google Docs. Created 8 years, 8 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/chromeos/extensions/file_browser_event_router.cc
diff --git a/chrome/browser/chromeos/extensions/file_browser_event_router.cc b/chrome/browser/chromeos/extensions/file_browser_event_router.cc
index 87c9dfae8948d849bafcb61420cb0f547c7c6f7d..be9c49f680b4146dcd00e000289f20dcfb9fd8c3 100644
--- a/chrome/browser/chromeos/extensions/file_browser_event_router.cc
+++ b/chrome/browser/chromeos/extensions/file_browser_event_router.cc
@@ -239,6 +239,20 @@ void FileBrowserEventRouter::MountCompleted(
disk->system_path_prefix(), disk->drive_label(), disk->is_parent(),
error_code == chromeos::MOUNT_ERROR_NONE,
error_code == chromeos::MOUNT_ERROR_UNSUPORTED_FILESYSTEM);
+ } else if (mount_info.mount_type == chromeos::MOUNT_TYPE_ARCHIVE) {
+ // Clear the "mounted" state for archive files in gdata cache
+ // when mounting failed or unmounting succeeded.
+ if ((event_type == DiskMountManager::MOUNTING) !=
+ (error_code == chromeos::MOUNT_ERROR_NONE)) {
+ FilePath source_path(mount_info.source_path);
+ gdata::GDataSystemService* system_service =
+ gdata::GDataSystemServiceFactory::GetForProfile(profile_);
+ gdata::GDataFileSystem* file_system =
+ system_service ? system_service->file_system() : NULL;
+ if (file_system && file_system->IsUnderGDataCacheDirectory(source_path))
+ file_system->SetMountedState(source_path, false,
+ gdata::SetMountedStateCallback());
+ }
}
}
@@ -414,9 +428,10 @@ void FileBrowserEventRouter::OnDiskAdded(
// If disk is not mounted yet and it has media, give it a try.
if (disk->mount_path().empty() && disk->has_media()) {
- // Initiate disk mount operation.
+ // Initiate disk mount operation. MountPath auto-detects the filesystem
+ // format if the second argument is empty.
DiskMountManager::GetInstance()->MountPath(
- disk->device_path(), chromeos::MOUNT_TYPE_DEVICE);
+ disk->device_path(), std::string(), chromeos::MOUNT_TYPE_DEVICE);
} else {
// Either the disk was mounted or it has no media. In both cases we don't
// want the Scanning notification to persist.
@@ -482,8 +497,8 @@ void FileBrowserEventRouter::OnFormattingFinished(
// Hide it after a couple of seconds.
notifications_->HideNotificationDelayed(
FileBrowserNotifications::FORMAT_SUCCESS, device_path, 4000);
-
- DiskMountManager::GetInstance()->MountPath(device_path,
+ // MountPath auto-detects filesystem format if second argument is empty.
+ DiskMountManager::GetInstance()->MountPath(device_path, std::string(),
chromeos::MOUNT_TYPE_DEVICE);
} else {
notifications_->HideNotification(FileBrowserNotifications::FORMAT_START,

Powered by Google App Engine
This is Rietveld 408576698