summaryrefslogtreecommitdiff
path: root/Userland/Services/WebDriver/Session.cpp
diff options
context:
space:
mode:
authorTimothy Flynn <trflynn89@pm.me>2022-11-10 20:55:17 -0500
committerLinus Groh <mail@linusgroh.de>2022-11-11 11:36:07 +0000
commit0b9803dc9369deb5784d99e481cc06b0f8dc1743 (patch)
tree8f7157d51a0b2c10a7aa379c63d7bf105f5f477f /Userland/Services/WebDriver/Session.cpp
parent88dcdf681f9ffb9b40e25e3f2e4bc4039917c28c (diff)
downloadserenity-0b9803dc9369deb5784d99e481cc06b0f8dc1743.zip
WebContent+WebDriver: Move Execute Script to WebContent
Diffstat (limited to 'Userland/Services/WebDriver/Session.cpp')
-rw-r--r--Userland/Services/WebDriver/Session.cpp41
1 files changed, 0 insertions, 41 deletions
diff --git a/Userland/Services/WebDriver/Session.cpp b/Userland/Services/WebDriver/Session.cpp
index 6a677dcc5a..c0510a44a2 100644
--- a/Userland/Services/WebDriver/Session.cpp
+++ b/Userland/Services/WebDriver/Session.cpp
@@ -329,47 +329,6 @@ static ErrorOr<ScriptArguments, Web::WebDriver::Error> extract_the_script_argume
return ScriptArguments { script, args };
}
-// 13.2.1 Execute Script, https://w3c.github.io/webdriver/#dfn-execute-script
-Web::WebDriver::Response Session::execute_script(JsonValue const& payload)
-{
- // 1. Let body and arguments be the result of trying to extract the script arguments from a request with argument parameters.
- auto const& [body, arguments] = TRY(extract_the_script_arguments_from_a_request(payload));
-
- // 2. If the current browsing context is no longer open, return error with error code no such window.
- TRY(check_for_open_top_level_browsing_context_or_return_error());
-
- // FIXME: 3. Handle any user prompts, and return its value if it is an error.
-
- // 4., 5.1-5.3.
- Vector<String> json_arguments;
- arguments.for_each([&](JsonValue const& json_value) {
- // NOTE: serialized() instead of to_string() ensures proper quoting.
- json_arguments.append(json_value.serialized<StringBuilder>());
- });
-
- dbgln("Executing script with 'args': [{}] / 'body':\n{}", String::join(", "sv, json_arguments), body);
- auto execute_script_response = m_browser_connection->execute_script(body, json_arguments, m_timeouts_configuration.script_timeout, false);
- dbgln("Executing script returned: {}", execute_script_response.json_result());
-
- // NOTE: This is assumed to be a valid JSON value.
- auto result = MUST(JsonValue::from_string(execute_script_response.json_result()));
-
- switch (execute_script_response.result_type()) {
- // 6. If promise is still pending and the session script timeout is reached, return error with error code script timeout.
- case Web::WebDriver::ExecuteScriptResultType::Timeout:
- return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::ScriptTimeoutError, "Script timed out");
- // 7. Upon fulfillment of promise with value v, let result be a JSON clone of v, and return success with data result.
- case Web::WebDriver::ExecuteScriptResultType::PromiseResolved:
- return result;
- // 8. Upon rejection of promise with reason r, let result be a JSON clone of r, and return error with error code javascript error and data result.
- case Web::WebDriver::ExecuteScriptResultType::PromiseRejected:
- case Web::WebDriver::ExecuteScriptResultType::JavaScriptError:
- return Web::WebDriver::Error::from_code(Web::WebDriver::ErrorCode::JavascriptError, "Script returned an error", move(result));
- default:
- VERIFY_NOT_REACHED();
- }
-}
-
// 13.2.2 Execute Async Script, https://w3c.github.io/webdriver/#dfn-execute-async-script
Web::WebDriver::Response Session::execute_async_script(JsonValue const& parameters)
{