mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-15 23:09:05 +00:00
LibWeb: Indent the CSS dumps correctly
Selectors and at-rules both made assumptions about their indentation level, which made it difficult to read the dump output. It'll become even worse once rules can be further nested within each other, so let's fix it now. :^)
This commit is contained in:
parent
5cc75d4de4
commit
aeed4921c4
Notes:
github-actions[bot]
2024-10-16 06:33:23 +00:00
Author: https://github.com/AtkinsSJ
Commit: aeed4921c4
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1817
2 changed files with 25 additions and 16 deletions
|
@ -444,12 +444,13 @@ static void dump_qualified_name(StringBuilder& builder, CSS::Selector::SimpleSel
|
||||||
builder.appendff("NamespaceType={}, Namespace='{}', Name='{}'", namespace_type, qualified_name.namespace_, qualified_name.name.name);
|
builder.appendff("NamespaceType={}, Namespace='{}', Name='{}'", namespace_type, qualified_name.namespace_, qualified_name.name.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dump_selector(StringBuilder& builder, CSS::Selector const& selector)
|
void dump_selector(StringBuilder& builder, CSS::Selector const& selector, int indent_levels)
|
||||||
{
|
{
|
||||||
|
indent(builder, indent_levels);
|
||||||
builder.append("CSS::Selector:\n"sv);
|
builder.append("CSS::Selector:\n"sv);
|
||||||
|
|
||||||
for (auto& relative_selector : selector.compound_selectors()) {
|
for (auto& relative_selector : selector.compound_selectors()) {
|
||||||
builder.append(" "sv);
|
indent(builder, indent_levels + 1);
|
||||||
|
|
||||||
char const* relation_description = "";
|
char const* relation_description = "";
|
||||||
switch (relative_selector.combinator) {
|
switch (relative_selector.combinator) {
|
||||||
|
@ -525,9 +526,10 @@ void dump_selector(StringBuilder& builder, CSS::Selector const& selector)
|
||||||
case CSS::PseudoClassMetadata::ParameterType::ANPlusBOf: {
|
case CSS::PseudoClassMetadata::ParameterType::ANPlusBOf: {
|
||||||
builder.appendff("(step={}, offset={}", pseudo_class.nth_child_pattern.step_size, pseudo_class.nth_child_pattern.offset);
|
builder.appendff("(step={}, offset={}", pseudo_class.nth_child_pattern.step_size, pseudo_class.nth_child_pattern.offset);
|
||||||
if (!pseudo_class.argument_selector_list.is_empty()) {
|
if (!pseudo_class.argument_selector_list.is_empty()) {
|
||||||
builder.append(", selectors=["sv);
|
builder.append(", selectors=[\n"sv);
|
||||||
for (auto const& child_selector : pseudo_class.argument_selector_list)
|
for (auto const& child_selector : pseudo_class.argument_selector_list)
|
||||||
dump_selector(builder, child_selector);
|
dump_selector(builder, child_selector, indent_levels + 2);
|
||||||
|
indent(builder, indent_levels + 1);
|
||||||
builder.append("]"sv);
|
builder.append("]"sv);
|
||||||
}
|
}
|
||||||
builder.append(")"sv);
|
builder.append(")"sv);
|
||||||
|
@ -537,9 +539,10 @@ void dump_selector(StringBuilder& builder, CSS::Selector const& selector)
|
||||||
case CSS::PseudoClassMetadata::ParameterType::ForgivingSelectorList:
|
case CSS::PseudoClassMetadata::ParameterType::ForgivingSelectorList:
|
||||||
case CSS::PseudoClassMetadata::ParameterType::ForgivingRelativeSelectorList:
|
case CSS::PseudoClassMetadata::ParameterType::ForgivingRelativeSelectorList:
|
||||||
case CSS::PseudoClassMetadata::ParameterType::SelectorList: {
|
case CSS::PseudoClassMetadata::ParameterType::SelectorList: {
|
||||||
builder.append("(["sv);
|
builder.append("([\n"sv);
|
||||||
for (auto& selector : pseudo_class.argument_selector_list)
|
for (auto& child_selector : pseudo_class.argument_selector_list)
|
||||||
dump_selector(builder, selector);
|
dump_selector(builder, child_selector, indent_levels + 2);
|
||||||
|
indent(builder, indent_levels + 1);
|
||||||
builder.append("])"sv);
|
builder.append("])"sv);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -737,9 +740,11 @@ void dump_import_rule(StringBuilder& builder, CSS::CSSImportRule const& rule, in
|
||||||
void dump_layer_block_rule(StringBuilder& builder, CSS::CSSLayerBlockRule const& layer_block, int indent_levels)
|
void dump_layer_block_rule(StringBuilder& builder, CSS::CSSLayerBlockRule const& layer_block, int indent_levels)
|
||||||
{
|
{
|
||||||
indent(builder, indent_levels);
|
indent(builder, indent_levels);
|
||||||
builder.appendff(" Layer Block: `{}`\n Rules ({}):\n", layer_block.internal_name(), layer_block.css_rules().length());
|
builder.appendff(" Layer Block: `{}`\n", layer_block.internal_name());
|
||||||
|
indent(builder, indent_levels);
|
||||||
|
builder.appendff(" Rules ({}):\n", layer_block.css_rules().length());
|
||||||
for (auto& rule : layer_block.css_rules())
|
for (auto& rule : layer_block.css_rules())
|
||||||
dump_rule(builder, rule, indent_levels + 1);
|
dump_rule(builder, rule, indent_levels + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dump_layer_statement_rule(StringBuilder& builder, CSS::CSSLayerStatementRule const& layer_statement, int indent_levels)
|
void dump_layer_statement_rule(StringBuilder& builder, CSS::CSSLayerStatementRule const& layer_statement, int indent_levels)
|
||||||
|
@ -752,25 +757,29 @@ void dump_layer_statement_rule(StringBuilder& builder, CSS::CSSLayerStatementRul
|
||||||
void dump_media_rule(StringBuilder& builder, CSS::CSSMediaRule const& media, int indent_levels)
|
void dump_media_rule(StringBuilder& builder, CSS::CSSMediaRule const& media, int indent_levels)
|
||||||
{
|
{
|
||||||
indent(builder, indent_levels);
|
indent(builder, indent_levels);
|
||||||
builder.appendff(" Media: {}\n Rules ({}):\n", media.condition_text(), media.css_rules().length());
|
builder.appendff(" Media: {}\n", media.condition_text());
|
||||||
|
indent(builder, indent_levels);
|
||||||
|
builder.appendff(" Rules ({}):\n", media.css_rules().length());
|
||||||
|
|
||||||
for (auto& rule : media.css_rules())
|
for (auto& rule : media.css_rules())
|
||||||
dump_rule(builder, rule, indent_levels + 1);
|
dump_rule(builder, rule, indent_levels + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dump_supports_rule(StringBuilder& builder, CSS::CSSSupportsRule const& supports, int indent_levels)
|
void dump_supports_rule(StringBuilder& builder, CSS::CSSSupportsRule const& supports, int indent_levels)
|
||||||
{
|
{
|
||||||
indent(builder, indent_levels);
|
indent(builder, indent_levels);
|
||||||
builder.appendff(" Supports: {}\n Rules ({}):\n", supports.condition_text(), supports.css_rules().length());
|
builder.appendff(" Supports: {}\n", supports.condition_text());
|
||||||
|
indent(builder, indent_levels);
|
||||||
|
builder.appendff(" Rules ({}):\n", supports.css_rules().length());
|
||||||
|
|
||||||
for (auto& rule : supports.css_rules())
|
for (auto& rule : supports.css_rules())
|
||||||
dump_rule(builder, rule, indent_levels + 1);
|
dump_rule(builder, rule, indent_levels + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dump_style_rule(StringBuilder& builder, CSS::CSSStyleRule const& rule, int indent_levels)
|
void dump_style_rule(StringBuilder& builder, CSS::CSSStyleRule const& rule, int indent_levels)
|
||||||
{
|
{
|
||||||
for (auto& selector : rule.selectors()) {
|
for (auto& selector : rule.selectors()) {
|
||||||
dump_selector(builder, selector);
|
dump_selector(builder, selector, indent_levels + 1);
|
||||||
}
|
}
|
||||||
indent(builder, indent_levels);
|
indent(builder, indent_levels);
|
||||||
builder.appendff(" Declarations ({}):\n", rule.declaration().length());
|
builder.appendff(" Declarations ({}):\n", rule.declaration().length());
|
||||||
|
|
|
@ -32,7 +32,7 @@ void dump_supports_rule(StringBuilder&, CSS::CSSSupportsRule const&, int indent_
|
||||||
void dump_namespace_rule(StringBuilder&, CSS::CSSNamespaceRule const&, int indent_levels = 0);
|
void dump_namespace_rule(StringBuilder&, CSS::CSSNamespaceRule const&, int indent_levels = 0);
|
||||||
void dump_layer_block_rule(StringBuilder&, CSS::CSSLayerBlockRule const&, int indent_levels = 0);
|
void dump_layer_block_rule(StringBuilder&, CSS::CSSLayerBlockRule const&, int indent_levels = 0);
|
||||||
void dump_layer_statement_rule(StringBuilder&, CSS::CSSLayerStatementRule const&, int indent_levels = 0);
|
void dump_layer_statement_rule(StringBuilder&, CSS::CSSLayerStatementRule const&, int indent_levels = 0);
|
||||||
void dump_selector(StringBuilder&, CSS::Selector const&);
|
void dump_selector(StringBuilder&, CSS::Selector const&, int indent_levels = 0);
|
||||||
void dump_selector(CSS::Selector const&);
|
void dump_selector(CSS::Selector const&);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue