/* * Copyright (c) 2024-2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include "TestWeb.h" #include #include #include #include #include #include #include namespace TestWeb { class TestWebView final : public WebView::HeadlessWebView { public: static NonnullOwnPtr create(Core::AnonymousBuffer theme, Web::DevicePixelSize window_size); void clear_content_filters(); NonnullRefPtr>> take_screenshot(); TestPromise& test_promise() { return *m_test_promise; } void on_test_complete(TestCompletion); private: TestWebView(Core::AnonymousBuffer theme, Web::DevicePixelSize viewport_size); virtual void did_receive_screenshot(Badge, Gfx::ShareableBitmap const& screenshot) override; RefPtr>> m_pending_screenshot; NonnullRefPtr m_test_promise; }; }