Chromium Code Reviews| Index: chrome/browser/extensions/api/file_system_provider/file_system_provider_api.cc |
| diff --git a/chrome/browser/extensions/api/file_system_provider/file_system_provider_api.cc b/chrome/browser/extensions/api/file_system_provider/file_system_provider_api.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..10db4ee4fd5dd1f43cf39241899f03a4b96a0fcd |
| --- /dev/null |
| +++ b/chrome/browser/extensions/api/file_system_provider/file_system_provider_api.cc |
| @@ -0,0 +1,57 @@ |
| +// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/extensions/api/file_system_provider/file_system_provider_api.h" |
| + |
| +#include "chrome/common/extensions/api/file_system_provider.h" |
| + |
| +namespace extensions { |
| + |
| +namespace { |
| + |
| +const char kOK[] = "OK"; |
| + |
| +// Names come from http://www.w3.org/TR/file-system-api/#errors-and-exceptions |
| +// TODO(satorux): Switch to DOMError once crbug.com/313131 is fixed. |
| +const char kEncodingError[] = "EncodingError"; |
| +const char kInvalidModificationError[] = "InvalidModificationError"; |
| +const char kInvalidStateError[] = "InvalidStateError"; |
| +const char kNotFoundError[] = "NotFoundError"; |
| +const char kNotReadableErr[] = "NotReadableErr"; |
| +const char kNoModificationAllowedError[] = "NoModificationAllowedError"; |
| +const char kPathExistsError[] = "PathExistsError"; |
| +const char kQuotaExceededError[] = "QuotaExceededError"; |
| +const char kSecurityError[] = "SecurityError"; |
| +const char kTypeMismatchError[] = "TypeMismatchError"; |
| + |
| +} // namespace |
| + |
| +bool FileSystemProviderMountFunction::RunImpl() { |
| + using extensions::api::file_system_provider::Mount::Params; |
| + const scoped_ptr<Params> params(Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params); |
| + |
| + // It's an error if the display name is empty. |
| + if (params->display_name.empty()) { |
| + extensions::api::file_system_provider::Error error; |
| + error.name = kSecurityError; |
|
kinuko
2013/10/30 10:45:05
nit: should we give some descriptive message in er
satorux1
2013/10/31 01:51:26
Done.
|
| + |
| + results_ = extensions::api::file_system_provider::Mount::Results::Create( |
| + error, ""); |
| + SendResponse(true); |
| + return true; |
| + } |
| + |
| + extensions::api::file_system_provider::Error error; |
| + error.name = kOK; |
| + // TODO(satorux): Implement the real logic. |
| + const std::string file_system_id = params->display_name; |
| + results_ = extensions::api::file_system_provider::Mount::Results::Create( |
| + error, file_system_id); |
| + SendResponse(true); |
| + |
| + return true; |
| +} |
| + |
| +} // namespace extensions |