LibWeb/CSS: Don't serialize longhands which match their initial values

Shorthand subproperties that match their initial values are now
excluded from serialization, by default.

Properties where this behavior is not desired, like `gap`, are
special-cased.
This commit is contained in:
Tim Ledbetter 2025-04-06 23:34:39 +01:00 committed by Sam Atkins
commit 3186adeaa1
Notes: github-actions[bot] 2025-04-07 10:40:16 +00:00
6 changed files with 144 additions and 27 deletions

View file

@ -9,9 +9,9 @@ All supported properties and their default values exposed from CSSStylePropertie
'WebkitAlignSelf': 'auto'
'webkitAlignSelf': 'auto'
'-webkit-align-self': 'auto'
'WebkitAnimation': 'none 0s ease 1 normal running 0s none'
'webkitAnimation': 'none 0s ease 1 normal running 0s none'
'-webkit-animation': 'none 0s ease 1 normal running 0s none'
'WebkitAnimation': 'none'
'webkitAnimation': 'none'
'-webkit-animation': 'none'
'WebkitAnimationDelay': '0s'
'webkitAnimationDelay': '0s'
'-webkit-animation-delay': '0s'
@ -111,9 +111,9 @@ All supported properties and their default values exposed from CSSStylePropertie
'WebkitTransformOrigin': '50% 50%'
'webkitTransformOrigin': '50% 50%'
'-webkit-transform-origin': '50% 50%'
'WebkitTransition': 'all 0s ease 0s'
'webkitTransition': 'all 0s ease 0s'
'-webkit-transition': 'all 0s ease 0s'
'WebkitTransition': 'all'
'webkitTransition': 'all'
'-webkit-transition': 'all'
'WebkitTransitionDelay': '0s'
'webkitTransitionDelay': '0s'
'-webkit-transition-delay': '0s'
@ -137,7 +137,7 @@ All supported properties and their default values exposed from CSSStylePropertie
'align-items': 'normal'
'alignSelf': 'auto'
'align-self': 'auto'
'animation': 'none 0s ease 1 normal running 0s none'
'animation': 'none'
'animationDelay': '0s'
'animation-delay': '0s'
'animationDirection': 'normal'
@ -184,25 +184,25 @@ All supported properties and their default values exposed from CSSStylePropertie
'background-size': 'auto auto'
'blockSize': '0px'
'block-size': '0px'
'border': '0px none rgb(0, 0, 0)'
'borderBlockEnd': 'medium none rgb(0, 0, 0)'
'border-block-end': 'medium none rgb(0, 0, 0)'
'border': '0px rgb(0, 0, 0)'
'borderBlockEnd': 'rgb(0, 0, 0)'
'border-block-end': 'rgb(0, 0, 0)'
'borderBlockEndColor': 'rgb(0, 0, 0)'
'border-block-end-color': 'rgb(0, 0, 0)'
'borderBlockEndStyle': 'none'
'border-block-end-style': 'none'
'borderBlockEndWidth': 'medium'
'border-block-end-width': 'medium'
'borderBlockStart': 'medium none rgb(0, 0, 0)'
'border-block-start': 'medium none rgb(0, 0, 0)'
'borderBlockStart': 'rgb(0, 0, 0)'
'border-block-start': 'rgb(0, 0, 0)'
'borderBlockStartColor': 'rgb(0, 0, 0)'
'border-block-start-color': 'rgb(0, 0, 0)'
'borderBlockStartStyle': 'none'
'border-block-start-style': 'none'
'borderBlockStartWidth': 'medium'
'border-block-start-width': 'medium'
'borderBottom': '0px none rgb(0, 0, 0)'
'border-bottom': '0px none rgb(0, 0, 0)'
'borderBottom': '0px rgb(0, 0, 0)'
'border-bottom': '0px rgb(0, 0, 0)'
'borderBottomColor': 'rgb(0, 0, 0)'
'border-bottom-color': 'rgb(0, 0, 0)'
'borderBottomLeftRadius': '0px'
@ -217,24 +217,24 @@ All supported properties and their default values exposed from CSSStylePropertie
'border-collapse': 'separate'
'borderColor': 'rgb(0, 0, 0)'
'border-color': 'rgb(0, 0, 0)'
'borderInlineEnd': 'medium none rgb(0, 0, 0)'
'border-inline-end': 'medium none rgb(0, 0, 0)'
'borderInlineEnd': 'rgb(0, 0, 0)'
'border-inline-end': 'rgb(0, 0, 0)'
'borderInlineEndColor': 'rgb(0, 0, 0)'
'border-inline-end-color': 'rgb(0, 0, 0)'
'borderInlineEndStyle': 'none'
'border-inline-end-style': 'none'
'borderInlineEndWidth': 'medium'
'border-inline-end-width': 'medium'
'borderInlineStart': 'medium none rgb(0, 0, 0)'
'border-inline-start': 'medium none rgb(0, 0, 0)'
'borderInlineStart': 'rgb(0, 0, 0)'
'border-inline-start': 'rgb(0, 0, 0)'
'borderInlineStartColor': 'rgb(0, 0, 0)'
'border-inline-start-color': 'rgb(0, 0, 0)'
'borderInlineStartStyle': 'none'
'border-inline-start-style': 'none'
'borderInlineStartWidth': 'medium'
'border-inline-start-width': 'medium'
'borderLeft': '0px none rgb(0, 0, 0)'
'border-left': '0px none rgb(0, 0, 0)'
'borderLeft': '0px rgb(0, 0, 0)'
'border-left': '0px rgb(0, 0, 0)'
'borderLeftColor': 'rgb(0, 0, 0)'
'border-left-color': 'rgb(0, 0, 0)'
'borderLeftStyle': 'none'
@ -243,8 +243,8 @@ All supported properties and their default values exposed from CSSStylePropertie
'border-left-width': '0px'
'borderRadius': '0px'
'border-radius': '0px'
'borderRight': '0px none rgb(0, 0, 0)'
'border-right': '0px none rgb(0, 0, 0)'
'borderRight': '0px rgb(0, 0, 0)'
'border-right': '0px rgb(0, 0, 0)'
'borderRightColor': 'rgb(0, 0, 0)'
'border-right-color': 'rgb(0, 0, 0)'
'borderRightStyle': 'none'
@ -255,8 +255,8 @@ All supported properties and their default values exposed from CSSStylePropertie
'border-spacing': '0px'
'borderStyle': 'none'
'border-style': 'none'
'borderTop': '0px none rgb(0, 0, 0)'
'border-top': '0px none rgb(0, 0, 0)'
'borderTop': '0px rgb(0, 0, 0)'
'border-top': '0px rgb(0, 0, 0)'
'borderTopColor': 'rgb(0, 0, 0)'
'border-top-color': 'rgb(0, 0, 0)'
'borderTopLeftRadius': '0px'
@ -496,7 +496,7 @@ All supported properties and their default values exposed from CSSStylePropertie
'object-position': '50% 50%'
'opacity': '1'
'order': '0'
'outline': 'rgb(0, 0, 0) none 0px'
'outline': 'rgb(0, 0, 0) 0px'
'outlineColor': 'rgb(0, 0, 0)'
'outline-color': 'rgb(0, 0, 0)'
'outlineOffset': '0px'
@ -606,7 +606,7 @@ All supported properties and their default values exposed from CSSStylePropertie
'transform-box': 'view-box'
'transformOrigin': '50% 50%'
'transform-origin': '50% 50%'
'transition': 'all 0s ease 0s'
'transition': 'all'
'transitionDelay': '0s'
'transition-delay': '0s'
'transitionDuration': '0s'