/* * Copyright (c) 2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace DevTools { class FrameActor final : public Actor { public: static constexpr auto base_name = "frame"sv; static NonnullRefPtr create(DevToolsServer&, String name, WeakPtr, WeakPtr, WeakPtr, WeakPtr, WeakPtr, WeakPtr); virtual ~FrameActor() override; void send_frame_update_message(); JsonObject serialize_target() const; private: FrameActor(DevToolsServer&, String name, WeakPtr, WeakPtr, WeakPtr, WeakPtr, WeakPtr, WeakPtr); void style_sheets_available(JsonObject& response, Vector style_sheets); virtual void handle_message(Message const&) override; void console_message_available(i32 message_index); void console_messages_received(i32 start_index, Vector); void request_console_messages(); WeakPtr m_tab; WeakPtr m_css_properties; WeakPtr m_console; WeakPtr m_inspector; WeakPtr m_style_sheets; WeakPtr m_thread; i32 m_highest_notified_message_index { -1 }; i32 m_highest_received_message_index { -1 }; bool m_waiting_for_messages { false }; }; }