/* * Copyright (c) 2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace DevTools { struct TabDescription { u64 id { 0 }; String title; String url; }; class TabActor final : public Actor { public: static constexpr auto base_name = "tab"sv; static NonnullRefPtr create(DevToolsServer&, String name, TabDescription); virtual ~TabActor() override; TabDescription const& description() const { return m_description; } JsonObject serialize_description() const; void reset_selected_node(); private: TabActor(DevToolsServer&, String name, TabDescription); virtual void handle_message(Message const&) override; TabDescription m_description; WeakPtr m_watcher; }; }