/* * Copyright (c) 2022-2024, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace WebDriver { class Client; class WebContentConnection : public IPC::ConnectionFromClient { C_OBJECT_ABSTRACT(WebContentConnection) public: explicit WebContentConnection(NonnullOwnPtr transport); Web::WebDriver::Response wait_for_navigation_completion() { auto response = send_sync_but_allow_failure(); VERIFY(response); return response->response(); } Function on_close; Function on_driver_execution_complete; Function on_did_set_window_handle; Function on_did_start_window_replacement; Function on_did_close_window; private: virtual void die() override; virtual void driver_execution_complete(Web::WebDriver::Response) override; virtual void did_set_window_handle(String) override; virtual void did_start_window_replacement(String) override; virtual void did_close_window(String) override; }; }