mirror of
https://github.com/SerenityOS/serenity
synced 2026-05-14 10:56:35 +02:00
Similar to script execution, this spins the WebDriver process until the action is complete (rather than spinning the WebContent process, which we've seen result in deadlocks). (cherry picked from commit 709deeb482a6433abbcb194551788bc5409166f4)
35 lines
1.3 KiB
C++
35 lines
1.3 KiB
C++
/*
|
|
* Copyright (c) 2024, Tim Flynn <trflynn89@ladybird.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/ByteString.h>
|
|
#include <AK/Error.h>
|
|
#include <AK/JsonObject.h>
|
|
#include <LibJS/Heap/GCPtr.h>
|
|
#include <LibWeb/Forward.h>
|
|
#include <LibWeb/PixelUnits.h>
|
|
#include <LibWeb/WebDriver/Error.h>
|
|
|
|
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<JS::NonnullGCPtr<Web::DOM::Element>, WebDriver::Error> deserialize_web_element(JsonObject const&);
|
|
ByteString extract_web_element_reference(JsonObject const&);
|
|
bool represents_a_web_element(JsonValue const& value);
|
|
ErrorOr<JS::NonnullGCPtr<Web::DOM::Element>, Web::WebDriver::Error> get_web_element_origin(StringView origin);
|
|
ErrorOr<Web::DOM::Element*, Web::WebDriver::Error> 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<Web::DOM::ShadowRoot*, Web::WebDriver::Error> get_known_shadow_root(StringView shadow_id);
|
|
|
|
CSSPixelPoint in_view_center_point(DOM::Element const& element, CSSPixelRect viewport);
|
|
|
|
}
|