1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:58:11 +00:00
serenity/Userland/Services/WebContent/WebDriverClient.ipc
Aliaksandr Kalenik 0905fd57e4 WebContent+WebDriver: Move window commands handling back to WebDriver
With current architecture every window has its own WebContent process
and there is one WebDriver process that is responsible for talking to
all opened windows. It thus make sense to manage open windows from
WebDriver process instead of WebContent process that is not supposed
to know about all other opened WebContent processes.

This mostly reverts 826d5f8f9a but also
adds `web_content_connection` to window structure and window id
generation (currently out of spec).

With these changes `get_window_handles`, `switch_to_window` and
`close_window` start to actually switch, close and returned handles
of currently opened windows.
2023-03-07 07:16:23 -05:00

58 lines
3.9 KiB
Text

#include <LibWeb/WebDriver/Capabilities.h>
#include <LibWeb/WebDriver/Response.h>
endpoint WebDriverClient {
close_session() => ()
set_page_load_strategy(Web::WebDriver::PageLoadStrategy page_load_strategy) =|
set_unhandled_prompt_behavior(Web::WebDriver::UnhandledPromptBehavior unhandled_prompt_behavior) =|
set_strict_file_interactability(bool strict_file_interactability) =|
set_is_webdriver_active(bool active) =|
get_timeouts() => (Web::WebDriver::Response response)
set_timeouts(JsonValue payload) => (Web::WebDriver::Response response)
navigate_to(JsonValue payload) => (Web::WebDriver::Response response)
get_current_url() => (Web::WebDriver::Response response)
back() => (Web::WebDriver::Response response)
forward() => (Web::WebDriver::Response response)
refresh() => (Web::WebDriver::Response response)
get_title() => (Web::WebDriver::Response response)
close_window() => (Web::WebDriver::Response response)
get_window_rect() => (Web::WebDriver::Response response)
set_window_rect(JsonValue payload) => (Web::WebDriver::Response response)
maximize_window() => (Web::WebDriver::Response response)
minimize_window() => (Web::WebDriver::Response response)
fullscreen_window() => (Web::WebDriver::Response response)
find_element(JsonValue payload) => (Web::WebDriver::Response response)
find_elements(JsonValue payload) => (Web::WebDriver::Response response)
find_element_from_element(JsonValue payload, String element_id) => (Web::WebDriver::Response response)
find_elements_from_element(JsonValue payload, String element_id) => (Web::WebDriver::Response response)
find_element_from_shadow_root(JsonValue payload, String shadow_id) => (Web::WebDriver::Response response)
find_elements_from_shadow_root(JsonValue payload, String shadow_id) => (Web::WebDriver::Response response)
get_active_element() => (Web::WebDriver::Response response)
get_element_shadow_root(String element_id) => (Web::WebDriver::Response response)
is_element_selected(String element_id) => (Web::WebDriver::Response response)
get_element_attribute(String element_id, String name) => (Web::WebDriver::Response response)
get_element_property(String element_id, String name) => (Web::WebDriver::Response response)
get_element_css_value(String element_id, String name) => (Web::WebDriver::Response response)
get_element_text(String element_id) => (Web::WebDriver::Response response)
get_element_tag_name(String element_id) => (Web::WebDriver::Response response)
get_element_rect(String element_id) => (Web::WebDriver::Response response)
is_element_enabled(String element_id) => (Web::WebDriver::Response response)
get_computed_role(String element_id) => (Web::WebDriver::Response response)
get_computed_label(String element_id) => (Web::WebDriver::Response response)
element_click(String element_id) => (Web::WebDriver::Response response)
get_source() => (Web::WebDriver::Response response)
execute_script(JsonValue payload) => (Web::WebDriver::Response response)
execute_async_script(JsonValue payload) => (Web::WebDriver::Response response)
get_all_cookies() => (Web::WebDriver::Response response)
get_named_cookie(String name) => (Web::WebDriver::Response response)
add_cookie(JsonValue payload) => (Web::WebDriver::Response response)
delete_cookie(String name) => (Web::WebDriver::Response response)
delete_all_cookies() => (Web::WebDriver::Response response)
dismiss_alert() => (Web::WebDriver::Response response)
accept_alert() => (Web::WebDriver::Response response)
get_alert_text() => (Web::WebDriver::Response response)
send_alert_text(JsonValue payload) => (Web::WebDriver::Response response)
take_screenshot() => (Web::WebDriver::Response response)
take_element_screenshot(String element_id) => (Web::WebDriver::Response response)
print_page() => (Web::WebDriver::Response response)
}