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

Unified Diff: chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc

Issue 23658009: Replace mountType by volumeType on fileBrowserPrivate APIs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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_manager/private_api_mount.cc
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc
index c17ba5d84b3477ba0ae0cabd380f8ff9e7654f12..137d29782acf19a635080c7465c81a6a70dec3ea 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_mount.cc
@@ -26,34 +26,16 @@ using content::BrowserThread;
namespace extensions {
namespace {
-// Returns string representaion of VolumeType.
-std::string VolumeTypeToString(file_manager::VolumeType type) {
- switch (type) {
- case file_manager::VOLUME_TYPE_GOOGLE_DRIVE:
- return "drive";
- case file_manager::VOLUME_TYPE_DOWNLOADS_DIRECTORY:
- // Return empty string here for backword compatibility.
- // TODO(hidehiko): Fix this to return "downloads".
- return "";
- case file_manager::VOLUME_TYPE_REMOVABLE_DISK_PARTITION:
- return "device";
- case file_manager::VOLUME_TYPE_MOUNTED_ARCHIVE_FILE:
- return "file";
- }
-
- NOTREACHED();
- return "";
-}
-
// Returns the Value of the |volume_info|.
base::Value* CreateValueFromVolumeInfo(
const file_manager::VolumeInfo& volume_info,
Profile* profile,
const std::string& extension_id) {
base::DictionaryValue* result = new base::DictionaryValue;
- std::string mount_type = VolumeTypeToString(volume_info.type);
- if (!mount_type.empty())
- result->SetString("mountType", mount_type);
+ std::string volume_type =
+ file_manager::util::VolumeTypeToString(volume_info.type);
+ if (!volume_type.empty())
+ result->SetString("volumeType", volume_type);
if (!volume_info.source_path.empty())
result->SetString("sourcePath", volume_info.source_path.value());
@@ -87,85 +69,66 @@ bool FileBrowserPrivateAddMountFunction::RunImpl() {
}
std::string file_url;
- if (!args_->GetString(0, &file_url)) {
+ if (!args_->GetString(0, &file_url))
return false;
- }
- std::string mount_type_str;
- if (!args_->GetString(1, &mount_type_str)) {
+ std::string mount_type;
+ if (!args_->GetString(1, &mount_type))
return false;
- }
drive::util::Log(logging::LOG_INFO,
"%s[%d] called. (source: '%s', type:'%s')",
name().c_str(),
request_id(),
file_url.empty() ? "(none)" : file_url.c_str(),
- mount_type_str.c_str());
+ mount_type.c_str());
set_log_on_completion(true);
- // Set default return source path to the empty string.
- SetResult(new base::StringValue(""));
-
- chromeos::MountType mount_type =
- DiskMountManager::MountTypeFromString(mount_type_str);
- switch (mount_type) {
- case chromeos::MOUNT_TYPE_INVALID: {
- error_ = "Invalid mount type";
- SendResponse(false);
- break;
- }
- case chromeos::MOUNT_TYPE_GOOGLE_DRIVE: {
- // Dispatch fake 'mounted' event because JS code depends on it.
- // TODO(hashimoto): Remove this redanduncy.
- file_manager::FileBrowserPrivateAPI::Get(profile_)->event_router()->
- OnFileSystemMounted();
-
- // Pass back the drive mount point path as source path.
- const std::string& drive_path =
- drive::util::GetDriveMountPointPathAsString();
- SetResult(new base::StringValue(drive_path));
- SendResponse(true);
- break;
- }
- default: {
- const base::FilePath path = file_manager::util::GetLocalPathFromURL(
- render_view_host(), profile(), GURL(file_url));
-
- if (path.empty()) {
- SendResponse(false);
- break;
- }
-
- const base::FilePath::StringType display_name = path.BaseName().value();
-
- // Check if the source path is under Drive cache directory.
- if (drive::util::IsUnderDriveMountPoint(path)) {
- drive::DriveIntegrationService* integration_service =
- drive::DriveIntegrationServiceFactory::GetForProfile(profile_);
- drive::FileSystemInterface* file_system =
- integration_service ? integration_service->file_system() : NULL;
- if (!file_system) {
- SendResponse(false);
- break;
- }
- file_system->MarkCacheFileAsMounted(
- drive::util::ExtractDrivePath(path),
- base::Bind(&FileBrowserPrivateAddMountFunction::OnMountedStateSet,
- this, mount_type_str, display_name));
- } else {
- OnMountedStateSet(mount_type_str, display_name,
- drive::FILE_ERROR_OK, path);
- }
- break;
+ if (mount_type == "drive") {
+ // Dispatch fake 'mounted' event because JS code depends on it.
+ // TODO(hashimoto): Remove this redanduncy.
+ file_manager::FileBrowserPrivateAPI::Get(profile_)->event_router()->
+ OnFileSystemMounted();
+
+ // Pass back the drive mount point path as source path.
+ const std::string& drive_path =
+ drive::util::GetDriveMountPointPathAsString();
+ SetResult(new base::StringValue(drive_path));
+ SendResponse(true);
+ } else if (mount_type == "archive") {
+ const base::FilePath path = file_manager::util::GetLocalPathFromURL(
+ render_view_host(), profile(), GURL(file_url));
+
+ if (path.empty())
+ return false;
+
+ const base::FilePath::StringType display_name = path.BaseName().value();
+
+ // Check if the source path is under Drive cache directory.
+ if (drive::util::IsUnderDriveMountPoint(path)) {
+ drive::DriveIntegrationService* integration_service =
+ drive::DriveIntegrationServiceFactory::GetForProfile(profile_);
+ drive::FileSystemInterface* file_system =
+ integration_service ? integration_service->file_system() : NULL;
+ if (!file_system)
+ return false;
+
+ file_system->MarkCacheFileAsMounted(
+ drive::util::ExtractDrivePath(path),
+ base::Bind(&FileBrowserPrivateAddMountFunction::OnMountedStateSet,
+ this, display_name));
+ } else {
+ OnMountedStateSet(display_name, drive::FILE_ERROR_OK, path);
}
+ } else {
+ error_ = "Invalid mount type";
+ return false;
}
return true;
}
void FileBrowserPrivateAddMountFunction::OnMountedStateSet(
- const std::string& mount_type,
const base::FilePath::StringType& file_name,
drive::FileError error,
const base::FilePath& file_path) {
@@ -183,7 +146,7 @@ void FileBrowserPrivateAddMountFunction::OnMountedStateSet(
// MountPath() takes a std::string.
disk_mount_manager->MountPath(
file_path.AsUTF8Unsafe(), base::FilePath(file_name).Extension(),
- file_name, DiskMountManager::MountTypeFromString(mount_type));
+ file_name, chromeos::MOUNT_TYPE_ARCHIVE);
}
FileBrowserPrivateRemoveMountFunction::FileBrowserPrivateRemoveMountFunction() {

Powered by Google App Engine
This is Rietveld 408576698