ContentExtensionError.cpp [plain text]
#include "config.h"
#include "ContentExtensionError.h"
#if ENABLE(CONTENT_EXTENSIONS)
#include <string>
#include <wtf/NeverDestroyed.h>
namespace WebCore {
namespace ContentExtensions {
const char* WebKitContentBlockerDomain = "WebKitContentBlockerDomain";
const std::error_category& contentExtensionErrorCategory()
{
class ContentExtensionErrorCategory : public std::error_category {
const char* name() const noexcept override
{
return "content extension";
}
std::string message(int errorCode) const override
{
switch (static_cast<ContentExtensionError>(errorCode)) {
case ContentExtensionError::JSONInvalid:
return "Failed to parse the JSON String.";
case ContentExtensionError::JSONTopLevelStructureNotAnObject:
return "Invalid input, the top level structure is not an object.";
case ContentExtensionError::JSONTopLevelStructureNotAnArray:
return "Invalid input, the top level structure is not an array.";
case ContentExtensionError::JSONInvalidObjectInTopLevelArray:
return "Invalid object in the top level array.";
case ContentExtensionError::JSONInvalidRule:
return "Invalid rule.";
case ContentExtensionError::JSONContainsNoRules:
return "Empty extension.";
case ContentExtensionError::JSONInvalidTrigger:
return "Invalid trigger object.";
case ContentExtensionError::JSONInvalidURLFilterInTrigger:
return "Invalid url-filter object.";
case ContentExtensionError::JSONInvalidTriggerFlagsArray:
return "Invalid trigger flags array.";
case ContentExtensionError::JSONInvalidObjectInTriggerFlagsArray:
return "Invalid object in the trigger flags array.";
case ContentExtensionError::JSONInvalidStringInTriggerFlagsArray:
return "Invalid string in the trigger flags array.";
case ContentExtensionError::JSONInvalidAction:
return "Invalid action object.";
case ContentExtensionError::JSONInvalidActionType:
return "Invalid action type.";
case ContentExtensionError::JSONInvalidCSSDisplayNoneActionType:
return "Invalid css-display-none action type. Requires a selector.";
case ContentExtensionError::JSONInvalidRegex:
return "Invalid or unsupported regular expression.";
case ContentExtensionError::JSONInvalidDomainList:
return "Invalid domain list.";
case ContentExtensionError::JSONTooManyRules:
return "Too many rules in JSON array.";
case ContentExtensionError::JSONDomainNotLowerCaseASCII:
return "Domains must be lower case ASCII. Use punycode to encode non-ASCII characters.";
case ContentExtensionError::JSONUnlessAndIfDomain:
return "A trigger cannot have both unless- and if-domain.";
}
return std::string();
}
};
static NeverDestroyed<ContentExtensionErrorCategory> contentExtensionErrorCategory;
return contentExtensionErrorCategory;
}
} }
#endif // ENABLE(CONTENT_EXTENSIONS)