Chromium Code Reviews| Index: chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc |
| diff --git a/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc b/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc |
| index f5ea2b65746caa198435d5877430e4fd4c7248cd..dfd4c9f375877151526c9ad5b435d7dd29d0dd79 100644 |
| --- a/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc |
| +++ b/chrome/browser/extensions/api/sync_file_system/sync_file_system_api.cc |
| @@ -72,13 +72,24 @@ sync_file_system::SyncFileSystemService* GetSyncFileSystemService( |
| return service; |
| } |
| +bool isValidServiceName(const std::string& service_name, std::string* error) { |
|
tzik
2012/12/25 06:14:26
Could you add DCHECK for |error| here?
calvinlo
2012/12/25 06:35:38
Done.
|
| + // TODO(calvinlo): For now only Google Drive cloud service is supported. |
| + if (service_name != std::string(kDriveCloudService)) { |
| + *error = base::StringPrintf(kNotSupportedService, service_name.c_str()); |
| + return false; |
| + } |
| + return true; |
| +} |
| + |
| } // namespace |
| bool SyncFileSystemDeleteFileSystemFunction::RunImpl() { |
| - // TODO(calvinlo): Move error code to util function. (http://crbug.com/160496) |
| std::string url; |
| EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &url)); |
| fileapi::FileSystemURL file_system_url((GURL(url))); |
| + if (!isValidServiceName(file_system_url.filesystem_id(), &error_)) { |
| + return false; |
| + } |
| scoped_refptr<fileapi::FileSystemContext> file_system_context = |
| BrowserContext::GetStoragePartition( |
| @@ -124,10 +135,7 @@ void SyncFileSystemDeleteFileSystemFunction::DidDeleteFileSystem( |
| bool SyncFileSystemRequestFileSystemFunction::RunImpl() { |
| std::string service_name; |
| EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &service_name)); |
| - |
| - // TODO(calvinlo): Move error code to util function. (http://crbug.com/160496) |
| - if (service_name != std::string(kDriveCloudService)) { |
| - error_ = base::StringPrintf(kNotSupportedService, service_name.c_str()); |
| + if (!isValidServiceName(service_name, &error_)) { |
| return false; |
| } |
| @@ -202,12 +210,7 @@ bool SyncFileSystemGetUsageAndQuotaFunction::RunImpl() { |
| std::string url; |
| EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &url)); |
| fileapi::FileSystemURL file_system_url((GURL(url))); |
| - |
| - // TODO(calvinlo): For now only gDrive cloud service is supported. |
| - // TODO(calvinlo): Move error code to util function. (http://crbug.com/160496) |
| - const std::string service_name = file_system_url.filesystem_id(); |
| - if (service_name != std::string(kDriveCloudService)) { |
| - error_ = base::StringPrintf(kNotSupportedService, service_name.c_str()); |
| + if (!isValidServiceName(file_system_url.filesystem_id(), &error_)) { |
| return false; |
| } |