/* * Copyright (c) 2024, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include namespace Web::WebDriver { ByteString get_or_create_a_web_element_reference(Web::DOM::Node const& element); JsonObject web_element_reference_object(Web::DOM::Node const& element); ErrorOr, WebDriver::Error> deserialize_web_element(JsonObject const&); ByteString extract_web_element_reference(JsonObject const&); bool represents_a_web_element(JsonValue const& value); ErrorOr, Web::WebDriver::Error> get_web_element_origin(StringView origin); ErrorOr get_known_connected_element(StringView element_id); bool is_element_stale(Web::DOM::Node const& element); ByteString get_or_create_a_shadow_root_reference(Web::DOM::ShadowRoot const& shadow_root); JsonObject shadow_root_reference_object(Web::DOM::ShadowRoot const& shadow_root); ErrorOr get_known_shadow_root(StringView shadow_id); CSSPixelPoint in_view_center_point(DOM::Element const& element, CSSPixelRect viewport); }