1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 23:37:36 +00:00

WebContent+WebDriver: Move Window commands to WebContent

This moves Get Window Handle, Close Window, and Get Window Handles over
to WebContent so they may be implemented closer to the spec and be used
by Ladybird.
This commit is contained in:
Timothy Flynn 2022-11-14 11:55:10 -05:00 committed by Tim Flynn
parent be50806a18
commit 826d5f8f9a
6 changed files with 76 additions and 98 deletions

View file

@ -8,6 +8,8 @@
#pragma once
#include <AK/HashMap.h>
#include <AK/String.h>
#include <LibIPC/ConnectionToServer.h>
#include <LibJS/Forward.h>
#include <LibJS/Heap/MarkedVector.h>
@ -44,6 +46,9 @@ 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::GetWindowHandlesResponse get_window_handles() override;
virtual Messages::WebDriverClient::GetWindowRectResponse get_window_rect() override;
virtual Messages::WebDriverClient::SetWindowRectResponse set_window_rect(JsonValue const& payload) override;
virtual Messages::WebDriverClient::MaximizeWindowResponse maximize_window() override;
@ -90,6 +95,13 @@ private:
// https://w3c.github.io/webdriver/#dfn-session-script-timeout
Web::WebDriver::TimeoutsConfiguration m_timeouts_configuration;
struct Window {
String handle;
bool is_open { false };
};
HashMap<String, Window> m_windows;
String m_current_window_handle;
};
}