/* * Copyright (c) 2022-2023, Linus Groh * Copyright (c) 2024, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace Web::WebDriver { struct ExecutionResult { JS::Promise::State state { JS::Promise::State::Pending }; JS::Value value {}; }; using OnScriptComplete = JS::HeapFunction; void execute_script(HTML::BrowsingContext const&, ByteString body, JS::MarkedVector arguments, Optional const& timeout_ms, JS::NonnullGCPtr on_complete); void execute_async_script(HTML::BrowsingContext const&, ByteString body, JS::MarkedVector arguments, Optional const& timeout_ms, JS::NonnullGCPtr on_complete); }