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..fe7e9a3d211796c6ed48027df2e141672ac14eba 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) { |
+ DCHECK(error); |
+ 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; |
} |