diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt index 8ba66c0bca..932f0cd91e 100644 --- a/Userland/Libraries/LibWeb/CMakeLists.txt +++ b/Userland/Libraries/LibWeb/CMakeLists.txt @@ -443,6 +443,7 @@ set(SOURCES WebDriver/ExecuteScript.cpp WebDriver/Response.cpp WebDriver/Screenshot.cpp + WebDriver/TimeoutsConfiguration.cpp WebGL/WebGLContextAttributes.cpp WebGL/WebGLContextEvent.cpp WebGL/WebGLRenderingContext.cpp diff --git a/Userland/Services/WebDriver/TimeoutsConfiguration.cpp b/Userland/Libraries/LibWeb/WebDriver/TimeoutsConfiguration.cpp similarity index 83% rename from Userland/Services/WebDriver/TimeoutsConfiguration.cpp rename to Userland/Libraries/LibWeb/WebDriver/TimeoutsConfiguration.cpp index 5c73766c47..4fb0b2a15a 100644 --- a/Userland/Services/WebDriver/TimeoutsConfiguration.cpp +++ b/Userland/Libraries/LibWeb/WebDriver/TimeoutsConfiguration.cpp @@ -5,9 +5,9 @@ */ #include -#include +#include -namespace WebDriver { +namespace Web::WebDriver { // https://w3c.github.io/webdriver/#dfn-timeouts-object JsonObject timeouts_object(TimeoutsConfiguration const& timeouts) @@ -34,7 +34,7 @@ JsonObject timeouts_object(TimeoutsConfiguration const& timeouts) } // https://w3c.github.io/webdriver/#ref-for-dfn-json-deserialize-3 -ErrorOr json_deserialize_as_a_timeouts_configuration(JsonValue const& value) +ErrorOr json_deserialize_as_a_timeouts_configuration(JsonValue const& value) { constexpr i64 max_safe_integer = 9007199254740991; @@ -43,7 +43,7 @@ ErrorOr json_deserialize_as_a_time // 2. If value is not a JSON Object, return error with error code invalid argument. if (!value.is_object()) - return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidArgument, "Payload is not a JSON object"); + return Error::from_code(ErrorCode::InvalidArgument, "Payload is not a JSON object"); // 3. If value has a property with the key "script": if (value.as_object().has("script"sv)) { @@ -52,7 +52,7 @@ ErrorOr json_deserialize_as_a_time // 2. If script duration is a number and less than 0 or greater than maximum safe integer, or it is not null, return error with error code invalid argument. if ((script_duration.is_number() && (script_duration.to_i64() < 0 || script_duration.to_i64() > max_safe_integer)) || !script_duration.is_null()) - return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidArgument, "Invalid script duration"); + return Error::from_code(ErrorCode::InvalidArgument, "Invalid script duration"); // 3. Set timeouts’s script timeout to script duration. timeouts.script_timeout = script_duration.is_null() ? Optional {} : script_duration.to_u64(); @@ -65,7 +65,7 @@ ErrorOr json_deserialize_as_a_time // 2. If page load duration is less than 0 or greater than maximum safe integer, return error with error code invalid argument. if (!page_load_duration.is_number() || page_load_duration.to_i64() < 0 || page_load_duration.to_i64() > max_safe_integer) - return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidArgument, "Invalid page load duration"); + return Error::from_code(ErrorCode::InvalidArgument, "Invalid page load duration"); // 3. Set timeouts’s page load timeout to page load duration. timeouts.page_load_timeout = page_load_duration.to_u64(); @@ -78,7 +78,7 @@ ErrorOr json_deserialize_as_a_time // 2. If implicit duration is less than 0 or greater than maximum safe integer, return error with error code invalid argument. if (!implicit_duration.is_number() || implicit_duration.to_i64() < 0 || implicit_duration.to_i64() > max_safe_integer) - return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::InvalidArgument, "Invalid implicit duration"); + return Error::from_code(ErrorCode::InvalidArgument, "Invalid implicit duration"); // 3. Set timeouts’s implicit wait timeout to implicit duration. timeouts.implicit_wait_timeout = implicit_duration.to_u64(); diff --git a/Userland/Services/WebDriver/TimeoutsConfiguration.h b/Userland/Libraries/LibWeb/WebDriver/TimeoutsConfiguration.h similarity index 77% rename from Userland/Services/WebDriver/TimeoutsConfiguration.h rename to Userland/Libraries/LibWeb/WebDriver/TimeoutsConfiguration.h index 8b20a454ce..0140ea0d44 100644 --- a/Userland/Services/WebDriver/TimeoutsConfiguration.h +++ b/Userland/Libraries/LibWeb/WebDriver/TimeoutsConfiguration.h @@ -10,7 +10,7 @@ #include #include -namespace WebDriver { +namespace Web::WebDriver { // https://w3c.github.io/webdriver/#dfn-timeouts-configuration struct TimeoutsConfiguration { @@ -20,6 +20,6 @@ struct TimeoutsConfiguration { }; JsonObject timeouts_object(TimeoutsConfiguration const&); -ErrorOr json_deserialize_as_a_timeouts_configuration(JsonValue const&); +ErrorOr json_deserialize_as_a_timeouts_configuration(JsonValue const&); } diff --git a/Userland/Services/WebDriver/CMakeLists.txt b/Userland/Services/WebDriver/CMakeLists.txt index 4822fbfb17..4bf0a016d6 100644 --- a/Userland/Services/WebDriver/CMakeLists.txt +++ b/Userland/Services/WebDriver/CMakeLists.txt @@ -7,7 +7,6 @@ serenity_component( set(SOURCES Client.cpp Session.cpp - TimeoutsConfiguration.cpp WebContentConnection.cpp main.cpp ) diff --git a/Userland/Services/WebDriver/Client.cpp b/Userland/Services/WebDriver/Client.cpp index 122a82e50c..9f68aa71ad 100644 --- a/Userland/Services/WebDriver/Client.cpp +++ b/Userland/Services/WebDriver/Client.cpp @@ -16,9 +16,9 @@ #include #include #include +#include #include #include -#include namespace WebDriver { diff --git a/Userland/Services/WebDriver/Session.cpp b/Userland/Services/WebDriver/Session.cpp index b8bc4c187b..f052a85089 100644 --- a/Userland/Services/WebDriver/Session.cpp +++ b/Userland/Services/WebDriver/Session.cpp @@ -135,7 +135,7 @@ Web::WebDriver::Response Session::stop() JsonObject Session::get_timeouts() { // 1. Let timeouts be the timeouts object for session’s timeouts configuration - auto timeouts = timeouts_object(m_timeouts_configuration); + auto timeouts = Web::WebDriver::timeouts_object(m_timeouts_configuration); // 2. Return success with data timeouts. return timeouts; @@ -145,7 +145,7 @@ JsonObject Session::get_timeouts() Web::WebDriver::Response Session::set_timeouts(JsonValue const& payload) { // 1. Let timeouts be the result of trying to JSON deserialize as a timeouts configuration the request’s parameters. - auto timeouts = TRY(json_deserialize_as_a_timeouts_configuration(payload)); + auto timeouts = TRY(Web::WebDriver::json_deserialize_as_a_timeouts_configuration(payload)); // 2. Make the session timeouts the new timeouts. m_timeouts_configuration = move(timeouts); diff --git a/Userland/Services/WebDriver/Session.h b/Userland/Services/WebDriver/Session.h index 886c53a190..4d27567fa3 100644 --- a/Userland/Services/WebDriver/Session.h +++ b/Userland/Services/WebDriver/Session.h @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include @@ -68,7 +68,7 @@ private: Optional m_browser_pid; // https://w3c.github.io/webdriver/#dfn-session-script-timeout - TimeoutsConfiguration m_timeouts_configuration; + Web::WebDriver::TimeoutsConfiguration m_timeouts_configuration; }; }