Chromium Code Reviews| Index: extensions/renderer/api_invocation_errors.h |
| diff --git a/extensions/renderer/api_invocation_errors.h b/extensions/renderer/api_invocation_errors.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0f20c33ec0ba8ede6fb7af59be6ce8fec211b616 |
| --- /dev/null |
| +++ b/extensions/renderer/api_invocation_errors.h |
| @@ -0,0 +1,58 @@ |
| +// Copyright 2017 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. |
| + |
| +#ifndef EXTENSIONS_RENDERER_API_INVOCATION_ERRORS_H_ |
| +#define EXTENSIONS_RENDERER_API_INVOCATION_ERRORS_H_ |
| + |
| +#include <set> |
| +#include <string> |
| + |
| +#include "base/strings/string_piece.h" |
| + |
| +// A collection of error-related strings and utilities for parsing API |
| +// invocations. |
| +namespace extensions { |
| +namespace api_errors { |
| + |
| +// Strings for the expected types. |
| +extern const char kTypeString[]; |
| +extern const char kTypeDouble[]; |
| +extern const char kTypeBoolean[]; |
| +extern const char kTypeInteger[]; |
| +extern const char kTypeObject[]; |
| +extern const char kTypeList[]; |
| +extern const char kTypeBinary[]; |
| +extern const char kTypeFunction[]; |
| +extern const char kTypeUndefined[]; |
| +extern const char kTypeNull[]; |
| + |
| +// Methods to return a formatted string describing an error related to argument |
| +// parsing. |
| +std::string InvalidEnumValue(const std::set<std::string>& valid_enums); |
| +std::string MissingRequiredProperty(const char* property_name); |
| +std::string UnexpectedProperty(const char* property_name); |
| +std::string TooFewArrayItems(int minimum); |
|
jbroman
2017/04/26 14:34:26
nit: You could also say how many were present (for
Devlin
2017/04/26 16:18:26
Why not. Done.
|
| +std::string TooManyArrayItems(int maximum); |
| +std::string TooFewStringChars(int minimum); |
| +std::string TooManyStringChars(int maximum); |
| +std::string NumberTooSmall(int minimum); |
| +std::string NumberTooLarge(int maximum); |
| +std::string InvalidType(const char* expected_type, const char* actual_type); |
| +std::string NotAnInstance(const char* instance_type); |
| +std::string InvalidChoice(); |
| +std::string UnserializableValue(); |
| +std::string ScriptThrewError(); |
| + |
| +// Returns an message indicating an error was found while parsing a given index |
| +// in an array. |
| +std::string IndexError(uint32_t index, const std::string& error); |
| + |
| +// Returns a message indicating that an error was found while parsing a given |
| +// property on an object. |
| +std::string PropertyError(const char* property_name, const std::string& error); |
| + |
| +} // namespace api_errors |
| +} // namespace extensions |
| + |
| +#endif // EXTENSIONS_RENDERER_API_INVOCATION_ERRORS_H_ |