diff --git a/Libraries/LibWeb/DOM/Element.h b/Libraries/LibWeb/DOM/Element.h index e8d0e4faba..cca9f83c6a 100644 --- a/Libraries/LibWeb/DOM/Element.h +++ b/Libraries/LibWeb/DOM/Element.h @@ -61,6 +61,7 @@ public: } bool has_class(const FlyString&) const; + const Vector& class_names() const { return m_classes; } virtual void apply_presentational_hints(StyleProperties&) const { } virtual void parse_attribute(const FlyString& name, const String& value); diff --git a/Libraries/LibWeb/Dump.cpp b/Libraries/LibWeb/Dump.cpp index 42ce636a19..eba734220e 100644 --- a/Libraries/LibWeb/Dump.cpp +++ b/Libraries/LibWeb/Dump.cpp @@ -93,13 +93,18 @@ void dump_tree(const LayoutNode& layout_node) String identifier = ""; if (layout_node.node() && is(*layout_node.node())) { - auto id = to(*layout_node.node()).attribute(HTML::AttributeNames::id); + auto& element = to(*layout_node.node()); + StringBuilder builder; + auto id = element.attribute(HTML::AttributeNames::id); if (!id.is_empty()) { - StringBuilder builder; builder.append('#'); builder.append(id); - identifier = builder.to_string(); } + for (auto& class_name : element.class_names()) { + builder.append('.'); + builder.append(class_name); + } + identifier = builder.to_string(); } if (!layout_node.is_box()) {