mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-02 06:37:52 +00:00
It's currently possible for window size/position updates to hang, as the underlying IPCs are synchronous. This updates the WebDriver endpoint to be async, to unblock the WebContent process while the update is ongoing. The UI process is now responsible for informing WebContent when the update is complete.
54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
/*
|
|
* Copyright (c) 2022-2024, Tim Flynn <trflynn89@ladybird.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <WebDriver/Client.h>
|
|
#include <WebDriver/WebContentConnection.h>
|
|
|
|
namespace WebDriver {
|
|
|
|
WebContentConnection::WebContentConnection(IPC::Transport transport)
|
|
: IPC::ConnectionFromClient<WebDriverClientEndpoint, WebDriverServerEndpoint>(*this, move(transport), 1)
|
|
{
|
|
}
|
|
|
|
void WebContentConnection::die()
|
|
{
|
|
if (on_close)
|
|
on_close();
|
|
}
|
|
|
|
void WebContentConnection::navigation_complete(Web::WebDriver::Response const& response)
|
|
{
|
|
if (on_navigation_complete)
|
|
on_navigation_complete(response);
|
|
}
|
|
|
|
void WebContentConnection::window_rect_updated(Web::WebDriver::Response const& response)
|
|
{
|
|
if (on_window_rect_updated)
|
|
on_window_rect_updated(response);
|
|
}
|
|
|
|
void WebContentConnection::script_executed(Web::WebDriver::Response const& response)
|
|
{
|
|
if (on_script_executed)
|
|
on_script_executed(response);
|
|
}
|
|
|
|
void WebContentConnection::actions_performed(Web::WebDriver::Response const& response)
|
|
{
|
|
if (on_actions_performed)
|
|
on_actions_performed(response);
|
|
}
|
|
|
|
void WebContentConnection::dialog_closed(Web::WebDriver::Response const& response)
|
|
{
|
|
if (on_dialog_closed)
|
|
on_dialog_closed(response);
|
|
}
|
|
|
|
}
|