ladybird/Libraries/LibDevTools/Actors/InspectorActor.h
Sam Atkins 64e0aa8c26 LibWeb+LibDevTools: Link style rules to CSS sources
Resolve applied-rule stylesheet identities through StyleSheetsActor and
include Firefox parentStyleSheet, line, and column fields on rule forms.
Firefox can then show matched rules as stylesheet rules and open the
corresponding CSS source location from the Rules panel.
2026-06-04 20:54:33 +01:00

42 lines
1.2 KiB
C++

/*
* Copyright (c) 2025, Tim Flynn <trflynn89@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/NonnullRefPtr.h>
#include <LibDevTools/Actor.h>
#include <LibDevTools/Forward.h>
namespace DevTools {
class DEVTOOLS_API InspectorActor final : public Actor {
public:
static constexpr auto base_name = "inspector"sv;
static NonnullRefPtr<InspectorActor> create(DevToolsServer&, String name, WeakPtr<TabActor>, WeakPtr<StyleSheetsActor>);
virtual ~InspectorActor() override;
static RefPtr<TabActor> tab_for(WeakPtr<InspectorActor> const&);
static RefPtr<WalkerActor> walker_for(WeakPtr<InspectorActor> const&);
static RefPtr<StyleSheetsActor> style_sheets_for(WeakPtr<InspectorActor> const&);
void on_navigation_started();
void on_navigation_finished();
private:
InspectorActor(DevToolsServer&, String name, WeakPtr<TabActor>, WeakPtr<StyleSheetsActor>);
virtual void handle_message(Message const&) override;
void received_dom_tree(JsonObject& response, JsonObject dom_tree);
WeakPtr<TabActor> m_tab;
WeakPtr<StyleSheetsActor> m_style_sheets;
WeakPtr<WalkerActor> m_walker;
WeakPtr<PageStyleActor> m_page_style;
};
}