Bug 1449039 part 8 - Remove bunch of unused CSS_PROPERTY_* flags. r?emilio draft
authorXidorn Quan <me@upsuper.org>
Tue, 27 Mar 2018 11:56:31 +1100
changeset 772883 a4c8cf31fcb1f10dfe62663f8e5b76a0012a0459
parent 772882 0d64988718946e7b95f0055590f508743a9f0cfd
child 772884 f4e0bd38d766d0e344168db439796c2dc0215a2c
child 772902 06afc4e5baec4b0c7560c1d6ae5175987a04c0bb
push id104075
push userxquan@mozilla.com
push dateTue, 27 Mar 2018 03:57:37 +0000
reviewersemilio
bugs1449039
milestone61.0a1
Bug 1449039 part 8 - Remove bunch of unused CSS_PROPERTY_* flags. r?emilio MozReview-Commit-ID: 4POeai2hmUp
layout/style/nsCSSPropList.h
layout/style/nsCSSProps.h
--- a/layout/style/nsCSSPropList.h
+++ b/layout/style/nsCSSPropList.h
@@ -360,288 +360,245 @@ CSS_PROP_SHORTHAND(
     animation,
     Animation,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_DISPLAY(
     animation-delay,
     animation_delay,
     AnimationDelay,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_TIME, // used by list parsing
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     animation-direction,
     animation_direction,
     AnimationDirection,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kAnimationDirectionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     animation-duration,
     animation_duration,
     AnimationDuration,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     animation-fill-mode,
     animation_fill_mode,
     AnimationFillMode,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kAnimationFillModeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     animation-iteration-count,
     animation_iteration_count,
     AnimationIterationCount,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        // nonnegative per
-        // http://lists.w3.org/Archives/Public/www-style/2011Mar/0355.html
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD | VARIANT_NUMBER, // used by list parsing
     kAnimationIterationCountKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     animation-name,
     animation_name,
     AnimationName,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     // FIXME: The spec should say something about 'inherit' and 'initial'
     // not being allowed.
     VARIANT_NONE | VARIANT_IDENTIFIER_NO_INHERIT | VARIANT_STRING, // used by list parsing
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     animation-play-state,
     animation_play_state,
     AnimationPlayState,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kAnimationPlayStateKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     animation-timing-function,
     animation_timing_function,
     AnimationTimingFunction,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing
     kTransitionTimingFunctionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     -moz-appearance,
     _moz_appearance,
     CSS_PROP_DOMPROP_PREFIXED(Appearance),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kAppearanceKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     backface-visibility,
     backface_visibility,
     BackfaceVisibility,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBackfaceVisibilityKTable,
     offsetof(nsStyleDisplay, mBackfaceVisibility),
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     background,
     background,
     Background,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_BACKGROUND(
     background-attachment,
     background_attachment,
     BackgroundAttachment,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kImageLayerAttachmentKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BACKGROUND(
     background-blend-mode,
     background_blend_mode,
     BackgroundBlendMode,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "layout.css.background-blend-mode.enabled",
     VARIANT_KEYWORD, // used by list parsing
     kBlendModeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BACKGROUND(
     background-clip,
     background_clip,
     BackgroundClip,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kBackgroundClipKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BACKGROUND(
     background-color,
     background_color,
     BackgroundColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleBackground, mBackgroundColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_BACKGROUND(
     background-image,
     background_image,
     BackgroundImage,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_START_IMAGE_LOADS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_IMAGE, // used by list parsing
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BACKGROUND(
     background-origin,
     background_origin,
     BackgroundOrigin,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kBackgroundOriginKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     background-position,
     background_position,
     BackgroundPosition,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_BACKGROUND(
     background-position-x,
     background_position_x,
     BackgroundPositionX,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_STORES_CALC,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_BACKGROUND(
     background-position-y,
     background_position_y,
     BackgroundPositionY,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_STORES_CALC,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_BACKGROUND(
     background-repeat,
     background_repeat,
     BackgroundRepeat,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kImageLayerRepeatKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BACKGROUND(
     background-size,
     background_size,
     BackgroundSize,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_STORES_CALC,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     0,
     kImageLayerSizeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_DISPLAY(
     -moz-binding,
     _moz_binding,
     CSS_PROP_DOMPROP_PREFIXED(Binding),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HUO,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None) // XXX bug 3935
 CSS_PROP_LOGICAL(
     block-size,
     block_size,
     BlockSize,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_SHORTHAND(
     border,
@@ -654,360 +611,321 @@ CSS_PROP_SHORTHAND(
     border_block_end,
     BorderBlockEnd,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_LOGICAL(
     border-block-end-color,
     border_block_end_color,
     BorderBlockEndColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-block-end-style,
     border_block_end_style,
     BorderBlockEndStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-block-end-width,
     border_block_end_width,
     BorderBlockEndWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_SHORTHAND(
     border-block-start,
     border_block_start,
     BorderBlockStart,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_LOGICAL(
     border-block-start-color,
     border_block_start_color,
     BorderBlockStartColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-block-start-style,
     border_block_start_style,
     BorderBlockStartStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-block-start-width,
     border_block_start_width,
     BorderBlockStartWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_SHORTHAND(
     border-bottom,
     border_bottom,
     BorderBottom,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_BORDER(
     border-bottom-color,
     border_bottom_color,
     BorderBottomColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleBorder, mBorderBottomColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_BORDER(
     border-bottom-left-radius,
     border_bottom_left_radius,
     BorderBottomLeftRadius,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleBorder, mBorderRadius),
     eStyleAnimType_Corner_BottomLeft)
 CSS_PROP_BORDER(
     border-bottom-right-radius,
     border_bottom_right_radius,
     BorderBottomRightRadius,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleBorder, mBorderRadius),
     eStyleAnimType_Corner_BottomRight)
 CSS_PROP_BORDER(
     border-bottom-style,
     border_bottom_style,
     BorderBottomStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)  // on/off will need reflow
 CSS_PROP_BORDER(
     border-bottom-width,
     border_bottom_width,
     BorderBottomWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_TABLEBORDER(
     border-collapse,
     border_collapse,
     BorderCollapse,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBorderCollapseKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     border-color,
     border_color,
     BorderColor,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_SHORTHAND(
     border-image,
     border_image,
     BorderImage,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_BORDER(
     border-image-outset,
     border_image_outset,
     BorderImageOutset,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BORDER(
     border-image-repeat,
     border_image_repeat,
     BorderImageRepeat,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     kBorderImageRepeatKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BORDER(
     border-image-slice,
     border_image_slice,
     BorderImageSlice,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     kBorderImageSliceKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BORDER(
     border-image-source,
     border_image_source,
     BorderImageSource,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_START_IMAGE_LOADS,
+    0,
     "",
     VARIANT_IMAGE | VARIANT_INHERIT,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BORDER(
     border-image-width,
     border_image_width,
     BorderImageWidth,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     border-inline-end,
     border_inline_end,
     BorderInlineEnd,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_LOGICAL(
     border-inline-end-color,
     border_inline_end_color,
     BorderInlineEndColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-inline-end-style,
     border_inline_end_style,
     BorderInlineEndStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-inline-end-width,
     border_inline_end_width,
     BorderInlineEndWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_SHORTHAND(
     border-inline-start,
     border_inline_start,
     BorderInlineStart,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_LOGICAL(
     border-inline-start-color,
     border_inline_start_color,
     BorderInlineStartColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-inline-start-style,
     border_inline_start_style,
     BorderInlineStartStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     border-inline-start-width,
     border_inline_start_width,
     BorderInlineStartWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     Border,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_SHORTHAND(
     border-left,
     border_left,
     BorderLeft,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_BORDER(
     border-left-color,
     border_left_color,
     BorderLeftColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_HASHLESS_COLOR_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleBorder, mBorderLeftColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_BORDER(
     border-left-style,
     border_left_style,
     BorderLeftStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BORDER(
     border-left-width,
     border_left_width,
     BorderLeftWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SHORTHAND(
     border-radius,
     border_radius,
@@ -1019,54 +937,47 @@ CSS_PROP_SHORTHAND(
     border_right,
     BorderRight,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_BORDER(
     border-right-color,
     border_right_color,
     BorderRightColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_HASHLESS_COLOR_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleBorder, mBorderRightColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_BORDER(
     border-right-style,
     border_right_style,
     BorderRightStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BORDER(
     border-right-width,
     border_right_width,
     BorderRightWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_TABLEBORDER(
     border-spacing,
     border_spacing,
     BorderSpacing,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SHORTHAND(
     border-style,
     border_style,
@@ -1078,402 +989,378 @@ CSS_PROP_SHORTHAND(
     border_top,
     BorderTop,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_BORDER(
     border-top-color,
     border_top_color,
     BorderTopColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleBorder, mBorderTopColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_BORDER(
     border-top-left-radius,
     border_top_left_radius,
     BorderTopLeftRadius,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleBorder, mBorderRadius),
     eStyleAnimType_Corner_TopLeft)
 CSS_PROP_BORDER(
     border-top-right-radius,
     border_top_right_radius,
     BorderTopRightRadius,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleBorder, mBorderRadius),
     eStyleAnimType_Corner_TopRight)
 CSS_PROP_BORDER(
     border-top-style,
     border_top_style,
     BorderTopStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)  // on/off will need reflow
 CSS_PROP_BORDER(
     border-top-width,
     border_top_width,
     BorderTopWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SHORTHAND(
     border-width,
     border_width,
     BorderWidth,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_POSITION(
     bottom,
     bottom,
     Bottom,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePosition, mOffset),
     eStyleAnimType_Sides_Bottom)
 CSS_PROP_XUL(
     -moz-box-align,
     _moz_box_align,
     CSS_PROP_DOMPROP_PREFIXED(BoxAlign),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBoxAlignKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_BORDER(
     box-decoration-break,
     box_decoration_break,
     BoxDecorationBreak,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.box-decoration-break.enabled",
     VARIANT_HK,
     kBoxDecorationBreakKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_XUL(
     -moz-box-direction,
     _moz_box_direction,
     CSS_PROP_DOMPROP_PREFIXED(BoxDirection),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBoxDirectionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_XUL(
     -moz-box-flex,
     _moz_box_flex,
     CSS_PROP_DOMPROP_PREFIXED(BoxFlex),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HN,
     nullptr,
     offsetof(nsStyleXUL, mBoxFlex),
     eStyleAnimType_float) // XXX bug 3935
 CSS_PROP_XUL(
     -moz-box-ordinal-group,
     _moz_box_ordinal_group,
     CSS_PROP_DOMPROP_PREFIXED(BoxOrdinalGroup),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HI,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_XUL(
     -moz-box-orient,
     _moz_box_orient,
     CSS_PROP_DOMPROP_PREFIXED(BoxOrient),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBoxOrientKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_XUL(
     -moz-box-pack,
     _moz_box_pack,
     CSS_PROP_DOMPROP_PREFIXED(BoxPack),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBoxPackKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_EFFECTS(
     box-shadow,
     box_shadow,
     BoxShadow,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
         // NOTE: some components must be nonnegative
     "",
     VARIANT_COLOR | VARIANT_LENGTH | VARIANT_CALC | VARIANT_INHERIT | VARIANT_NONE,
     kBoxShadowTypeKTable,
     offsetof(nsStyleEffects, mBoxShadow),
     eStyleAnimType_Shadow)
 CSS_PROP_POSITION(
     box-sizing,
     box_sizing,
     BoxSizing,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBoxSizingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TABLEBORDER(
     caption-side,
     caption_side,
     CaptionSide,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kCaptionSideKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_USERINTERFACE(
     caret-color,
     caret_color,
     CaretColor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_AUTO | VARIANT_HC,
     nullptr,
     offsetof(nsStyleUserInterface, mCaretColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_DISPLAY(
     clear,
     clear,
     Clear,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kClearKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_EFFECTS(
     clip,
     clip,
     Clip,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     VARIANT_AH,
     nullptr,
     offsetof(nsStyleEffects, mClip),
     eStyleAnimType_Custom)
 CSS_PROP_SVGRESET(
     clip-path,
     clip_path,
     ClipPath,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     VARIANT_HUO,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SVG(
     clip-rule,
     clip_rule,
     ClipRule,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kFillRuleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_COLOR(
     color,
     color,
     Color,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_HASHLESS_COLOR_QUIRK,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleColor, mColor),
     eStyleAnimType_Color)
 CSS_PROP_VISIBILITY(
     color-adjust,
     color_adjust,
     ColorAdjust,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.color-adjust.enabled",
     VARIANT_HK,
     kColorAdjustKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     color-interpolation,
     color_interpolation,
     ColorInterpolation,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kColorInterpolationKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     color-interpolation-filters,
     color_interpolation_filters,
     ColorInterpolationFilters,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kColorInterpolationKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_COLUMN(
     column-count,
     column_count,
     ColumnCount,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_AHI,
     nullptr,
     offsetof(nsStyleColumn, mColumnCount),
     eStyleAnimType_Custom)
 CSS_PROP_COLUMN(
     column-fill,
     column_fill,
     ColumnFill,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kColumnFillKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_COLUMN(
     column-gap,
     column_gap,
     ColumnGap,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleColumn, mColumnGap),
     eStyleAnimType_Coord)
 CSS_PROP_SHORTHAND(
     column-rule,
     column_rule,
     ColumnRule,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_COLUMN(
     column-rule-color,
     column_rule_color,
     ColumnRuleColor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleColumn, mColumnRuleColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_COLUMN(
     column-rule-style,
     column_rule_style,
     ColumnRuleStyle,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kBorderStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_COLUMN(
     column-rule-width,
     column_rule_width,
     ColumnRuleWidth,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_COLUMN(
     column-span,
     column_span,
     ColumnSpan,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.column-span.enabled",
     VARIANT_HK,
     kColumnSpanKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_COLUMN(
     column-width,
     column_width,
     ColumnWidth,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_AHL | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleColumn, mColumnWidth),
     eStyleAnimType_Coord)
 CSS_PROP_SHORTHAND(
     columns,
     columns,
     Columns,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_DISPLAY(
     contain,
     contain,
     Contain,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.contain.enabled",
     // Does not affect parsing, but is needed for tab completion in devtools:
     VARIANT_HK | VARIANT_NONE,
     kContainKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_CONTENT(
     content,
     content,
     Content,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_START_IMAGE_LOADS,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     VARIANT_HMK | VARIANT_NONE | VARIANT_URL | VARIANT_COUNTER | VARIANT_ATTR,
     kContentKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_SVG(
     // Only intended to be used internally by Mozilla, so prefixed.
@@ -1487,18 +1374,17 @@ CSS_PROP_SVG(
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_TEXT(
     -moz-control-character-visibility,
     _moz_control_character_visibility,
     CSS_PROP_DOMPROP_PREFIXED(ControlCharacterVisibility),
-    CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_PARSE_VALUE,
+    CSS_PROPERTY_INTERNAL,
     "",
     VARIANT_HK,
     kControlCharacterVisibilityKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_CONTENT(
     counter-increment,
@@ -1520,65 +1406,59 @@ CSS_PROP_CONTENT(
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 137285
 CSS_PROP_USERINTERFACE(
     cursor,
     cursor,
     Cursor,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_START_IMAGE_LOADS |
-        CSS_PROPERTY_IMAGE_IS_IN_ARRAY_0,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     0,
     kCursorKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_VISIBILITY(
     direction,
     direction,
     Direction,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kDirectionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #endif // !defined(CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND)
 CSS_PROP_DISPLAY(
     display,
     display,
     Display,
-    CSS_PROPERTY_PARSE_VALUE |
-        // This is allowed because we need to make the placeholder
-        // pseudo-element an inline-block in the UA stylesheet. It is a block
-        // by default.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kDisplayKTable,
     offsetof(nsStyleDisplay, mDisplay),
     eStyleAnimType_None)
 CSS_PROP_SVGRESET(
     dominant-baseline,
     dominant_baseline,
     DominantBaseline,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kDominantBaselineKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TABLEBORDER(
     empty-cells,
     empty_cells,
     EmptyCells,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kEmptyCellsKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     fill,
     fill,
@@ -1588,417 +1468,367 @@ CSS_PROP_SVG(
     0,
     kContextPatternKTable,
     offsetof(nsStyleSVG, mFill),
     eStyleAnimType_PaintServer)
 CSS_PROP_SVG(
     fill-opacity,
     fill_opacity,
     FillOpacity,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HN | VARIANT_KEYWORD,
     kContextOpacityKTable,
     offsetof(nsStyleSVG, mFillOpacity),
     eStyleAnimType_float)
 CSS_PROP_SVG(
     fill-rule,
     fill_rule,
     FillRule,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kFillRuleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_EFFECTS(
     filter,
     filter,
     Filter,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SHORTHAND(
     flex,
     flex,
     Flex,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_POSITION(
     flex-basis,
     flex_basis,
     FlexBasis,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC,
+    0,
     "",
     // NOTE: The parsing implementation for the 'flex' shorthand property has
     // its own code to parse each subproperty. It does not depend on the
     // longhand parsing defined here.
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable,
     offsetof(nsStylePosition, mFlexBasis),
     eStyleAnimType_Coord)
 CSS_PROP_POSITION(
     flex-direction,
     flex_direction,
     FlexDirection,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kFlexDirectionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     flex-flow,
     flex_flow,
     FlexFlow,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_POSITION(
     flex-grow,
     flex_grow,
     FlexGrow,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     // NOTE: The parsing implementation for the 'flex' shorthand property has
     // its own code to parse each subproperty. It does not depend on the
     // longhand parsing defined here.
     VARIANT_HN,
     nullptr,
     offsetof(nsStylePosition, mFlexGrow),
     eStyleAnimType_float)
 CSS_PROP_POSITION(
     flex-shrink,
     flex_shrink,
     FlexShrink,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     // NOTE: The parsing implementation for the 'flex' shorthand property has
     // its own code to parse each subproperty. It does not depend on the
     // longhand parsing defined here.
     VARIANT_HN,
     nullptr,
     offsetof(nsStylePosition, mFlexShrink),
     eStyleAnimType_float)
 CSS_PROP_POSITION(
     flex-wrap,
     flex_wrap,
     FlexWrap,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kFlexWrapKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     float,
     float_,
     CSS_PROP_PUBLIC_OR_PRIVATE(CssFloat, Float),
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    0,
     "",
     VARIANT_HK,
     kFloatKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_BORDER(
     -moz-float-edge,
     _moz_float_edge,
     CSS_PROP_DOMPROP_PREFIXED(FloatEdge),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kFloatEdgeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_SVGRESET(
     flood-color,
     flood_color,
     FloodColor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleSVGReset, mFloodColor),
     eStyleAnimType_Color)
 CSS_PROP_SVGRESET(
     flood-opacity,
     flood_opacity,
     FloodOpacity,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HN,
     nullptr,
     offsetof(nsStyleSVGReset, mFloodOpacity),
     eStyleAnimType_float)
 CSS_PROP_SHORTHAND(
     font,
     font,
     Font,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_FONT(
     font-family,
     font_family,
     FontFamily,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-feature-settings,
     font_feature_settings,
     FontFeatureSettings,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-kerning,
     font_kerning,
     FontKerning,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kFontKerningKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-language-override,
     font_language_override,
     FontLanguageOverride,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_NORMAL | VARIANT_INHERIT | VARIANT_STRING,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-optical-sizing,
     font_optical_sizing,
     FontOpticalSizing,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "layout.css.font-variations.enabled",
     VARIANT_HK,
     kFontOpticalSizingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_FONT(
     font-size,
     font_size,
     FontSize,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_HKLP | VARIANT_SYSFONT | VARIANT_CALC,
     kFontSizeKTable,
     // Note that mSize is the correct place for *reading* the computed value,
     // but setting it requires setting mFont.size as well.
     offsetof(nsStyleFont, mSize),
     eStyleAnimType_nscoord)
 CSS_PROP_FONT(
     font-size-adjust,
     font_size_adjust,
     FontSizeAdjust,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HON | VARIANT_SYSFONT,
     nullptr,
     offsetof(nsStyleFont, mFont.sizeAdjust),
     eStyleAnimType_float)
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     -moz-font-smoothing-background-color,
     _moz_font_smoothing_background_color,
     CSS_PROP_DOMPROP_PREFIXED(FontSmoothingBackgroundColor),
     CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_ENABLED_IN_UA_SHEETS_AND_CHROME,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleFont, mFont.fontSmoothingBackgroundColor),
     eStyleAnimType_Color)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     font-stretch,
     font_stretch,
     FontStretch,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK | VARIANT_SYSFONT,
     kFontStretchKTable,
     offsetof(nsStyleFont, mFont.stretch),
     eStyleAnimType_Custom)
 CSS_PROP_FONT(
     font-style,
     font_style,
     FontStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK | VARIANT_SYSFONT,
     kFontStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-synthesis,
     font_synthesis,
     FontSynthesis,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kFontSynthesisKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     font-variant,
     font_variant,
     FontVariant,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_FONT(
     font-variant-alternates,
     font_variant_alternates,
     FontVariantAlternates,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kFontVariantAlternatesKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-variant-caps,
     font_variant_caps,
     FontVariantCaps,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HMK,
     kFontVariantCapsKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-variant-east-asian,
     font_variant_east_asian,
     FontVariantEastAsian,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kFontVariantEastAsianKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-variant-ligatures,
     font_variant_ligatures,
     FontVariantLigatures,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kFontVariantLigaturesKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-variant-numeric,
     font_variant_numeric,
     FontVariantNumeric,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kFontVariantNumericKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-variant-position,
     font_variant_position,
     FontVariantPosition,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HMK,
     kFontVariantPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-variation-settings,
     font_variation_settings,
     FontVariationSettings,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION |
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "layout.css.font-variations.enabled",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_FONT(
     font-weight,
     font_weight,
     FontWeight,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
         // NOTE: This property has range restrictions on interpolation!
     "",
     0,
     kFontWeightKTable,
     offsetof(nsStyleFont, mFont.weight),
     eStyleAnimType_Custom)
 CSS_PROP_UIRESET(
     -moz-force-broken-image-icon,
     _moz_force_broken_image_icon,
     CSS_PROP_DOMPROP_PREFIXED(ForceBrokenImageIcon),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HI,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // bug 58646
 CSS_PROP_SHORTHAND(
     grid,
     grid,
@@ -2010,18 +1840,17 @@ CSS_PROP_SHORTHAND(
     grid_area,
     GridArea,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_POSITION(
     grid-auto-columns,
     grid_auto_columns,
     GridAutoColumns,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     kGridTrackBreadthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     grid-auto-flow,
     grid_auto_flow,
@@ -2031,18 +1860,17 @@ CSS_PROP_POSITION(
     0,
     kGridAutoFlowKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     grid-auto-rows,
     grid_auto_rows,
     GridAutoRows,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     kGridTrackBreadthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     grid-column,
     grid_column,
@@ -2058,17 +1886,17 @@ CSS_PROP_POSITION(
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     grid-column-gap,
     grid_column_gap,
     GridColumnGap,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePosition, mGridColumnGap),
     eStyleAnimType_Coord)
 CSS_PROP_POSITION(
     grid-column-start,
     grid_column_start,
@@ -2100,17 +1928,17 @@ CSS_PROP_POSITION(
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     grid-row-gap,
     grid_row_gap,
     GridRowGap,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePosition, mGridRowGap),
     eStyleAnimType_Coord)
 CSS_PROP_POSITION(
     grid-row-start,
     grid_row_start,
@@ -2137,75 +1965,68 @@ CSS_PROP_POSITION(
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     grid-template-columns,
     grid_template_columns,
     GridTemplateColumns,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC |
         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     0,
     kGridTrackBreadthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     grid-template-rows,
     grid_template_rows,
     GridTemplateRows,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC |
         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     0,
     kGridTrackBreadthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     height,
     height,
     Height,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable,
     offsetof(nsStylePosition, mHeight),
     eStyleAnimType_Coord)
 CSS_PROP_TEXT(
     hyphens,
     hyphens,
     Hyphens,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kHyphensKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXTRESET(
     initial-letter,
     initial_letter,
     InitialLetter,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "layout.css.initial-letter.enabled",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_VISIBILITY(
     image-orientation,
     image_orientation,
     ImageOrientation,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.image-orientation.enabled",
     0,
     kImageOrientationKTable,
     offsetof(nsStyleVisibility, mImageOrientation),
     eStyleAnimType_Discrete)
 CSS_PROP_LIST(
     -moz-image-region,
     _moz_image_region,
@@ -2215,51 +2036,48 @@ CSS_PROP_LIST(
     0,
     nullptr,
     offsetof(nsStyleList, mImageRegion),
     eStyleAnimType_Custom)
 CSS_PROP_VISIBILITY(
     image-rendering,
     image_rendering,
     ImageRendering,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kImageRenderingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_UIRESET(
     ime-mode,
     ime_mode,
     ImeMode,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kIMEModeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_LOGICAL(
     inline-size,
     inline_size,
     InlineSize,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     isolation,
     isolation,
     Isolation,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    0,
     "layout.css.isolation.enabled",
     VARIANT_HK,
     kIsolationKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     justify-content,
     justify_content,
@@ -2305,350 +2123,293 @@ CSS_PROP_FONT(
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_POSITION(
     left,
     left,
     Left,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePosition, mOffset),
     eStyleAnimType_Sides_Left)
 CSS_PROP_TEXT(
     letter-spacing,
     letter_spacing,
     LetterSpacing,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_HL | VARIANT_NORMAL | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleText, mLetterSpacing),
     eStyleAnimType_Coord)
 CSS_PROP_SVGRESET(
     lighting-color,
     lighting_color,
     LightingColor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleSVGReset, mLightingColor),
     eStyleAnimType_Color)
 CSS_PROP_TEXT(
     line-height,
     line_height,
     LineHeight,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLPN | VARIANT_KEYWORD | VARIANT_NORMAL | VARIANT_SYSFONT | VARIANT_CALC,
     kLineHeightKTable,
     offsetof(nsStyleText, mLineHeight),
     eStyleAnimType_Coord)
 CSS_PROP_SHORTHAND(
     list-style,
     list_style,
     ListStyle,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_LIST(
     list-style-image,
     list_style_image,
     ListStyleImage,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_START_IMAGE_LOADS,
+    0,
     "",
     VARIANT_HUO,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_LIST(
     list-style-position,
     list_style_position,
     ListStylePosition,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kListStylePositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_LIST(
     list-style-type,
     list_style_type,
     ListStyleType,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     margin,
     margin,
     Margin,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_LOGICAL(
     margin-block-end,
     margin_block_end,
     MarginBlockEnd,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Margin,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     margin-block-start,
     margin_block_start,
     MarginBlockStart,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Margin,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_MARGIN(
     margin-bottom,
     margin_bottom,
     MarginBottom,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleMargin, mMargin),
     eStyleAnimType_Sides_Bottom)
 CSS_PROP_LOGICAL(
     margin-inline-end,
     margin_inline_end,
     MarginInlineEnd,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE,
+    0,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Margin,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     margin-inline-start,
     margin_inline_start,
     MarginInlineStart,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE,
+    0,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Margin,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_MARGIN(
     margin-left,
     margin_left,
     MarginLeft,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleMargin, mMargin),
     eStyleAnimType_Sides_Left)
 CSS_PROP_MARGIN(
     margin-right,
     margin_right,
     MarginRight,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleMargin, mMargin),
     eStyleAnimType_Sides_Right)
 CSS_PROP_MARGIN(
     margin-top,
     margin_top,
     MarginTop,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_PAGE_RULE |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleMargin, mMargin),
     eStyleAnimType_Sides_Top)
 CSS_PROP_SHORTHAND(
     marker,
     marker,
     Marker,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_SVG(
     marker-end,
     marker_end,
     MarkerEnd,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HUO,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     marker-mid,
     marker_mid,
     MarkerMid,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HUO,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     marker-start,
     marker_start,
     MarkerStart,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HUO,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     mask,
     mask,
     Mask,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_SVGRESET(
     mask-clip,
     mask_clip,
     MaskClip,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kMaskClipKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVGRESET(
     mask-composite,
     mask_composite,
     MaskComposite,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kImageLayerCompositeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVGRESET(
     mask-image,
     mask_image,
     MaskImage,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_START_IMAGE_LOADS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_IMAGE, // used by list parsing
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVGRESET(
     mask-mode,
     mask_mode,
     MaskMode,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kImageLayerModeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVGRESET(
     mask-origin,
     mask_origin,
     MaskOrigin,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD, // used by list parsing
     kMaskOriginKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     mask-position,
     mask_position,
     MaskPosition,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_SVGRESET(
     mask-position-x,
     mask_position_x,
     MaskPositionX,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_STORES_CALC,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SVGRESET(
     mask-position-y,
     mask_position_y,
     MaskPositionY,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_STORES_CALC,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SVGRESET(
     mask-repeat,
     mask_repeat,
@@ -2660,42 +2421,40 @@ CSS_PROP_SVGRESET(
     kImageLayerRepeatKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVGRESET(
     mask-size,
     mask_size,
     MaskSize,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_STORES_CALC,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     0,
     kImageLayerSizeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SVGRESET(
     mask-type,
     mask_type,
     MaskType,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kMaskTypeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     -moz-math-display,
     _moz_math_display,
     MathDisplay,
     CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
-        CSS_PROPERTY_PARSE_VALUE,
+        CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "",
     VARIANT_HK,
     kMathDisplayKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_FONT(
     -moz-math-variant,
     _moz_math_variant,
@@ -2708,573 +2467,483 @@ CSS_PROP_FONT(
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_LOGICAL(
     max-block-size,
     max_block_size,
     MaxBlockSize,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLPO | VARIANT_CALC,
     nullptr,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_POSITION(
     max-height,
     max_height,
     MaxHeight,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_HKLPO | VARIANT_CALC,
     kWidthKTable,
     offsetof(nsStylePosition, mMaxHeight),
     eStyleAnimType_Coord)
 CSS_PROP_LOGICAL(
     max-inline-size,
     max_inline_size,
     MaxInlineSize,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HKLPO | VARIANT_CALC,
     kWidthKTable,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_POSITION(
     max-width,
     max_width,
     MaxWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_HKLPO | VARIANT_CALC,
     kWidthKTable,
     offsetof(nsStylePosition, mMaxWidth),
     eStyleAnimType_Coord)
 CSS_PROP_LOGICAL(
     min-block-size,
     min_block_size,
     MinBlockSize,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     -moz-min-font-size-ratio,
     _moz_min_font_size_ratio,
     CSS_PROP_DOMPROP_PREFIXED(MinFontSizeRatio),
     CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "",
     VARIANT_INHERIT | VARIANT_PERCENT,
     nullptr,
     offsetof(nsStyleFont, mMinFontSizeRatio),
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_POSITION(
     min-height,
     min_height,
     MinHeight,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable,
     offsetof(nsStylePosition, mMinHeight),
     eStyleAnimType_Coord)
 CSS_PROP_LOGICAL(
     min-inline-size,
     min_inline_size,
     MinInlineSize,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_POSITION(
     min-width,
     min_width,
     MinWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable,
     offsetof(nsStylePosition, mMinWidth),
     eStyleAnimType_Coord)
 CSS_PROP_EFFECTS(
     mix-blend-mode,
     mix_blend_mode,
     MixBlendMode,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    0,
     "layout.css.mix-blend-mode.enabled",
     VARIANT_HK,
     kBlendModeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     object-fit,
     object_fit,
     ObjectFit,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kObjectFitKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     object-position,
     object_position,
     ObjectPosition,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     VARIANT_CALC,
     kImageLayerPositionKTable,
     offsetof(nsStylePosition, mObjectPosition),
     eStyleAnimType_Custom)
 CSS_PROP_LOGICAL(
     offset-block-end,
     offset_block_end,
     OffsetBlockEnd,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     offset-block-start,
     offset_block_start,
     OffsetBlockStart,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     offset-inline-end,
     offset_inline_end,
     OffsetInlineEnd,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     offset-inline-start,
     offset_inline_start,
     OffsetInlineStart,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     Position,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_EFFECTS(
     opacity,
     opacity,
     Opacity,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_CAN_ANIMATE_ON_COMPOSITOR |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    CSS_PROPERTY_CAN_ANIMATE_ON_COMPOSITOR,
     "",
     VARIANT_HN,
     nullptr,
     offsetof(nsStyleEffects, mOpacity),
     eStyleAnimType_float)
 CSS_PROP_POSITION(
     order,
     order,
     Order,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HI,
     nullptr,
     offsetof(nsStylePosition, mOrder),
     eStyleAnimType_Custom) // <integer>
 CSS_PROP_DISPLAY(
     -moz-orient,
     _moz_orient,
     CSS_PROP_DOMPROP_PREFIXED(Orient),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kOrientKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     -moz-osx-font-smoothing,
     _moz_osx_font_smoothing,
     CSS_PROP_DOMPROP_PREFIXED(OsxFontSmoothing),
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "layout.css.osx-font-smoothing.enabled",
     VARIANT_HK,
     kFontSmoothingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     outline,
     outline,
     Outline,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_OUTLINE(
     outline-color,
     outline_color,
     OutlineColor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleOutline, mOutlineColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_OUTLINE(
     outline-offset,
     outline_offset,
     OutlineOffset,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HL | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleOutline, mOutlineOffset),
     eStyleAnimType_nscoord)
 CSS_PROP_SHORTHAND(
     -moz-outline-radius,
     _moz_outline_radius,
     CSS_PROP_DOMPROP_PREFIXED(OutlineRadius),
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_OUTLINE(
     -moz-outline-radius-bottomleft,
     _moz_outline_radius_bottomleft,
     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomleft),
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleOutline, mOutlineRadius),
     eStyleAnimType_Corner_BottomLeft)
 CSS_PROP_OUTLINE(
     -moz-outline-radius-bottomright,
     _moz_outline_radius_bottomright,
     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusBottomright),
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleOutline, mOutlineRadius),
     eStyleAnimType_Corner_BottomRight)
 CSS_PROP_OUTLINE(
     -moz-outline-radius-topleft,
     _moz_outline_radius_topleft,
     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopleft),
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleOutline, mOutlineRadius),
     eStyleAnimType_Corner_TopLeft)
 CSS_PROP_OUTLINE(
     -moz-outline-radius-topright,
     _moz_outline_radius_topright,
     CSS_PROP_DOMPROP_PREFIXED(OutlineRadiusTopright),
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "",
     0,
     nullptr,
     offsetof(nsStyleOutline, mOutlineRadius),
     eStyleAnimType_Corner_TopRight)
 CSS_PROP_OUTLINE(
     outline-style,
     outline_style,
     OutlineStyle,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kOutlineStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_OUTLINE(
     outline-width,
     outline_width,
     OutlineWidth,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     offsetof(nsStyleOutline, mOutlineWidth),
     eStyleAnimType_nscoord)
 CSS_PROP_SHORTHAND(
     overflow,
     overflow,
     Overflow,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_SHORTHAND(
     overflow-clip-box,
     overflow_clip_box,
     OverflowClipBox,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+        CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "layout.css.overflow-clip-box.enabled")
 CSS_PROP_DISPLAY(
     overflow-clip-box-block,
     overflow_clip_box_block,
     OverflowClipBoxBlock,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "layout.css.overflow-clip-box.enabled",
     VARIANT_HK,
     kOverflowClipBoxKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     overflow-clip-box-inline,
     overflow_clip_box_inline,
     OverflowClipBoxInline,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "layout.css.overflow-clip-box.enabled",
     VARIANT_HK,
     kOverflowClipBoxKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     overflow-x,
     overflow_x,
     OverflowX,
-    CSS_PROPERTY_PARSE_VALUE |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kOverflowSubKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     overflow-y,
     overflow_y,
     OverflowY,
-    CSS_PROPERTY_PARSE_VALUE |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kOverflowSubKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     padding,
     padding,
     Padding,
-    CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_LOGICAL(
     padding-block-end,
     padding_block_end,
     PaddingBlockEnd,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     Padding,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     padding-block-start,
     padding_block_start,
     PaddingBlockStart,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     Padding,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_PADDING(
     padding-bottom,
     padding_bottom,
     PaddingBottom,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePadding, mPadding),
     eStyleAnimType_Sides_Bottom)
 CSS_PROP_LOGICAL(
     padding-inline-end,
     padding_inline_end,
     PaddingInlineEnd,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     Padding,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_LOGICAL(
     padding-inline-start,
     padding_inline_start,
     PaddingInlineStart,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     Padding,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_PADDING(
     padding-left,
     padding_left,
     PaddingLeft,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePadding, mPadding),
     eStyleAnimType_Sides_Left)
 CSS_PROP_PADDING(
     padding-right,
     padding_right,
     PaddingRight,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePadding, mPadding),
     eStyleAnimType_Sides_Right)
 CSS_PROP_PADDING(
     padding-top,
     padding_top,
     PaddingTop,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePadding, mPadding),
     eStyleAnimType_Sides_Top)
 CSS_PROP_DISPLAY(
     page-break-after,
     page_break_after,
     PageBreakAfter,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kPageBreakKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // temp fix for bug 24000
 CSS_PROP_DISPLAY(
     page-break-before,
     page_break_before,
     PageBreakBefore,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kPageBreakKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // temp fix for bug 24000
 CSS_PROP_DISPLAY(
     page-break-inside,
     page_break_inside,
     PageBreakInside,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kPageBreakInsideKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     paint-order,
     paint_order,
@@ -3284,30 +2953,28 @@ CSS_PROP_SVG(
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     perspective,
     perspective,
     Perspective,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    0,
     "",
     VARIANT_NONE | VARIANT_INHERIT | VARIANT_LENGTH |
       VARIANT_NONNEGATIVE_DIMENSION,
     nullptr,
     offsetof(nsStyleDisplay, mChildPerspective),
     eStyleAnimType_Coord)
 CSS_PROP_DISPLAY(
     perspective-origin,
     perspective_origin,
     PerspectiveOrigin,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC |
         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_CALC,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SHORTHAND(
     place-content,
@@ -3326,30 +2993,27 @@ CSS_PROP_SHORTHAND(
     place_self,
     PlaceSelf,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_USERINTERFACE(
     pointer-events,
     pointer_events,
     PointerEvents,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kPointerEventsKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     position,
     position,
     Position,
-    CSS_PROPERTY_PARSE_VALUE |
-        // For position: sticky/fixed
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    0,
     "",
     VARIANT_HK,
     kPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_LIST(
     quotes,
     quotes,
@@ -3359,83 +3023,74 @@ CSS_PROP_LIST(
     VARIANT_HOS,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     resize,
     resize,
     Resize,
-    CSS_PROPERTY_PARSE_VALUE |
-        // This is allowed because the UA stylesheet sets 'resize: both;' on
-        // textarea and we need to disable this for the placeholder
-        // pseudo-element.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kResizeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     right,
     right,
     Right,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePosition, mOffset),
     eStyleAnimType_Sides_Right)
 CSS_PROP_DISPLAY(
     rotate,
     rotate,
     Rotate,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "layout.css.individual-transform.enabled",
     0,
     nullptr,
     offsetof(nsStyleDisplay, mSpecifiedRotate),
     eStyleAnimType_None)
 CSS_PROP_TEXT(
     ruby-align,
     ruby_align,
     RubyAlign,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kRubyAlignKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     ruby-position,
     ruby_position,
     RubyPosition,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kRubyPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     -moz-script-level,
     _moz_script_level,
     ScriptLevel,
     // We only allow 'script-level' when unsafe rules are enabled, because
     // otherwise it could interfere with rulenode optimizations if used in
     // a non-MathML-enabled document.
     CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
-        CSS_PROPERTY_PARSE_VALUE,
+        CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "",
     // script-level can take Auto, Integer and Number values, but only Auto
     // ("increment if parent is not in displaystyle") and Integer
     // ("relative") values can be specified in a style sheet.
     VARIANT_AHI,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
@@ -3462,153 +3117,140 @@ CSS_PROP_FONT(
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_DISPLAY(
     scroll-behavior,
     scroll_behavior,
     ScrollBehavior,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.scroll-behavior.property-enabled",
     VARIANT_HK,
     kScrollBehaviorKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     overscroll-behavior,
     overscroll_behavior,
     OverscrollBehavior,
     CSS_PROPERTY_PARSE_FUNCTION,
     "layout.css.overscroll-behavior.enabled")
 CSS_PROP_DISPLAY(
     overscroll-behavior-x,
     overscroll_behavior_x,
     OverscrollBehaviorX,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.overscroll-behavior.enabled",
     VARIANT_HK,
     kOverscrollBehaviorKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     overscroll-behavior-y,
     overscroll_behavior_y,
     OverscrollBehaviorY,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.overscroll-behavior.enabled",
     VARIANT_HK,
     kOverscrollBehaviorKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     scroll-snap-coordinate,
     scroll_snap_coordinate,
     ScrollSnapCoordinate,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION |
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "layout.css.scroll-snap.enabled",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     scroll-snap-destination,
     scroll_snap_destination,
     ScrollSnapDestination,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.scroll-snap.enabled",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     scroll-snap-points-x,
     scroll_snap_points_x,
     ScrollSnapPointsX,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.scroll-snap.enabled",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     scroll-snap-points-y,
     scroll_snap_points_y,
     ScrollSnapPointsY,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.scroll-snap.enabled",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     scroll-snap-type,
     scroll_snap_type,
     ScrollSnapType,
     CSS_PROPERTY_PARSE_FUNCTION,
     "layout.css.scroll-snap.enabled")
 CSS_PROP_DISPLAY(
     scroll-snap-type-x,
     scroll_snap_type_x,
     ScrollSnapTypeX,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.scroll-snap.enabled",
     VARIANT_HK,
     kScrollSnapTypeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     scroll-snap-type-y,
     scroll_snap_type_y,
     ScrollSnapTypeY,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.scroll-snap.enabled",
     VARIANT_HK,
     kScrollSnapTypeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     shape-image-threshold,
     shape_image_threshold,
     ShapeImageThreshold,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "layout.css.shape-outside.enabled",
     VARIANT_HN,
     nullptr,
     offsetof(nsStyleDisplay, mShapeImageThreshold),
     eStyleAnimType_float)
 CSS_PROP_DISPLAY(
     shape-outside,
     shape_outside,
     ShapeOutside,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER |
-        CSS_PROPERTY_START_IMAGE_LOADS |
-        CSS_PROPERTY_LOAD_USE_CORS |
-        CSS_PROPERTY_STORES_CALC,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.shape-outside.enabled",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_SVG(
     shape-rendering,
     shape_rendering,
     ShapeRendering,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kShapeRenderingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_TABLE(
@@ -3623,37 +3265,37 @@ CSS_PROP_TABLE(
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_XUL(
     -moz-stack-sizing,
     _moz_stack_sizing,
     CSS_PROP_DOMPROP_PREFIXED(StackSizing),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kStackSizingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVGRESET(
     stop-color,
     stop_color,
     StopColor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleSVGReset, mStopColor),
     eStyleAnimType_Color)
 CSS_PROP_SVGRESET(
     stop-opacity,
     stop_opacity,
     StopOpacity,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HN,
     nullptr,
     offsetof(nsStyleSVGReset, mStopOpacity),
     eStyleAnimType_float)
 CSS_PROP_SVG(
     stroke,
     stroke,
@@ -3664,386 +3306,354 @@ CSS_PROP_SVG(
     kContextPatternKTable,
     offsetof(nsStyleSVG, mStroke),
     eStyleAnimType_PaintServer)
 CSS_PROP_SVG(
     stroke-dasharray,
     stroke_dasharray,
     StrokeDasharray,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
-        CSS_PROPERTY_NUMBERS_ARE_PIXELS,
+        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
         // NOTE: Internal values have range restrictions.
     "",
     0,
     kStrokeContextValueKTable,
     CSS_PROP_NO_OFFSET, /* property stored in 2 separate members */
     eStyleAnimType_Custom)
 CSS_PROP_SVG(
     stroke-dashoffset,
     stroke_dashoffset,
     StrokeDashoffset,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_NUMBERS_ARE_PIXELS,
+    0,
     "",
     VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD,
     kStrokeContextValueKTable,
     offsetof(nsStyleSVG, mStrokeDashoffset),
     eStyleAnimType_Coord)
 CSS_PROP_SVG(
     stroke-linecap,
     stroke_linecap,
     StrokeLinecap,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kStrokeLinecapKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     stroke-linejoin,
     stroke_linejoin,
     StrokeLinejoin,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kStrokeLinejoinKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     stroke-miterlimit,
     stroke_miterlimit,
     StrokeMiterlimit,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HN,
     nullptr,
     offsetof(nsStyleSVG, mStrokeMiterlimit),
     eStyleAnimType_float)
 CSS_PROP_SVG(
     stroke-opacity,
     stroke_opacity,
     StrokeOpacity,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HN | VARIANT_KEYWORD,
     kContextOpacityKTable,
     offsetof(nsStyleSVG, mStrokeOpacity),
     eStyleAnimType_float)
 CSS_PROP_SVG(
     stroke-width,
     stroke_width,
     StrokeWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_NUMBERS_ARE_PIXELS,
+    0,
     "",
     VARIANT_HLPN | VARIANT_OPENTYPE_SVG_KEYWORD,
     kStrokeContextValueKTable,
     offsetof(nsStyleSVG, mStrokeWidth),
     eStyleAnimType_Coord)
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     -x-system-font,
     _x_system_font,
     CSS_PROP_DOMPROP_PREFIXED(SystemFont),
     CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_PARSE_INACCESSIBLE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+        CSS_PROPERTY_PARSE_INACCESSIBLE,
     "",
     0,
     kFontKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_TEXT(
     -moz-tab-size,
     _moz_tab_size,
     CSS_PROP_DOMPROP_PREFIXED(TabSize),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_INHERIT | VARIANT_LNCALC,
     nullptr,
     offsetof(nsStyleText, mTabSize),
     eStyleAnimType_Coord)
 CSS_PROP_TABLE(
     table-layout,
     table_layout,
     TableLayout,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kTableLayoutKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-align,
     text_align,
     TextAlign,
-    CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-      CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     // When we support aligning on a string, we can parse text-align
     // as a string....
     VARIANT_HK /* | VARIANT_STRING */,
     kTextAlignKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-align-last,
     text_align_last,
     TextAlignLast,
-    CSS_PROPERTY_PARSE_VALUE | CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     VARIANT_HK,
     kTextAlignLastKTable,
     offsetof(nsStyleText, mTextAlignLast),
     eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     text-anchor,
     text_anchor,
     TextAnchor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kTextAnchorKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-combine-upright,
     text_combine_upright,
     TextCombineUpright,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.text-combine-upright.enabled",
     0,
     kTextCombineUprightKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     text-decoration,
     text_decoration,
     TextDecoration,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_TEXTRESET(
     text-decoration-color,
     text_decoration_color,
     TextDecorationColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleTextReset, mTextDecorationColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_TEXTRESET(
     text-decoration-line,
     text_decoration_line,
     TextDecorationLine,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kTextDecorationLineKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXTRESET(
     text-decoration-style,
     text_decoration_style,
     TextDecorationStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kTextDecorationStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     text-emphasis,
     text_emphasis,
     TextEmphasis,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_TEXT(
     text-emphasis-color,
     text_emphasis_color,
     TextEmphasisColor,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleText, mTextEmphasisColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_TEXT(
     text-emphasis-position,
     text_emphasis_position,
     TextEmphasisPosition,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kTextEmphasisPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-emphasis-style,
     text_emphasis_style,
     TextEmphasisStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     -webkit-text-fill-color,
     _webkit_text_fill_color,
     WebkitTextFillColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "layout.css.prefixes.webkit",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleText, mWebkitTextFillColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_TEXT(
     text-indent,
     text_indent,
     TextIndent,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_HLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleText, mTextIndent),
     eStyleAnimType_Coord)
 CSS_PROP_TEXT(
     text-justify,
     text_justify,
     TextJustify,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "layout.css.text-justify.enabled",
     VARIANT_HK,
     kTextJustifyKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_VISIBILITY(
     text-orientation,
     text_orientation,
     TextOrientation,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kTextOrientationKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXTRESET(
     text-overflow,
     text_overflow,
     TextOverflow,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "",
     0,
     kTextOverflowKTable,
     offsetof(nsStyleTextReset, mTextOverflow),
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-rendering,
     text_rendering,
     TextRendering,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kTextRenderingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-shadow,
     text_shadow,
     TextShadow,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
         // NOTE: some components must be nonnegative
     "",
     VARIANT_COLOR | VARIANT_LENGTH | VARIANT_CALC | VARIANT_INHERIT | VARIANT_NONE,
     nullptr,
     offsetof(nsStyleText, mTextShadow),
     eStyleAnimType_Shadow)
 CSS_PROP_TEXT(
     -moz-text-size-adjust,
     _moz_text_size_adjust,
     CSS_PROP_DOMPROP_PREFIXED(TextSizeAdjust),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kTextSizeAdjustKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     -webkit-text-stroke,
     _webkit_text_stroke,
     WebkitTextStroke,
     CSS_PROPERTY_PARSE_FUNCTION,
     "layout.css.prefixes.webkit")
 CSS_PROP_TEXT(
     -webkit-text-stroke-color,
     _webkit_text_stroke_color,
     WebkitTextStrokeColor,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "layout.css.prefixes.webkit",
     VARIANT_HC,
     nullptr,
     offsetof(nsStyleText, mWebkitTextStrokeColor),
     eStyleAnimType_ComplexColor)
 CSS_PROP_TEXT(
     -webkit-text-stroke-width,
     _webkit_text_stroke_width,
     WebkitTextStrokeWidth,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "layout.css.prefixes.webkit",
     VARIANT_HKL | VARIANT_CALC,
     kBorderWidthKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     scale,
     scale,
     Scale,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "layout.css.individual-transform.enabled",
     0,
     nullptr,
     offsetof(nsStyleDisplay, mSpecifiedScale),
     eStyleAnimType_None)
 CSS_PROP_TEXT(
     text-transform,
     text_transform,
     TextTransform,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kTextTransformKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
@@ -4058,119 +3668,109 @@ CSS_PROP_FONT(
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_POSITION(
     top,
     top,
     Top,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHLP | VARIANT_CALC,
     nullptr,
     offsetof(nsStylePosition, mOffset),
     eStyleAnimType_Sides_Top)
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_DISPLAY(
     -moz-top-layer,
     _moz_top_layer,
     CSS_PROP_DOMPROP_PREFIXED(TopLayer),
     CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "",
     VARIANT_HK,
     kTopLayerKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_DISPLAY(
     touch-action,
     touch_action,
     TouchAction,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_VALUE_PARSER_FUNCTION,
+    CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.touch_action.enabled",
     VARIANT_HK,
     kTouchActionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     transform,
     transform,
     Transform,
     CSS_PROPERTY_PARSE_FUNCTION |
         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT |
         CSS_PROPERTY_CAN_ANIMATE_ON_COMPOSITOR,
     "",
     0,
     nullptr,
     offsetof(nsStyleDisplay, mSpecifiedTransform),
     eStyleAnimType_Custom)
 CSS_PROP_DISPLAY(
     transform-box,
     transform_box,
     TransformBox,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "svg.transform-box.enabled",
     VARIANT_HK,
     kTransformBoxKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     transform-origin,
     transform_origin,
     TransformOrigin,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC |
         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 CSS_PROP_DISPLAY(
     transform-style,
     transform_style,
     TransformStyle,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    0,
     "",
     VARIANT_HK,
     kTransformStyleKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     transition,
     transition,
     Transition,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_DISPLAY(
     transition-delay,
     transition_delay,
     TransitionDelay,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
         CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_TIME, // used by list parsing
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     transition-duration,
     transition_duration,
     TransitionDuration,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_TIME | VARIANT_NONNEGATIVE_DIMENSION, // used by list parsing
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     transition-property,
     transition_property,
@@ -4181,144 +3781,133 @@ CSS_PROP_DISPLAY(
     VARIANT_IDENTIFIER | VARIANT_NONE | VARIANT_ALL, // used only in shorthand
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     transition-timing-function,
     transition_timing_function,
     TransitionTimingFunction,
-    CSS_PROPERTY_PARSE_VALUE_LIST |
-        CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
+    CSS_PROPERTY_VALUE_LIST_USES_COMMAS,
     "",
     VARIANT_KEYWORD | VARIANT_TIMING_FUNCTION, // used by list parsing
     kTransitionTimingFunctionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_DISPLAY(
     translate,
     translate,
     Translate,
     CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "layout.css.individual-transform.enabled",
     0,
     nullptr,
     offsetof(nsStyleDisplay, mSpecifiedTranslate),
     eStyleAnimType_None)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_TEXTRESET(
     unicode-bidi,
     unicode_bidi,
     UnicodeBidi,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kUnicodeBidiKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #endif // CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 CSS_PROP_USERINTERFACE(
     -moz-user-focus,
     _moz_user_focus,
     CSS_PROP_DOMPROP_PREFIXED(UserFocus),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kUserFocusKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_USERINTERFACE(
     -moz-user-input,
     _moz_user_input,
     CSS_PROP_DOMPROP_PREFIXED(UserInput),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kUserInputKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX ??? // XXX bug 3935
 CSS_PROP_USERINTERFACE(
     -moz-user-modify,
     _moz_user_modify,
     CSS_PROP_DOMPROP_PREFIXED(UserModify),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kUserModifyKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_UIRESET(
     -moz-user-select,
     _moz_user_select,
     CSS_PROP_DOMPROP_PREFIXED(UserSelect),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kUserSelectKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete) // XXX bug 3935
 CSS_PROP_SVGRESET(
     vector-effect,
     vector_effect,
     VectorEffect,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kVectorEffectKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 // NOTE: vertical-align is only supposed to apply to :first-letter when
 // 'float' is 'none', but we don't worry about that since it has no
 // effect otherwise
 CSS_PROP_DISPLAY(
     vertical-align,
     vertical_align,
     VerticalAlign,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK,
+    0,
     "",
     VARIANT_HKLP | VARIANT_CALC,
     kVerticalAlignKTable,
     offsetof(nsStyleDisplay, mVerticalAlign),
     eStyleAnimType_Coord)
 CSS_PROP_VISIBILITY(
     visibility,
     visibility,
     Visibility,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kVisibilityKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)  // reflow for collapse
 CSS_PROP_TEXT(
     white-space,
     white_space,
     WhiteSpace,
-    CSS_PROPERTY_PARSE_VALUE |
-        // This is required by the UA stylesheet and can't be overridden.
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
+    0,
     "",
     VARIANT_HK,
     kWhitespaceKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     width,
     width,
     Width,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_STORES_CALC |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
+    CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     VARIANT_AHKLP | VARIANT_CALC,
     kWidthKTable,
     offsetof(nsStylePosition, mWidth),
     eStyleAnimType_Coord)
 CSS_PROP_DISPLAY(
     will-change,
     will_change,
@@ -4329,40 +3918,39 @@ CSS_PROP_DISPLAY(
     0,
     nullptr,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_UIRESET(
     -moz-window-dragging,
     _moz_window_dragging,
     CSS_PROP_DOMPROP_PREFIXED(WindowDragging),
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kWindowDraggingKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_UIRESET(
     -moz-window-shadow,
     _moz_window_shadow,
     CSS_PROP_DOMPROP_PREFIXED(WindowShadow),
     CSS_PROPERTY_INTERNAL |
-        CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_ENABLED_IN_UA_SHEETS_AND_CHROME,
     "",
     VARIANT_HK,
     kWindowShadowKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_UIRESET(
     -moz-window-opacity,
     _moz_window_opacity,
     CSS_PROP_DOMPROP_PREFIXED(WindowOpacity),
-    CSS_PROPERTY_INTERNAL | CSS_PROPERTY_PARSE_VALUE,
+    CSS_PROPERTY_INTERNAL | 0,
     "",
     VARIANT_HN,
     nullptr,
     offsetof(nsStyleUIReset, mWindowOpacity),
     eStyleAnimType_float)
 CSS_PROP_UIRESET(
     -moz-window-transform,
     _moz_window_transform,
@@ -4376,74 +3964,68 @@ CSS_PROP_UIRESET(
     offsetof(nsStyleUIReset, mSpecifiedWindowTransform),
     eStyleAnimType_Custom)
 CSS_PROP_UIRESET(
     -moz-window-transform-origin,
     _moz_window_transform_origin,
     CSS_PROP_DOMPROP_PREFIXED(WindowTransformOrigin),
     CSS_PROPERTY_INTERNAL |
         CSS_PROPERTY_PARSE_FUNCTION |
-        CSS_PROPERTY_STORES_CALC |
         CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH,
     "",
     0,
     kImageLayerPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Custom)
 #endif // CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_TEXT(
     word-break,
     word_break,
     WordBreak,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kWordBreakKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     word-spacing,
     word_spacing,
     WordSpacing,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
-        CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
-        CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
-        CSS_PROPERTY_STORES_CALC,
+    0,
     "",
     VARIANT_HLP | VARIANT_NORMAL | VARIANT_CALC,
     nullptr,
     offsetof(nsStyleText, mWordSpacing),
     eStyleAnimType_Coord)
 CSS_PROP_TEXT(
     overflow-wrap,
     overflow_wrap,
     OverflowWrap,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kOverflowWrapKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_VISIBILITY(
     writing-mode,
     writing_mode,
     WritingMode,
-    CSS_PROPERTY_PARSE_VALUE,
+    0,
     "",
     VARIANT_HK,
     kWritingModeKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     z-index,
     z_index,
     ZIndex,
-    CSS_PROPERTY_PARSE_VALUE |
-        CSS_PROPERTY_CREATES_STACKING_CONTEXT,
+    0,
     "",
     VARIANT_AHI,
     nullptr,
     offsetof(nsStylePosition, mZIndex),
     eStyleAnimType_Coord)
 
 #ifdef USED_CSS_PROP
 
--- a/layout/style/nsCSSProps.h
+++ b/layout/style/nsCSSProps.h
@@ -121,85 +121,36 @@
 #define VARIANT_LPNCALC (VARIANT_LNCALC | VARIANT_PERCENT)
 #define VARIANT_IMAGE   (VARIANT_URL | VARIANT_NONE | VARIANT_GRADIENT | \
                         VARIANT_IMAGE_RECT | VARIANT_ELEMENT)
 
 // Flags for the kFlagsTable bitfield (flags_ in nsCSSPropList.h)
 
 #define CSS_PROPERTY_VALUE_LIST_USES_COMMAS       (1<<1) /* otherwise spaces */
 
-#define CSS_PROPERTY_APPLIES_TO_FIRST_LETTER      (1<<2)
-#define CSS_PROPERTY_APPLIES_TO_FIRST_LINE        (1<<3)
-#define CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE \
-  (CSS_PROPERTY_APPLIES_TO_FIRST_LETTER | CSS_PROPERTY_APPLIES_TO_FIRST_LINE)
-
-// A property that needs to have image loads started when a URL value
-// for the property is used for an element.  This is supported only
-// for a few possible value formats: image directly in the value; list
-// of images; and with CSS_PROPERTY_IMAGE_IS_IN_ARRAY_0, image in slot
-// 0 of an array, or list of such arrays.
-#define CSS_PROPERTY_START_IMAGE_LOADS            (1<<5)
-
-// Should be set only for properties with START_IMAGE_LOADS.  Indicates
-// that the property has an array value with a URL/image value at index
-// 0 in the array, rather than the URL/image being in the value or value
-// list.
-#define CSS_PROPERTY_IMAGE_IS_IN_ARRAY_0          (1<<6)
-
-// This property allows calc() between lengths and percentages and
-// stores such calc() expressions in its style structs (typically in an
-// nsStyleCoord, although this is not the case for 'background-position'
-// and 'background-size').
-#define CSS_PROPERTY_STORES_CALC                  (1<<8)
-
 // Define what mechanism the CSS parser uses for parsing the property.
 // See CSSParserImpl::ParseProperty(nsCSSPropertyID).  Don't use 0 so that
 // we can verify that every property sets one of the values.
-//
-// CSS_PROPERTY_PARSE_FUNCTION must be used for shorthand properties,
-// since it's the only mechanism that allows appending values for
-// separate properties.  Longhand properties that require custom parsing
-// functions should prefer using CSS_PROPERTY_PARSE_VALUE (or
-// CSS_PROPERTY_PARSE_VALUE_LIST) and
-// CSS_PROPERTY_VALUE_PARSER_FUNCTION, though a number of existing
-// longhand properties use CSS_PROPERTY_PARSE_FUNCTION instead.
 #define CSS_PROPERTY_PARSE_PROPERTY_MASK          (7<<9)
 #define CSS_PROPERTY_PARSE_INACCESSIBLE           (1<<9)
 #define CSS_PROPERTY_PARSE_FUNCTION               (2<<9)
-#define CSS_PROPERTY_PARSE_VALUE                  (3<<9)
-#define CSS_PROPERTY_PARSE_VALUE_LIST             (4<<9)
 
 // See CSSParserImpl::ParseSingleValueProperty and comment above
 // CSS_PROPERTY_PARSE_FUNCTION (which is different).
 #define CSS_PROPERTY_VALUE_PARSER_FUNCTION        (1<<12)
 static_assert((CSS_PROPERTY_PARSE_PROPERTY_MASK &
                CSS_PROPERTY_VALUE_PARSER_FUNCTION) == 0,
               "didn't leave enough room for the parse property constants");
 
-// Does this property support the hashless hex color quirk in quirks mode?
-#define CSS_PROPERTY_HASHLESS_COLOR_QUIRK         (1<<15)
-
-// Does this property support the unitless length quirk in quirks mode?
-#define CSS_PROPERTY_UNITLESS_LENGTH_QUIRK        (1<<16)
-
 // There's a free bit here.
 
-// Does the property apply to ::placeholder?
-#define CSS_PROPERTY_APPLIES_TO_PLACEHOLDER       (1<<18)
-
-// This property is allowed in an @page rule.
-#define CSS_PROPERTY_APPLIES_TO_PAGE_RULE         (1<<19)
-
 // This property's getComputedStyle implementation requires layout to be
 // flushed.
 #define CSS_PROPERTY_GETCS_NEEDS_LAYOUT_FLUSH     (1<<20)
 
-// This property requires a stacking context.
-#define CSS_PROPERTY_CREATES_STACKING_CONTEXT     (1<<21)
-
 // The following two flags along with the pref defines where the this
 // property can be used:
 // * If none of the two flags is presented, the pref completely controls
 //   the availability of this property. And in that case, if it has no
 //   pref, this property is usable everywhere.
 // * If any of the flags is set, this property is always enabled in the
 //   specific contexts regardless of the value of the pref. If there is
 //   no pref for this property at all in this case, it is an internal-
@@ -212,32 +163,24 @@ static_assert((CSS_PROPERTY_PARSE_PROPER
 // by a pref, we will *not* run animations or transitions on it even in
 // UA sheets or chrome.
 #define CSS_PROPERTY_ENABLED_MASK                 (3<<22)
 #define CSS_PROPERTY_ENABLED_IN_UA_SHEETS         (1<<22)
 #define CSS_PROPERTY_ENABLED_IN_CHROME            (1<<23)
 #define CSS_PROPERTY_ENABLED_IN_UA_SHEETS_AND_CHROME \
   (CSS_PROPERTY_ENABLED_IN_UA_SHEETS | CSS_PROPERTY_ENABLED_IN_CHROME)
 
-// This property's unitless values are pixels.
-#define CSS_PROPERTY_NUMBERS_ARE_PIXELS           (1<<24)
-
 // This property can be animated on the compositor.
 #define CSS_PROPERTY_CAN_ANIMATE_ON_COMPOSITOR    (1<<27)
 
 // This property is an internal property that is not represented
 // in the DOM.  Properties with this flag must be defined in an #ifndef
 // CSS_PROP_LIST_EXCLUDE_INTERNAL section of nsCSSPropList.h.
 #define CSS_PROPERTY_INTERNAL                     (1<<28)
 
-// This property should add Cross Origin Request headers to any loads
-// that it triggers. Currently this is only used for properties that
-// also use CSS_PROPERTY_START_IMAGE_LOADS.
-#define CSS_PROPERTY_LOAD_USE_CORS                (1U<<31)
-
 /**
  * Types of animatable values.
  */
 enum nsStyleAnimType {
   // requires a custom implementation in
   // StyleAnimationValue::ExtractComputedValue
   eStyleAnimType_Custom,