mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 00:50:22 +00:00
LibWeb: Make CSS display
serialization match other engines
The spec just says to follow "most backwards-compatible, then shortest" when serializing these (and it does so in a very hand-wavy fashion). By omitting some keywords when they are implied, we end up matching other engines and pass a bunch of WPT tests.
This commit is contained in:
parent
70695e4fce
commit
ce23efc5f6
Notes:
github-actions[bot]
2024-11-15 13:47:01 +00:00
Author: https://github.com/awesomekling Commit: https://github.com/LadybirdBrowser/ladybird/commit/ce23efc5f61 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2356
3 changed files with 60 additions and 57 deletions
|
@ -42,11 +42,16 @@ String Display::to_string() const
|
|||
if (*this == Display::from_short(Display::Short::InlineTable))
|
||||
return "inline-table"_string;
|
||||
|
||||
builder.append(CSS::to_string(m_value.outside_inside.outside));
|
||||
builder.append(' ');
|
||||
builder.append(CSS::to_string(m_value.outside_inside.inside));
|
||||
if (m_value.outside_inside.list_item == ListItem::Yes)
|
||||
builder.append(" list-item"sv);
|
||||
{
|
||||
Vector<StringView, 3> parts;
|
||||
if (!(m_value.outside_inside.outside == DisplayOutside::Block && m_value.outside_inside.inside == DisplayInside::FlowRoot))
|
||||
parts.append(CSS::to_string(m_value.outside_inside.outside));
|
||||
if (m_value.outside_inside.inside != DisplayInside::Flow)
|
||||
parts.append(CSS::to_string(m_value.outside_inside.inside));
|
||||
if (m_value.outside_inside.list_item == ListItem::Yes)
|
||||
parts.append("list-item"sv);
|
||||
builder.join(' ', parts);
|
||||
}
|
||||
break;
|
||||
case Type::Internal:
|
||||
builder.append(CSS::to_string(m_value.internal));
|
||||
|
|
|
@ -6,8 +6,7 @@ Rerun
|
|||
|
||||
Found 112 tests
|
||||
|
||||
88 Pass
|
||||
24 Fail
|
||||
112 Pass
|
||||
Details
|
||||
Result Test Name MessagePass Property display value 'grid'
|
||||
Pass Property display value 'inline-grid'
|
||||
|
@ -37,8 +36,8 @@ Pass Property display value 'ruby-base'
|
|||
Pass Property display value 'ruby-text'
|
||||
Pass Property display value 'flow list-item'
|
||||
Pass Property display value 'list-item flow'
|
||||
Fail Property display value 'flow-root list-item'
|
||||
Fail Property display value 'list-item flow-root'
|
||||
Pass Property display value 'flow-root list-item'
|
||||
Pass Property display value 'list-item flow-root'
|
||||
Pass Property display value 'block flow'
|
||||
Pass Property display value 'flow block'
|
||||
Pass Property display value 'flow-root block'
|
||||
|
@ -59,12 +58,12 @@ Pass Property display value 'flow list-item block'
|
|||
Pass Property display value 'block list-item flow'
|
||||
Pass Property display value 'list-item block flow'
|
||||
Pass Property display value 'list-item flow block'
|
||||
Fail Property display value 'flow-root block list-item'
|
||||
Fail Property display value 'block flow-root list-item'
|
||||
Fail Property display value 'flow-root list-item block'
|
||||
Fail Property display value 'block list-item flow-root'
|
||||
Fail Property display value 'list-item block flow-root'
|
||||
Fail Property display value 'list-item flow-root block'
|
||||
Pass Property display value 'flow-root block list-item'
|
||||
Pass Property display value 'block flow-root list-item'
|
||||
Pass Property display value 'flow-root list-item block'
|
||||
Pass Property display value 'block list-item flow-root'
|
||||
Pass Property display value 'list-item block flow-root'
|
||||
Pass Property display value 'list-item flow-root block'
|
||||
Pass Property display value 'inline flow'
|
||||
Pass Property display value 'flow inline'
|
||||
Pass Property display value 'flow-root inline'
|
||||
|
@ -77,14 +76,14 @@ Pass Property display value 'table inline'
|
|||
Pass Property display value 'inline table'
|
||||
Pass Property display value 'inline ruby'
|
||||
Pass Property display value 'ruby inline'
|
||||
Fail Property display value 'inline list-item'
|
||||
Fail Property display value 'list-item inline'
|
||||
Fail Property display value 'flow inline list-item'
|
||||
Fail Property display value 'inline flow list-item'
|
||||
Fail Property display value 'flow list-item inline'
|
||||
Fail Property display value 'inline list-item flow'
|
||||
Fail Property display value 'list-item inline flow'
|
||||
Fail Property display value 'list-item flow inline'
|
||||
Pass Property display value 'inline list-item'
|
||||
Pass Property display value 'list-item inline'
|
||||
Pass Property display value 'flow inline list-item'
|
||||
Pass Property display value 'inline flow list-item'
|
||||
Pass Property display value 'flow list-item inline'
|
||||
Pass Property display value 'inline list-item flow'
|
||||
Pass Property display value 'list-item inline flow'
|
||||
Pass Property display value 'list-item flow inline'
|
||||
Pass Property display value 'flow-root inline list-item'
|
||||
Pass Property display value 'inline flow-root list-item'
|
||||
Pass Property display value 'flow-root list-item inline'
|
||||
|
@ -103,14 +102,14 @@ Pass Property display value 'table run-in'
|
|||
Pass Property display value 'run-in table'
|
||||
Pass Property display value 'run-in ruby'
|
||||
Pass Property display value 'ruby run-in'
|
||||
Fail Property display value 'run-in list-item'
|
||||
Fail Property display value 'list-item run-in'
|
||||
Fail Property display value 'flow run-in list-item'
|
||||
Fail Property display value 'run-in flow list-item'
|
||||
Fail Property display value 'flow list-item run-in'
|
||||
Fail Property display value 'run-in list-item flow'
|
||||
Fail Property display value 'list-item run-in flow'
|
||||
Fail Property display value 'list-item flow run-in'
|
||||
Pass Property display value 'run-in list-item'
|
||||
Pass Property display value 'list-item run-in'
|
||||
Pass Property display value 'flow run-in list-item'
|
||||
Pass Property display value 'run-in flow list-item'
|
||||
Pass Property display value 'flow list-item run-in'
|
||||
Pass Property display value 'run-in list-item flow'
|
||||
Pass Property display value 'list-item run-in flow'
|
||||
Pass Property display value 'list-item flow run-in'
|
||||
Pass Property display value 'flow-root run-in list-item'
|
||||
Pass Property display value 'run-in flow-root list-item'
|
||||
Pass Property display value 'flow-root list-item run-in'
|
||||
|
|
|
@ -6,8 +6,7 @@ Rerun
|
|||
|
||||
Found 108 tests
|
||||
|
||||
84 Pass
|
||||
24 Fail
|
||||
108 Pass
|
||||
Details
|
||||
Result Test Name MessagePass e.style['display'] = "grid" should set the property value
|
||||
Pass e.style['display'] = "inline-grid" should set the property value
|
||||
|
@ -37,8 +36,8 @@ Pass e.style['display'] = "ruby-base" should set the property value
|
|||
Pass e.style['display'] = "ruby-text" should set the property value
|
||||
Pass e.style['display'] = "flow list-item" should set the property value
|
||||
Pass e.style['display'] = "list-item flow" should set the property value
|
||||
Fail e.style['display'] = "flow-root list-item" should set the property value
|
||||
Fail e.style['display'] = "list-item flow-root" should set the property value
|
||||
Pass e.style['display'] = "flow-root list-item" should set the property value
|
||||
Pass e.style['display'] = "list-item flow-root" should set the property value
|
||||
Pass e.style['display'] = "block flow" should set the property value
|
||||
Pass e.style['display'] = "flow block" should set the property value
|
||||
Pass e.style['display'] = "flow-root block" should set the property value
|
||||
|
@ -59,12 +58,12 @@ Pass e.style['display'] = "flow list-item block" should set the property value
|
|||
Pass e.style['display'] = "block list-item flow" should set the property value
|
||||
Pass e.style['display'] = "list-item block flow" should set the property value
|
||||
Pass e.style['display'] = "list-item flow block" should set the property value
|
||||
Fail e.style['display'] = "flow-root block list-item" should set the property value
|
||||
Fail e.style['display'] = "block flow-root list-item" should set the property value
|
||||
Fail e.style['display'] = "flow-root list-item block" should set the property value
|
||||
Fail e.style['display'] = "block list-item flow-root" should set the property value
|
||||
Fail e.style['display'] = "list-item block flow-root" should set the property value
|
||||
Fail e.style['display'] = "list-item flow-root block" should set the property value
|
||||
Pass e.style['display'] = "flow-root block list-item" should set the property value
|
||||
Pass e.style['display'] = "block flow-root list-item" should set the property value
|
||||
Pass e.style['display'] = "flow-root list-item block" should set the property value
|
||||
Pass e.style['display'] = "block list-item flow-root" should set the property value
|
||||
Pass e.style['display'] = "list-item block flow-root" should set the property value
|
||||
Pass e.style['display'] = "list-item flow-root block" should set the property value
|
||||
Pass e.style['display'] = "inline flow" should set the property value
|
||||
Pass e.style['display'] = "flow inline" should set the property value
|
||||
Pass e.style['display'] = "flow-root inline" should set the property value
|
||||
|
@ -77,14 +76,14 @@ Pass e.style['display'] = "table inline" should set the property value
|
|||
Pass e.style['display'] = "inline table" should set the property value
|
||||
Pass e.style['display'] = "inline ruby" should set the property value
|
||||
Pass e.style['display'] = "ruby inline" should set the property value
|
||||
Fail e.style['display'] = "inline list-item" should set the property value
|
||||
Fail e.style['display'] = "list-item inline" should set the property value
|
||||
Fail e.style['display'] = "flow inline list-item" should set the property value
|
||||
Fail e.style['display'] = "inline flow list-item" should set the property value
|
||||
Fail e.style['display'] = "flow list-item inline" should set the property value
|
||||
Fail e.style['display'] = "inline list-item flow" should set the property value
|
||||
Fail e.style['display'] = "list-item inline flow" should set the property value
|
||||
Fail e.style['display'] = "list-item flow inline" should set the property value
|
||||
Pass e.style['display'] = "inline list-item" should set the property value
|
||||
Pass e.style['display'] = "list-item inline" should set the property value
|
||||
Pass e.style['display'] = "flow inline list-item" should set the property value
|
||||
Pass e.style['display'] = "inline flow list-item" should set the property value
|
||||
Pass e.style['display'] = "flow list-item inline" should set the property value
|
||||
Pass e.style['display'] = "inline list-item flow" should set the property value
|
||||
Pass e.style['display'] = "list-item inline flow" should set the property value
|
||||
Pass e.style['display'] = "list-item flow inline" should set the property value
|
||||
Pass e.style['display'] = "flow-root inline list-item" should set the property value
|
||||
Pass e.style['display'] = "inline flow-root list-item" should set the property value
|
||||
Pass e.style['display'] = "flow-root list-item inline" should set the property value
|
||||
|
@ -103,14 +102,14 @@ Pass e.style['display'] = "table run-in" should set the property value
|
|||
Pass e.style['display'] = "run-in table" should set the property value
|
||||
Pass e.style['display'] = "run-in ruby" should set the property value
|
||||
Pass e.style['display'] = "ruby run-in" should set the property value
|
||||
Fail e.style['display'] = "run-in list-item" should set the property value
|
||||
Fail e.style['display'] = "list-item run-in" should set the property value
|
||||
Fail e.style['display'] = "flow run-in list-item" should set the property value
|
||||
Fail e.style['display'] = "run-in flow list-item" should set the property value
|
||||
Fail e.style['display'] = "flow list-item run-in" should set the property value
|
||||
Fail e.style['display'] = "run-in list-item flow" should set the property value
|
||||
Fail e.style['display'] = "list-item run-in flow" should set the property value
|
||||
Fail e.style['display'] = "list-item flow run-in" should set the property value
|
||||
Pass e.style['display'] = "run-in list-item" should set the property value
|
||||
Pass e.style['display'] = "list-item run-in" should set the property value
|
||||
Pass e.style['display'] = "flow run-in list-item" should set the property value
|
||||
Pass e.style['display'] = "run-in flow list-item" should set the property value
|
||||
Pass e.style['display'] = "flow list-item run-in" should set the property value
|
||||
Pass e.style['display'] = "run-in list-item flow" should set the property value
|
||||
Pass e.style['display'] = "list-item run-in flow" should set the property value
|
||||
Pass e.style['display'] = "list-item flow run-in" should set the property value
|
||||
Pass e.style['display'] = "flow-root run-in list-item" should set the property value
|
||||
Pass e.style['display'] = "run-in flow-root list-item" should set the property value
|
||||
Pass e.style['display'] = "flow-root list-item run-in" should set the property value
|
||||
|
|
Loading…
Reference in a new issue