/* * 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 #include namespace Web::WebDriver { struct ExecutionResult { JS::Promise::State state { JS::Promise::State::Pending }; JS::Value value {}; }; using OnScriptComplete = GC::Function; void execute_script(HTML::BrowsingContext const&, String body, GC::RootVector arguments, Optional const& timeout_ms, GC::Ref on_complete); void execute_async_script(HTML::BrowsingContext const&, String body, GC::RootVector arguments, Optional const& timeout_ms, GC::Ref on_complete); }