/* * Copyright (c) 2022-2023, Linus Groh * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include namespace Web::WebDriver { enum class ExecuteScriptResultType { PromiseResolved, PromiseRejected, Timeout, JavaScriptError, BrowsingContextDiscarded, }; struct ExecuteScriptResult { ExecuteScriptResultType type; JS::Value value; }; struct ExecuteScriptResultSerialized { ExecuteScriptResultType type; JsonValue value; }; ExecuteScriptResultSerialized execute_script(Page& page, DeprecatedString const& body, JS::MarkedVector arguments, Optional const& timeout); ExecuteScriptResultSerialized execute_async_script(Page& page, DeprecatedString const& body, JS::MarkedVector arguments, Optional const& timeout); }