mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-13 11:42:38 +03:00
6e19ab2bbc
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
66 lines
1.6 KiB
C++
66 lines
1.6 KiB
C++
/*
|
|
* Copyright (c) 2022, Florent Castelli <florent.castelli@gmail.com>
|
|
* Copyright (c) 2022, Sam Atkins <atkinssj@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/DeprecatedString.h>
|
|
#include <AK/JsonValue.h>
|
|
|
|
namespace Web::WebDriver {
|
|
|
|
// https://w3c.github.io/webdriver/#dfn-error-code
|
|
enum class ErrorCode {
|
|
ElementClickIntercepted,
|
|
ElementNotInteractable,
|
|
InsecureCertificate,
|
|
InvalidArgument,
|
|
InvalidCookieDomain,
|
|
InvalidElementState,
|
|
InvalidSelector,
|
|
InvalidSessionId,
|
|
JavascriptError,
|
|
MoveTargetOutOfBounds,
|
|
NoSuchAlert,
|
|
NoSuchCookie,
|
|
NoSuchElement,
|
|
NoSuchFrame,
|
|
NoSuchWindow,
|
|
NoSuchShadowRoot,
|
|
ScriptTimeoutError,
|
|
SessionNotCreated,
|
|
StaleElementReference,
|
|
DetachedShadowRoot,
|
|
Timeout,
|
|
UnableToSetCookie,
|
|
UnableToCaptureScreen,
|
|
UnexpectedAlertOpen,
|
|
UnknownCommand,
|
|
UnknownError,
|
|
UnknownMethod,
|
|
UnsupportedOperation,
|
|
};
|
|
|
|
// https://w3c.github.io/webdriver/#errors
|
|
struct Error {
|
|
unsigned http_status;
|
|
DeprecatedString error;
|
|
DeprecatedString message;
|
|
Optional<JsonValue> data;
|
|
|
|
static Error from_code(ErrorCode, DeprecatedString message, Optional<JsonValue> data = {});
|
|
};
|
|
|
|
}
|
|
|
|
template<>
|
|
struct AK::Formatter<Web::WebDriver::Error> : Formatter<StringView> {
|
|
ErrorOr<void> format(FormatBuilder& builder, Web::WebDriver::Error const& error)
|
|
{
|
|
return Formatter<StringView>::format(builder, DeprecatedString::formatted("Error {}, {}: {}", error.http_status, error.error, error.message));
|
|
}
|
|
};
|