Skip to content

Commit 285892b

Browse files
committed
LibWeb: Expose dump_indent() function
Preparation for moving some dump code out of Dump.cpp. Also switch to using append_repeated() instead of a looped append().
1 parent 674075f commit 285892b

File tree

2 files changed

+39
-39
lines changed

2 files changed

+39
-39
lines changed

Libraries/LibWeb/Dump.cpp

Lines changed: 33 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,9 @@
5555

5656
namespace Web {
5757

58-
static void indent(StringBuilder& builder, int levels)
59-
{
60-
for (int i = 0; i < levels; i++)
61-
builder.append(" "sv);
62-
}
63-
6458
static void dump_session_history_entry(StringBuilder& builder, HTML::SessionHistoryEntry const& session_history_entry, int indent_levels)
6559
{
66-
indent(builder, indent_levels);
60+
dump_indent(builder, indent_levels);
6761
auto const& document = session_history_entry.document();
6862
builder.appendff("step=({}) url=({}) is-active=({})\n", session_history_entry.step().get<int>(), session_history_entry.url(), document && document->is_active());
6963
for (auto const& nested_history : session_history_entry.document_state()->nested_histories()) {
@@ -468,11 +462,11 @@ static void dump_qualified_name(StringBuilder& builder, CSS::Selector::SimpleSel
468462

469463
void dump_selector(StringBuilder& builder, CSS::Selector const& selector, int indent_levels)
470464
{
471-
indent(builder, indent_levels);
465+
dump_indent(builder, indent_levels);
472466
builder.append("CSS::Selector:\n"sv);
473467

474468
for (auto& relative_selector : selector.compound_selectors()) {
475-
indent(builder, indent_levels + 1);
469+
dump_indent(builder, indent_levels + 1);
476470

477471
char const* relation_description = "";
478472
switch (relative_selector.combinator) {
@@ -557,7 +551,7 @@ void dump_selector(StringBuilder& builder, CSS::Selector const& selector, int in
557551
builder.append(", selectors=[\n"sv);
558552
for (auto const& child_selector : pseudo_class.argument_selector_list)
559553
dump_selector(builder, child_selector, indent_levels + 2);
560-
indent(builder, indent_levels + 1);
554+
dump_indent(builder, indent_levels + 1);
561555
builder.append("]"sv);
562556
}
563557
builder.append(")"sv);
@@ -571,7 +565,7 @@ void dump_selector(StringBuilder& builder, CSS::Selector const& selector, int in
571565
builder.append("([\n"sv);
572566
for (auto& child_selector : pseudo_class.argument_selector_list)
573567
dump_selector(builder, child_selector, indent_levels + 2);
574-
indent(builder, indent_levels + 1);
568+
dump_indent(builder, indent_levels + 1);
575569
builder.append("])"sv);
576570
break;
577571
}
@@ -667,7 +661,7 @@ void dump_rule(CSS::CSSRule const& rule)
667661

668662
void dump_rule(StringBuilder& builder, CSS::CSSRule const& rule, int indent_levels)
669663
{
670-
indent(builder, indent_levels);
664+
dump_indent(builder, indent_levels);
671665
builder.appendff("{}:\n", rule.class_name());
672666

673667
switch (rule.type()) {
@@ -718,56 +712,56 @@ void dump_rule(StringBuilder& builder, CSS::CSSRule const& rule, int indent_leve
718712

719713
void dump_font_face_rule(StringBuilder& builder, CSS::CSSFontFaceRule const& rule, int indent_levels)
720714
{
721-
indent(builder, indent_levels + 1);
715+
dump_indent(builder, indent_levels + 1);
722716
builder.appendff("VALID: {}\n", rule.is_valid());
723717
dump_descriptors(builder, rule.descriptors(), indent_levels + 1);
724718
}
725719

726720
void dump_import_rule(StringBuilder& builder, CSS::CSSImportRule const& rule, int indent_levels)
727721
{
728-
indent(builder, indent_levels);
722+
dump_indent(builder, indent_levels);
729723
builder.appendff(" Document URL: {}\n", rule.url().to_string());
730724
}
731725

732726
void dump_keyframe_rule(StringBuilder& builder, CSS::CSSKeyframeRule const& keyframe, int indent_levels)
733727
{
734-
indent(builder, indent_levels + 1);
728+
dump_indent(builder, indent_levels + 1);
735729
builder.appendff("Key: {}\n"sv, keyframe.key_text());
736730
dump_style_properties(builder, keyframe.style(), indent_levels + 1);
737731
}
738732

739733
void dump_keyframes_rule(StringBuilder& builder, CSS::CSSKeyframesRule const& keyframes, int indent_levels)
740734
{
741-
indent(builder, indent_levels + 1);
735+
dump_indent(builder, indent_levels + 1);
742736
builder.appendff("Name: {}\n", keyframes.name());
743-
indent(builder, indent_levels + 1);
737+
dump_indent(builder, indent_levels + 1);
744738
builder.appendff("Keyframes ({}):\n", keyframes.length());
745739
for (auto& rule : *keyframes.css_rules())
746740
dump_rule(builder, rule, indent_levels + 2);
747741
}
748742

749743
void dump_layer_block_rule(StringBuilder& builder, CSS::CSSLayerBlockRule const& layer_block, int indent_levels)
750744
{
751-
indent(builder, indent_levels);
745+
dump_indent(builder, indent_levels);
752746
builder.appendff(" Layer Block: `{}`\n", layer_block.internal_name());
753-
indent(builder, indent_levels);
747+
dump_indent(builder, indent_levels);
754748
builder.appendff(" Rules ({}):\n", layer_block.css_rules().length());
755749
for (auto& rule : layer_block.css_rules())
756750
dump_rule(builder, rule, indent_levels + 2);
757751
}
758752

759753
void dump_layer_statement_rule(StringBuilder& builder, CSS::CSSLayerStatementRule const& layer_statement, int indent_levels)
760754
{
761-
indent(builder, indent_levels);
755+
dump_indent(builder, indent_levels);
762756
builder.append(" Layer Statement: "sv);
763757
builder.join(", "sv, layer_statement.name_list());
764758
}
765759

766760
void dump_media_rule(StringBuilder& builder, CSS::CSSMediaRule const& media, int indent_levels)
767761
{
768-
indent(builder, indent_levels);
762+
dump_indent(builder, indent_levels);
769763
builder.appendff(" Media: {}\n", media.condition_text());
770-
indent(builder, indent_levels);
764+
dump_indent(builder, indent_levels);
771765
builder.appendff(" Rules ({}):\n", media.css_rules().length());
772766

773767
for (auto& rule : media.css_rules())
@@ -776,29 +770,29 @@ void dump_media_rule(StringBuilder& builder, CSS::CSSMediaRule const& media, int
776770

777771
void dump_page_rule(StringBuilder& builder, CSS::CSSPageRule const& page, int indent_levels)
778772
{
779-
indent(builder, indent_levels + 1);
773+
dump_indent(builder, indent_levels + 1);
780774
builder.appendff("selector: {}\n", page.selector_text());
781775
dump_descriptors(builder, page.descriptors(), indent_levels + 1);
782776

783-
indent(builder, indent_levels + 1);
777+
dump_indent(builder, indent_levels + 1);
784778
builder.appendff(" Rules ({}):\n", page.css_rules().length());
785779
for (auto& rule : page.css_rules())
786780
dump_rule(builder, rule, indent_levels + 2);
787781
}
788782

789783
void dump_margin_rule(StringBuilder& builder, CSS::CSSMarginRule const& margin, int indent_levels)
790784
{
791-
indent(builder, indent_levels + 1);
785+
dump_indent(builder, indent_levels + 1);
792786
builder.appendff("name: {}\n", margin.name());
793787
dump_style_properties(builder, margin.style(), indent_levels + 1);
794788
}
795789

796790
void dump_supports_rule(StringBuilder& builder, CSS::CSSSupportsRule const& supports, int indent_levels)
797791
{
798-
indent(builder, indent_levels);
792+
dump_indent(builder, indent_levels);
799793
builder.append(" Supports:\n"sv);
800794
supports.supports().dump(builder, indent_levels + 2);
801-
indent(builder, indent_levels);
795+
dump_indent(builder, indent_levels);
802796
builder.appendff(" Rules ({}):\n", supports.css_rules().length());
803797

804798
for (auto& rule : supports.css_rules())
@@ -807,34 +801,34 @@ void dump_supports_rule(StringBuilder& builder, CSS::CSSSupportsRule const& supp
807801

808802
void dump_property_rule(StringBuilder& builder, CSS::CSSPropertyRule const& property, int indent_levels)
809803
{
810-
indent(builder, indent_levels + 1);
804+
dump_indent(builder, indent_levels + 1);
811805
builder.appendff("name: {}\n", property.name());
812806

813-
indent(builder, indent_levels + 1);
807+
dump_indent(builder, indent_levels + 1);
814808
builder.appendff("syntax: {}\n", property.syntax());
815809

816-
indent(builder, indent_levels + 1);
810+
dump_indent(builder, indent_levels + 1);
817811
builder.appendff("inherits: {}\n", property.inherits());
818812

819813
if (property.initial_value().has_value()) {
820-
indent(builder, indent_levels + 1);
814+
dump_indent(builder, indent_levels + 1);
821815
builder.appendff("initial-value: {}\n", property.initial_value().value());
822816
}
823817
}
824818

825819
void dump_style_properties(StringBuilder& builder, CSS::CSSStyleProperties const& declaration, int indent_levels)
826820
{
827-
indent(builder, indent_levels);
821+
dump_indent(builder, indent_levels);
828822
builder.appendff("Declarations ({}):\n", declaration.length());
829823
for (auto& property : declaration.properties()) {
830-
indent(builder, indent_levels);
824+
dump_indent(builder, indent_levels);
831825
builder.appendff(" {}: '{}'", CSS::string_from_property_id(property.property_id), property.value->to_string(CSS::SerializationMode::Normal));
832826
if (property.important == CSS::Important::Yes)
833827
builder.append(" \033[31;1m!important\033[0m"sv);
834828
builder.append('\n');
835829
}
836830
for (auto& property : declaration.custom_properties()) {
837-
indent(builder, indent_levels);
831+
dump_indent(builder, indent_levels);
838832
builder.appendff(" {}: '{}'", property.key, property.value.value->to_string(CSS::SerializationMode::Normal));
839833
if (property.value.important == CSS::Important::Yes)
840834
builder.append(" \033[31;1m!important\033[0m"sv);
@@ -844,10 +838,10 @@ void dump_style_properties(StringBuilder& builder, CSS::CSSStyleProperties const
844838

845839
void dump_descriptors(StringBuilder& builder, CSS::CSSDescriptors const& descriptors, int indent_levels)
846840
{
847-
indent(builder, indent_levels);
841+
dump_indent(builder, indent_levels);
848842
builder.appendff("Declarations ({}):\n", descriptors.length());
849843
for (auto const& descriptor : descriptors.descriptors()) {
850-
indent(builder, indent_levels);
844+
dump_indent(builder, indent_levels);
851845
builder.appendff(" {}: '{}'", CSS::to_string(descriptor.descriptor_id), descriptor.value->to_string(CSS::SerializationMode::Normal));
852846
builder.append('\n');
853847
}
@@ -860,7 +854,7 @@ void dump_style_rule(StringBuilder& builder, CSS::CSSStyleRule const& rule, int
860854
}
861855
dump_style_properties(builder, rule.declaration(), indent_levels + 1);
862856

863-
indent(builder, indent_levels);
857+
dump_indent(builder, indent_levels);
864858
builder.appendff(" Child rules ({}):\n", rule.css_rules().length());
865859
for (auto& child_rule : rule.css_rules())
866860
dump_rule(builder, child_rule, indent_levels + 2);
@@ -937,15 +931,15 @@ void dump_tree(StringBuilder& builder, Painting::Paintable const& paintable, boo
937931

938932
void dump_namespace_rule(StringBuilder& builder, CSS::CSSNamespaceRule const& namespace_, int indent_levels)
939933
{
940-
indent(builder, indent_levels);
934+
dump_indent(builder, indent_levels);
941935
builder.appendff(" Namespace: {}\n", namespace_.namespace_uri());
942936
if (!namespace_.prefix().is_empty())
943937
builder.appendff(" Prefix: {}\n", namespace_.prefix());
944938
}
945939

946940
void dump_nested_declarations(StringBuilder& builder, CSS::CSSNestedDeclarations const& declarations, int indent_levels)
947941
{
948-
indent(builder, indent_levels);
942+
dump_indent(builder, indent_levels);
949943
builder.append(" Nested declarations:\n"sv);
950944
dump_style_properties(builder, declarations.declaration(), indent_levels + 1);
951945
}

Libraries/LibWeb/Dump.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#pragma once
99

1010
#include <AK/Forward.h>
11+
#include <AK/StringBuilder.h>
1112
#include <LibWeb/Export.h>
1213
#include <LibWeb/Forward.h>
1314

@@ -43,4 +44,9 @@ void dump_layer_statement_rule(StringBuilder&, CSS::CSSLayerStatementRule const&
4344
void dump_selector(StringBuilder&, CSS::Selector const&, int indent_levels = 0);
4445
void dump_selector(CSS::Selector const&);
4546

47+
inline void dump_indent(StringBuilder& builder, int indent_levels)
48+
{
49+
builder.append_repeated(" "sv, indent_levels);
50+
}
51+
4652
}

0 commit comments

Comments
 (0)