1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 00:47:45 +00:00

WebContent+WebDriver: Get window handle from WebContent process

This change makes window handles on WebDriver process side be
consistent with handles returned by /window/new.
This commit is contained in:
Aliaksandr Kalenik 2023-03-13 17:45:34 +03:00 committed by Tim Flynn
parent f287165823
commit 126fa7df14
5 changed files with 11 additions and 5 deletions

View file

@ -15,6 +15,7 @@ endpoint WebDriverClient {
forward() => (Web::WebDriver::Response response)
refresh() => (Web::WebDriver::Response response)
get_title() => (Web::WebDriver::Response response)
get_window_handle() => (String handle)
close_window() => (Web::WebDriver::Response response)
new_window(JsonValue payload) => (Web::WebDriver::Response response)
get_window_rect() => (Web::WebDriver::Response response)

View file

@ -522,6 +522,12 @@ Messages::WebDriverClient::GetTitleResponse WebDriverConnection::get_title()
return title;
}
// 11.1 Get Window Handle, https://w3c.github.io/webdriver/#get-window-handle
Messages::WebDriverClient::GetWindowHandleResponse WebDriverConnection::get_window_handle()
{
return m_page_client.page().top_level_browsing_context().window_handle();
}
// 11.2 Close Window, https://w3c.github.io/webdriver/#dfn-close-window
Messages::WebDriverClient::CloseWindowResponse WebDriverConnection::close_window()
{

View file

@ -52,6 +52,7 @@ private:
virtual Messages::WebDriverClient::ForwardResponse forward() override;
virtual Messages::WebDriverClient::RefreshResponse refresh() override;
virtual Messages::WebDriverClient::GetTitleResponse get_title() override;
virtual Messages::WebDriverClient::GetWindowHandleResponse get_window_handle() override;
virtual Messages::WebDriverClient::CloseWindowResponse close_window() override;
virtual Messages::WebDriverClient::NewWindowResponse new_window(JsonValue const& payload) override;
virtual Messages::WebDriverClient::GetWindowRectResponse get_window_rect() override;