mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
fa83cc722c
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.
53 lines
1.2 KiB
C++
53 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);
|
|
}
|
|
|
|
}
|