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.
42 lines
1.2 KiB
C++
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;
|
|
};
|
|
|
|
}
|