| Index: chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
|
| diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
|
| index 06e9cfa58fd318e72211438ed7291bf04388450b..6cbc10bbf30ddd12a403e6c3fa9454ddae0d2193 100644
|
| --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
|
| +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
|
| @@ -492,15 +492,14 @@ FileManagerPrivateAddProvidedFileSystemFunction::Run() {
|
| return RespondNow(NoArguments());
|
| }
|
|
|
| -FileManagerPrivateConfigureProvidedFileSystemFunction::
|
| - FileManagerPrivateConfigureProvidedFileSystemFunction()
|
| +FileManagerPrivateConfigureVolumeFunction::
|
| + FileManagerPrivateConfigureVolumeFunction()
|
| : chrome_details_(this) {
|
| }
|
|
|
| ExtensionFunction::ResponseAction
|
| -FileManagerPrivateConfigureProvidedFileSystemFunction::Run() {
|
| - using extensions::api::file_manager_private::ConfigureProvidedFileSystem::
|
| - Params;
|
| +FileManagerPrivateConfigureVolumeFunction::Run() {
|
| + using extensions::api::file_manager_private::ConfigureVolume::Params;
|
| const scoped_ptr<Params> params(Params::Create(*args_));
|
| EXTENSION_FUNCTION_VALIDATE(params);
|
|
|
| @@ -512,24 +511,32 @@ FileManagerPrivateConfigureProvidedFileSystemFunction::Run() {
|
| volume_manager->FindVolumeById(params->volume_id);
|
| if (!volume.get())
|
| return RespondNow(Error("Volume not found."));
|
| + if (!volume->configurable())
|
| + return RespondNow(Error("Volume not configurable."));
|
| +
|
| + switch (volume->type()) {
|
| + case file_manager::VOLUME_TYPE_PROVIDED: {
|
| + using chromeos::file_system_provider::Service;
|
| + Service* const service = Service::Get(chrome_details_.GetProfile());
|
| + DCHECK(service);
|
| +
|
| + using chromeos::file_system_provider::ProvidedFileSystemInterface;
|
| + ProvidedFileSystemInterface* const file_system =
|
| + service->GetProvidedFileSystem(volume->extension_id(),
|
| + volume->file_system_id());
|
| + if (file_system)
|
| + file_system->Configure(base::Bind(
|
| + &FileManagerPrivateConfigureVolumeFunction::OnCompleted, this));
|
| + break;
|
| + }
|
| + default:
|
| + NOTIMPLEMENTED();
|
| + }
|
|
|
| - using chromeos::file_system_provider::Service;
|
| - Service* const service = Service::Get(chrome_details_.GetProfile());
|
| - DCHECK(service);
|
| -
|
| - using chromeos::file_system_provider::ProvidedFileSystemInterface;
|
| - ProvidedFileSystemInterface* const file_system =
|
| - service->GetProvidedFileSystem(volume->extension_id(),
|
| - volume->file_system_id());
|
| - DCHECK(file_system);
|
| -
|
| - file_system->Configure(base::Bind(
|
| - &FileManagerPrivateConfigureProvidedFileSystemFunction::OnCompleted,
|
| - this));
|
| return RespondLater();
|
| }
|
|
|
| -void FileManagerPrivateConfigureProvidedFileSystemFunction::OnCompleted(
|
| +void FileManagerPrivateConfigureVolumeFunction::OnCompleted(
|
| base::File::Error result) {
|
| if (result != base::File::FILE_OK) {
|
| Respond(Error("Failed to complete configuration."));
|
|
|