Port the remaining CSS properties to CSSPropertyID

CSSPropertyID was changed to an scoped enum in
https://crrev.com/c/1520674, and equivalent int variables were
introduced while the remaining uses were ported.  This CL ports all the
remaining CSS properties and removes the compatibility variables.

TBR=bmcquade@chromium.org

Bug: 936369
Change-Id: I3617c5ea2f30eb2e2a5181caac28032e826d2d0e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1530870
Commit-Queue: Henrique Ferreiro <hferreiro@igalia.com>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#643715}
diff --git a/chrome/browser/page_load_metrics/observers/use_counter_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/use_counter_page_load_metrics_observer_unittest.cc
index f09f905..12c2ef4 100644
--- a/chrome/browser/page_load_metrics/observers/use_counter_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/use_counter_page_load_metrics_observer_unittest.cc
@@ -169,7 +169,7 @@
 }
 
 TEST_F(UseCounterPageLoadMetricsObserverTest, RecordCSSProperties) {
-  // CSSPropertyFont (5), CSSPropertyZoom (19)
+  // CSSPropertyID::kFont (5), CSSPropertyID::kZoom (19)
   page_load_metrics::mojom::PageLoadFeatures page_load_features_0;
   page_load_metrics::mojom::PageLoadFeatures page_load_features_1;
   page_load_features_0.css_properties = {5, 19};
@@ -178,7 +178,7 @@
 }
 
 TEST_F(UseCounterPageLoadMetricsObserverTest, RecordAnimatedCSSProperties) {
-  // CSSPropertyFont (5), CSSPropertyZoom (19)
+  // CSSPropertyID::kFont (5), CSSPropertyID::kZoom (19)
   page_load_metrics::mojom::PageLoadFeatures page_load_features_0;
   page_load_metrics::mojom::PageLoadFeatures page_load_features_1;
   page_load_features_0.css_properties = {5, 19};
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
index dc490b2..06c7c25 100644
--- a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
+++ b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
@@ -1157,10 +1157,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyFontFamily
+  // CSSPropertyID::kFontFamily
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 6,
                                       1);
-  // CSSPropertyFontSize
+  // CSSPropertyID::kFontSize
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 7,
                                       1);
   histogram_tester_.ExpectBucketCount(
@@ -1180,10 +1180,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyWidth
+  // CSSPropertyID::kWidth
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 161, 1);
-  // CSSPropertyMarginLeft
+  // CSSPropertyID::kMarginLeft
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 91, 1);
   histogram_tester_.ExpectBucketCount(
@@ -1245,10 +1245,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyFontFamily
+  // CSSPropertyID::kFontFamily
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 6,
                                       1);
-  // CSSPropertyFontSize
+  // CSSPropertyID::kFontSize
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 7,
                                       1);
   histogram_tester_.ExpectBucketCount(
@@ -1276,10 +1276,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyWidth
+  // CSSPropertyID::kWidth
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 161, 1);
-  // CSSPropertyMarginLeft
+  // CSSPropertyID::kMarginLeft
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 91, 1);
   histogram_tester_.ExpectBucketCount(
@@ -1518,10 +1518,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyFontFamily
+  // CSSPropertyID::kFontFamily
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 6,
                                       1);
-  // CSSPropertyFontSize
+  // CSSPropertyID::kFontSize
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 7,
                                       1);
   histogram_tester_.ExpectBucketCount(
@@ -1544,10 +1544,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyFontFamily
+  // CSSPropertyID::kFontFamily
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 6,
                                       1);
-  // CSSPropertyFontSize
+  // CSSPropertyID::kFontSize
   histogram_tester_.ExpectBucketCount(internal::kCssPropertiesHistogramName, 7,
                                       1);
   histogram_tester_.ExpectBucketCount(
@@ -1569,10 +1569,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyWidth
+  // CSSPropertyID::kWidth
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 161, 1);
-  // CSSPropertyMarginLeft
+  // CSSPropertyID::kMarginLeft
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 91, 1);
   histogram_tester_.ExpectBucketCount(
@@ -1595,10 +1595,10 @@
   waiter->Wait();
   NavigateToUntrackedUrl();
 
-  // CSSPropertyWidth
+  // CSSPropertyID::kWidth
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 161, 1);
-  // CSSPropertyMarginLeft
+  // CSSPropertyID::kMarginLeft
   histogram_tester_.ExpectBucketCount(
       internal::kAnimatedCssPropertiesHistogramName, 91, 1);
   histogram_tester_.ExpectBucketCount(
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_object_parser.cc b/third_party/blink/renderer/bindings/core/v8/v8_object_parser.cc
index 15fcda9a..5a4f69a9 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_object_parser.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_object_parser.cc
@@ -134,9 +134,9 @@
 
     for (const auto& property : properties) {
       CSSPropertyID property_id = cssPropertyID(property);
-      if (property_id == CSSPropertyVariable) {
+      if (property_id == CSSPropertyID::kVariable) {
         custom_properties->push_back(std::move(property));
-      } else if (property_id != CSSPropertyInvalid) {
+      } else if (property_id != CSSPropertyID::kInvalid) {
         native_properties->push_back(std::move(property_id));
       }
     }
diff --git a/third_party/blink/renderer/build/scripts/core/css/css_properties.py b/third_party/blink/renderer/build/scripts/core/css/css_properties.py
index 78a704a..aaf60b6 100755
--- a/third_party/blink/renderer/build/scripts/core/css/css_properties.py
+++ b/third_party/blink/renderer/build/scripts/core/css/css_properties.py
@@ -65,8 +65,8 @@
         # CSSPropertyValueMetadata assumes that there are at most 1024
         # properties + aliases.
         self._alias_offset = 512
-        # 0: CSSPropertyInvalid
-        # 1: CSSPropertyVariable
+        # 0: CSSPropertyID::kInvalid
+        # 1: CSSPropertyID::kVariable
         self._first_enum_value = 2
         self._last_used_enum_value = self._first_enum_value
 
diff --git a/third_party/blink/renderer/build/scripts/core/css/make_css_property_names.py b/third_party/blink/renderer/build/scripts/core/css/make_css_property_names.py
index c0dddb4..4bd259b0 100755
--- a/third_party/blink/renderer/build/scripts/core/css/make_css_property_names.py
+++ b/third_party/blink/renderer/build/scripts/core/css/make_css_property_names.py
@@ -21,10 +21,6 @@
     def _enum_declaration(self, property_):
         return "    %(enum_key)s = %(enum_value)s," % property_
 
-    def _unscoped_enum_declaration_compat(self, property_):
-        return "constexpr CSSPropertyID %(property_id)s = " \
-            "CSSPropertyID::%(enum_key)s;" % property_
-
     def _array_item(self, property_):
         return "    static_cast<CSSPropertyID>(%(enum_value)s), " \
             "// %(property_id)s" % property_
@@ -37,9 +33,6 @@
             'property_enums': "\n".join(map(
                 self._enum_declaration,
                 self._css_properties.properties_including_aliases)),
-            'property_enums_compat': "\n".join(map(
-                self._unscoped_enum_declaration_compat,
-                self._css_properties.properties_including_aliases)),
             'property_aliases': "\n".join(
                 map(self._array_item, self._css_properties.aliases)),
             'first_property_id': self._css_properties.first_property_id,
diff --git a/third_party/blink/renderer/build/scripts/core/css/parser/templates/at_rule_descriptors.cc.tmpl b/third_party/blink/renderer/build/scripts/core/css/parser/templates/at_rule_descriptors.cc.tmpl
index fdceebe..e005213 100644
--- a/third_party/blink/renderer/build/scripts/core/css/parser/templates/at_rule_descriptors.cc.tmpl
+++ b/third_party/blink/renderer/build/scripts/core/css/parser/templates/at_rule_descriptors.cc.tmpl
@@ -89,7 +89,7 @@
 {% endfor %}
   default:
     NOTREACHED();
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   }
 }
 
diff --git a/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_property_instances.cc.tmpl b/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_property_instances.cc.tmpl
index 9701c2c7..7d17fba 100644
--- a/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_property_instances.cc.tmpl
+++ b/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_property_instances.cc.tmpl
@@ -51,15 +51,15 @@
 }
 
 const CSSUnresolvedProperty& GetNonAliasPropertyInternal(CSSPropertyID id) {
-  DCHECK_NE(id, CSSPropertyInvalid);
-  DCHECK_NE(id, CSSPropertyVariable);
+  DCHECK_NE(id, CSSPropertyID::kInvalid);
+  DCHECK_NE(id, CSSPropertyID::kVariable);
   DCHECK_LE(id, lastCSSProperty);  // last property id
   static constexpr const CSSUnresolvedProperty* const property_classes[] = {
     {% for property_class_data in property_classes_by_property_id %}
     &property_{{property_class_data.property_id.lower()}},  // {{property_class_data.property_id}}
     {% endfor %}
   };
-  // Subtract 2 because CSSPropertyInvalid and CSSPropertyVariable do not
+  // Subtract 2 because CSSPropertyID::kInvalid and CSSPropertyID::kVariable do not
   // appear in the array.
   return *property_classes[static_cast<int>(id) - 2];
 }
diff --git a/third_party/blink/renderer/build/scripts/core/css/templates/css_property_names.h.tmpl b/third_party/blink/renderer/build/scripts/core/css/templates/css_property_names.h.tmpl
index 02afa72..ba93e6f 100644
--- a/third_party/blink/renderer/build/scripts/core/css/templates/css_property_names.h.tmpl
+++ b/third_party/blink/renderer/build/scripts/core/css/templates/css_property_names.h.tmpl
@@ -21,10 +21,6 @@
 {{property_enums}}
 };
 
-constexpr CSSPropertyID CSSPropertyInvalid = CSSPropertyID::kInvalid;
-constexpr CSSPropertyID CSSPropertyVariable = CSSPropertyID::kVariable;
-{{property_enums_compat}}
-
 const CSSPropertyID kCSSPropertyAliasList[] = {
 {{property_aliases}}
 };
@@ -51,7 +47,7 @@
 
 inline bool isValidCSSPropertyID(CSSPropertyID id)
 {
-    return id != CSSPropertyInvalid;
+    return id != CSSPropertyID::kInvalid;
 }
 
 inline CSSPropertyID convertToCSSPropertyID(int value)
diff --git a/third_party/blink/renderer/build/scripts/core/css/templates/cssom_types.cc.tmpl b/third_party/blink/renderer/build/scripts/core/css/templates/cssom_types.cc.tmpl
index 1e9ebf9..0439925 100644
--- a/third_party/blink/renderer/build/scripts/core/css/templates/cssom_types.cc.tmpl
+++ b/third_party/blink/renderer/build/scripts/core/css/templates/cssom_types.cc.tmpl
@@ -81,7 +81,7 @@
 
 bool CSSOMTypes::IsPropertySupported(CSSPropertyID id) {
   switch (id) {
-    case CSSPropertyVariable:
+    case CSSPropertyID::kVariable:
   {% for property in properties if property.typedom_types %}
     case CSSPropertyID::{{property.enum_key}}:
   {% endfor %}
@@ -96,9 +96,9 @@
                                  const PropertyRegistration* registration,
                                  const CSSStyleValue& value,
                                  const CSSSyntaxComponent*& match) {
-  DCHECK_EQ(id == CSSPropertyVariable, !custom_property_name.IsNull());
+  DCHECK_EQ(id == CSSPropertyID::kVariable, !custom_property_name.IsNull());
 
-  if (id == CSSPropertyVariable && registration) {
+  if (id == CSSPropertyID::kVariable && registration) {
     if (auto* unsupported_style_value =
             DynamicTo<CSSUnsupportedStyleValue>(value)) {
       return unsupported_style_value->IsValidFor(
@@ -120,7 +120,7 @@
   }
 
   switch (id) {
-    case CSSPropertyVariable:
+    case CSSPropertyID::kVariable:
       return value.GetType() == CSSStyleValue::kUnparsedType;
     {% for property in properties if property.typedom_types %}
     {% if property.typedom_types != ['Keyword'] %}
diff --git a/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.cc.tmpl b/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.cc.tmpl
index bb9c2205b..b0f9d98e 100644
--- a/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.cc.tmpl
+++ b/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.cc.tmpl
@@ -54,7 +54,7 @@
     &GetCSSPropertyOffsetDistance(),
     &GetCSSPropertyOffsetRotate(),
   };
-  DEFINE_STATIC_LOCAL(StylePropertyShorthand, offsetLonghands, (CSSPropertyOffset, offsetProperties, base::size(offsetProperties)));
+  DEFINE_STATIC_LOCAL(StylePropertyShorthand, offsetLonghands, (CSSPropertyID::kOffset, offsetProperties, base::size(offsetProperties)));
   return offsetLonghands;
 }
 
@@ -63,7 +63,7 @@
   // FIXME: We shouldn't switch between shorthand/not shorthand based on a runtime flag
   static StylePropertyShorthand emptyShorthand;
 
-  if (propertyID == CSSPropertyOffset &&
+  if (propertyID == CSSPropertyID::kOffset &&
       !RuntimeEnabledFeatures::CSSOffsetPositionAnchorEnabled())
     return offsetShorthandWithoutPositionAnchor();
   switch (propertyID) {
diff --git a/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.h.tmpl b/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.h.tmpl
index 245cab6..52ad7d9 100644
--- a/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.h.tmpl
+++ b/third_party/blink/renderer/build/scripts/core/css/templates/style_property_shorthand.h.tmpl
@@ -37,7 +37,7 @@
   constexpr StylePropertyShorthand()
       : properties_(0),
         length_(0),
-        shorthand_id_(CSSPropertyInvalid) {}
+        shorthand_id_(CSSPropertyID::kInvalid) {}
 
   constexpr StylePropertyShorthand(CSSPropertyID id,
                                    const CSSProperty** properties,
diff --git a/third_party/blink/renderer/core/accessibility/apply_dark_mode_test.cc b/third_party/blink/renderer/core/accessibility/apply_dark_mode_test.cc
index 962980b..921e26d 100644
--- a/third_party/blink/renderer/core/accessibility/apply_dark_mode_test.cc
+++ b/third_party/blink/renderer/core/accessibility/apply_dark_mode_test.cc
@@ -15,7 +15,7 @@
 using ApplyDarkModeCheckTest = RenderingTest;
 
 TEST_F(ApplyDarkModeCheckTest, LightSolidBackgroundAlwaysFiltered) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyBackgroundColor,
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kBackgroundColor,
                                                CSSValueWhite);
   UpdateAllLifecyclePhasesForTest();
 
@@ -26,7 +26,7 @@
 }
 
 TEST_F(ApplyDarkModeCheckTest, DarkSolidBackgroundFilteredIfPolicyIsFilterAll) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyBackgroundColor,
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kBackgroundColor,
                                                CSSValueBlack);
   // TODO(https://crbug.com/925949): Set opacity the same way as the other CSS
   // properties.
@@ -40,7 +40,7 @@
 }
 
 TEST_F(ApplyDarkModeCheckTest, DarkLowOpacityBackgroundAlwaysFiltered) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyBackgroundColor,
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kBackgroundColor,
                                                CSSValueBlack);
   // TODO(https://crbug.com/925949): Set opacity the same way as the other CSS
   // properties.
@@ -54,7 +54,7 @@
 }
 
 TEST_F(ApplyDarkModeCheckTest, DarkTransparentBackgroundAlwaysFiltered) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyBackgroundColor,
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kBackgroundColor,
                                                CSSValueTransparent);
   UpdateAllLifecyclePhasesForTest();
 
@@ -65,7 +65,8 @@
 }
 
 TEST_F(ApplyDarkModeCheckTest, BackgroundColorNotDefinedAlwaysFiltered) {
-  GetDocument().body()->RemoveInlineStyleProperty(CSSPropertyBackgroundColor);
+  GetDocument().body()->RemoveInlineStyleProperty(
+      CSSPropertyID::kBackgroundColor);
   UpdateAllLifecyclePhasesForTest();
 
   EXPECT_TRUE(ShouldApplyDarkModeFilterToPage(
diff --git a/third_party/blink/renderer/core/animation/animation_input_helpers.cc b/third_party/blink/renderer/core/animation/animation_input_helpers.cc
index 76a5eb4..b9ae4d13 100644
--- a/third_party/blink/renderer/core/animation/animation_input_helpers.cc
+++ b/third_party/blink/renderer/core/animation/animation_input_helpers.cc
@@ -33,13 +33,13 @@
 }
 
 static String CSSPropertyToKeyframeAttribute(const CSSProperty& property) {
-  DCHECK_NE(property.PropertyID(), CSSPropertyInvalid);
-  DCHECK_NE(property.PropertyID(), CSSPropertyVariable);
+  DCHECK_NE(property.PropertyID(), CSSPropertyID::kInvalid);
+  DCHECK_NE(property.PropertyID(), CSSPropertyID::kVariable);
 
   switch (property.PropertyID()) {
-    case CSSPropertyFloat:
+    case CSSPropertyID::kFloat:
       return "cssFloat";
-    case CSSPropertyOffset:
+    case CSSPropertyID::kOffset:
       return "cssOffset";
     default:
       return property.GetJSPropertyName();
@@ -58,23 +58,23 @@
     const String& property,
     const Document& document) {
   if (CSSVariableParser::IsValidVariableName(property))
-    return CSSPropertyVariable;
+    return CSSPropertyID::kVariable;
 
   // Disallow prefixed properties.
   if (property[0] == '-')
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   if (IsASCIIUpper(property[0]))
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   if (property == "cssFloat")
-    return CSSPropertyFloat;
+    return CSSPropertyID::kFloat;
   if (property == "cssOffset")
-    return CSSPropertyOffset;
+    return CSSPropertyID::kOffset;
 
   StringBuilder builder;
   for (wtf_size_t i = 0; i < property.length(); ++i) {
     // Disallow hyphenated properties.
     if (property[i] == '-')
-      return CSSPropertyInvalid;
+      return CSSPropertyID::kInvalid;
     if (IsASCIIUpper(property[i]))
       builder.Append('-');
     builder.Append(property[i]);
@@ -87,14 +87,14 @@
     const Element* element) {
   if (!RuntimeEnabledFeatures::WebAnimationsSVGEnabled() || !element ||
       !element->IsSVGElement() || !IsSVGPrefixed(property))
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
 
   String unprefixed_property = RemoveSVGPrefix(property);
   if (SVGElement::IsAnimatableCSSProperty(QualifiedName(
           g_null_atom, AtomicString(unprefixed_property), g_null_atom)))
     return cssPropertyID(unprefixed_property);
 
-  return CSSPropertyInvalid;
+  return CSSPropertyID::kInvalid;
 }
 
 using AttributeNameMap = HashMap<QualifiedName, const QualifiedName*>;
@@ -250,9 +250,9 @@
   SecureContextMode secure_context_mode =
       document ? document->GetSecureContextMode()
                : SecureContextMode::kInsecureContext;
-  const CSSValue* value =
-      CSSParser::ParseSingleValue(CSSPropertyTransitionTimingFunction, string,
-                                  StrictCSSParserContext(secure_context_mode));
+  const CSSValue* value = CSSParser::ParseSingleValue(
+      CSSPropertyID::kTransitionTimingFunction, string,
+      StrictCSSParserContext(secure_context_mode));
   const auto* value_list = DynamicTo<CSSValueList>(value);
   if (!value_list) {
     DCHECK(!value || value->IsCSSWideKeyword());
diff --git a/third_party/blink/renderer/core/animation/animation_input_helpers_test.cc b/third_party/blink/renderer/core/animation/animation_input_helpers_test.cc
index da17998..4ba1a14e 100644
--- a/third_party/blink/renderer/core/animation/animation_input_helpers_test.cc
+++ b/third_party/blink/renderer/core/animation/animation_input_helpers_test.cc
@@ -80,40 +80,41 @@
 };
 
 TEST_F(AnimationAnimationInputHelpersTest, ParseKeyframePropertyAttributes) {
-  EXPECT_EQ(CSSPropertyLineHeight,
+  EXPECT_EQ(CSSPropertyID::kLineHeight,
             KeyframeAttributeToCSSProperty("lineHeight"));
-  EXPECT_EQ(CSSPropertyBorderTopWidth,
+  EXPECT_EQ(CSSPropertyID::kBorderTopWidth,
             KeyframeAttributeToCSSProperty("borderTopWidth"));
-  EXPECT_EQ(CSSPropertyWidth, KeyframeAttributeToCSSProperty("width"));
-  EXPECT_EQ(CSSPropertyFloat, KeyframeAttributeToCSSProperty("float"));
-  EXPECT_EQ(CSSPropertyFloat, KeyframeAttributeToCSSProperty("cssFloat"));
-  EXPECT_EQ(CSSPropertyVariable, KeyframeAttributeToCSSProperty("--"));
-  EXPECT_EQ(CSSPropertyVariable, KeyframeAttributeToCSSProperty("---"));
-  EXPECT_EQ(CSSPropertyVariable, KeyframeAttributeToCSSProperty("--x"));
-  EXPECT_EQ(CSSPropertyVariable,
+  EXPECT_EQ(CSSPropertyID::kWidth, KeyframeAttributeToCSSProperty("width"));
+  EXPECT_EQ(CSSPropertyID::kFloat, KeyframeAttributeToCSSProperty("float"));
+  EXPECT_EQ(CSSPropertyID::kFloat, KeyframeAttributeToCSSProperty("cssFloat"));
+  EXPECT_EQ(CSSPropertyID::kVariable, KeyframeAttributeToCSSProperty("--"));
+  EXPECT_EQ(CSSPropertyID::kVariable, KeyframeAttributeToCSSProperty("---"));
+  EXPECT_EQ(CSSPropertyID::kVariable, KeyframeAttributeToCSSProperty("--x"));
+  EXPECT_EQ(CSSPropertyID::kVariable,
             KeyframeAttributeToCSSProperty("--webkit-custom-property"));
 
-  EXPECT_EQ(CSSPropertyInvalid, KeyframeAttributeToCSSProperty(""));
-  EXPECT_EQ(CSSPropertyInvalid, KeyframeAttributeToCSSProperty("-"));
-  EXPECT_EQ(CSSPropertyInvalid, KeyframeAttributeToCSSProperty("line-height"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid, KeyframeAttributeToCSSProperty(""));
+  EXPECT_EQ(CSSPropertyID::kInvalid, KeyframeAttributeToCSSProperty("-"));
+  EXPECT_EQ(CSSPropertyID::kInvalid,
+            KeyframeAttributeToCSSProperty("line-height"));
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("border-topWidth"));
-  EXPECT_EQ(CSSPropertyInvalid, KeyframeAttributeToCSSProperty("Width"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid, KeyframeAttributeToCSSProperty("Width"));
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("-epub-text-transform"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("EpubTextTransform"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("-internal-marquee-repetition"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("InternalMarqueeRepetition"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("-webkit-filter"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("-webkit-transform"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("webkitTransform"));
-  EXPECT_EQ(CSSPropertyInvalid,
+  EXPECT_EQ(CSSPropertyID::kInvalid,
             KeyframeAttributeToCSSProperty("WebkitTransform"));
 }
 
diff --git a/third_party/blink/renderer/core/animation/animation_test.cc b/third_party/blink/renderer/core/animation/animation_test.cc
index 21566523..a0b62db 100644
--- a/third_party/blink/renderer/core/animation/animation_test.cc
+++ b/third_party/blink/renderer/core/animation/animation_test.cc
@@ -116,11 +116,11 @@
     timing.iteration_duration = AnimationTimeDelta::FromSecondsD(30);
 
     Persistent<StringKeyframe> start_keyframe = StringKeyframe::Create();
-    start_keyframe->SetCSSPropertyValue(CSSPropertyOpacity, "1.0",
+    start_keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "1.0",
                                         SecureContextMode::kInsecureContext,
                                         nullptr);
     Persistent<StringKeyframe> end_keyframe = StringKeyframe::Create();
-    end_keyframe->SetCSSPropertyValue(CSSPropertyOpacity, "0.0",
+    end_keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "0.0",
                                       SecureContextMode::kInsecureContext,
                                       nullptr);
 
@@ -953,11 +953,13 @@
   // Now change the keyframes; this should mark the animation as compositor
   // pending as we need to sync the compositor side.
   Persistent<StringKeyframe> start_keyframe = StringKeyframe::Create();
-  start_keyframe->SetCSSPropertyValue(
-      CSSPropertyOpacity, "0.0", SecureContextMode::kInsecureContext, nullptr);
+  start_keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "0.0",
+                                      SecureContextMode::kInsecureContext,
+                                      nullptr);
   Persistent<StringKeyframe> end_keyframe = StringKeyframe::Create();
-  end_keyframe->SetCSSPropertyValue(
-      CSSPropertyOpacity, "1.0", SecureContextMode::kInsecureContext, nullptr);
+  end_keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "1.0",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
 
   StringKeyframeVector keyframes;
   keyframes.push_back(start_keyframe);
diff --git a/third_party/blink/renderer/core/animation/color_property_functions.cc b/third_party/blink/renderer/core/animation/color_property_functions.cc
index cc45e41..67d8cb4 100644
--- a/third_party/blink/renderer/core/animation/color_property_functions.cc
+++ b/third_party/blink/renderer/core/animation/color_property_functions.cc
@@ -17,41 +17,41 @@
     const CSSProperty& property,
     const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundColor:
+    case CSSPropertyID::kBackgroundColor:
       return style.BackgroundColor();
-    case CSSPropertyBorderLeftColor:
+    case CSSPropertyID::kBorderLeftColor:
       return style.BorderLeftColor();
-    case CSSPropertyBorderRightColor:
+    case CSSPropertyID::kBorderRightColor:
       return style.BorderRightColor();
-    case CSSPropertyBorderTopColor:
+    case CSSPropertyID::kBorderTopColor:
       return style.BorderTopColor();
-    case CSSPropertyBorderBottomColor:
+    case CSSPropertyID::kBorderBottomColor:
       return style.BorderBottomColor();
-    case CSSPropertyCaretColor:
+    case CSSPropertyID::kCaretColor:
       if (style.CaretColor().IsAutoColor())
         return nullptr;
       return style.CaretColor().ToStyleColor();
-    case CSSPropertyColor:
+    case CSSPropertyID::kColor:
       return style.GetColor();
-    case CSSPropertyOutlineColor:
+    case CSSPropertyID::kOutlineColor:
       return style.OutlineColor();
-    case CSSPropertyColumnRuleColor:
+    case CSSPropertyID::kColumnRuleColor:
       return style.ColumnRuleColor();
-    case CSSPropertyWebkitTextEmphasisColor:
+    case CSSPropertyID::kWebkitTextEmphasisColor:
       return style.TextEmphasisColor();
-    case CSSPropertyWebkitTextFillColor:
+    case CSSPropertyID::kWebkitTextFillColor:
       return style.TextFillColor();
-    case CSSPropertyWebkitTextStrokeColor:
+    case CSSPropertyID::kWebkitTextStrokeColor:
       return style.TextStrokeColor();
-    case CSSPropertyFloodColor:
+    case CSSPropertyID::kFloodColor:
       return style.FloodColor();
-    case CSSPropertyLightingColor:
+    case CSSPropertyID::kLightingColor:
       return style.LightingColor();
-    case CSSPropertyStopColor:
+    case CSSPropertyID::kStopColor:
       return style.StopColor();
-    case CSSPropertyWebkitTapHighlightColor:
+    case CSSPropertyID::kWebkitTapHighlightColor:
       return style.TapHighlightColor();
-    case CSSPropertyTextDecorationColor:
+    case CSSPropertyID::kTextDecorationColor:
       return style.TextDecorationColor();
     default:
       NOTREACHED();
@@ -63,43 +63,43 @@
     const CSSProperty& property,
     const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundColor:
+    case CSSPropertyID::kBackgroundColor:
       return style.VisitedLinkBackgroundColor();
-    case CSSPropertyBorderLeftColor:
+    case CSSPropertyID::kBorderLeftColor:
       return style.VisitedLinkBorderLeftColor();
-    case CSSPropertyBorderRightColor:
+    case CSSPropertyID::kBorderRightColor:
       return style.VisitedLinkBorderRightColor();
-    case CSSPropertyBorderTopColor:
+    case CSSPropertyID::kBorderTopColor:
       return style.VisitedLinkBorderTopColor();
-    case CSSPropertyBorderBottomColor:
+    case CSSPropertyID::kBorderBottomColor:
       return style.VisitedLinkBorderBottomColor();
-    case CSSPropertyCaretColor:
+    case CSSPropertyID::kCaretColor:
       // TODO(rego): "auto" value for caret-color should not interpolate
       // (http://crbug.com/676295).
       if (style.VisitedLinkCaretColor().IsAutoColor())
         return StyleColor::CurrentColor();
       return style.VisitedLinkCaretColor().ToStyleColor();
-    case CSSPropertyColor:
+    case CSSPropertyID::kColor:
       return style.VisitedLinkColor();
-    case CSSPropertyOutlineColor:
+    case CSSPropertyID::kOutlineColor:
       return style.VisitedLinkOutlineColor();
-    case CSSPropertyColumnRuleColor:
+    case CSSPropertyID::kColumnRuleColor:
       return style.VisitedLinkColumnRuleColor();
-    case CSSPropertyWebkitTextEmphasisColor:
+    case CSSPropertyID::kWebkitTextEmphasisColor:
       return style.VisitedLinkTextEmphasisColor();
-    case CSSPropertyWebkitTextFillColor:
+    case CSSPropertyID::kWebkitTextFillColor:
       return style.VisitedLinkTextFillColor();
-    case CSSPropertyWebkitTextStrokeColor:
+    case CSSPropertyID::kWebkitTextStrokeColor:
       return style.VisitedLinkTextStrokeColor();
-    case CSSPropertyFloodColor:
+    case CSSPropertyID::kFloodColor:
       return style.FloodColor();
-    case CSSPropertyLightingColor:
+    case CSSPropertyID::kLightingColor:
       return style.LightingColor();
-    case CSSPropertyStopColor:
+    case CSSPropertyID::kStopColor:
       return style.StopColor();
-    case CSSPropertyWebkitTapHighlightColor:
+    case CSSPropertyID::kWebkitTapHighlightColor:
       return style.TapHighlightColor();
-    case CSSPropertyTextDecorationColor:
+    case CSSPropertyID::kTextDecorationColor:
       return style.VisitedLinkTextDecorationColor();
     default:
       NOTREACHED();
@@ -111,45 +111,45 @@
                                                ComputedStyle& style,
                                                const Color& color) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundColor:
+    case CSSPropertyID::kBackgroundColor:
       style.SetBackgroundColor(color);
       return;
-    case CSSPropertyBorderBottomColor:
+    case CSSPropertyID::kBorderBottomColor:
       style.SetBorderBottomColor(color);
       return;
-    case CSSPropertyBorderLeftColor:
+    case CSSPropertyID::kBorderLeftColor:
       style.SetBorderLeftColor(color);
       return;
-    case CSSPropertyBorderRightColor:
+    case CSSPropertyID::kBorderRightColor:
       style.SetBorderRightColor(color);
       return;
-    case CSSPropertyBorderTopColor:
+    case CSSPropertyID::kBorderTopColor:
       style.SetBorderTopColor(color);
       return;
-    case CSSPropertyCaretColor:
+    case CSSPropertyID::kCaretColor:
       return style.SetCaretColor(color);
-    case CSSPropertyColor:
+    case CSSPropertyID::kColor:
       style.SetColor(color);
       return;
-    case CSSPropertyFloodColor:
+    case CSSPropertyID::kFloodColor:
       style.SetFloodColor(color);
       return;
-    case CSSPropertyLightingColor:
+    case CSSPropertyID::kLightingColor:
       style.SetLightingColor(color);
       return;
-    case CSSPropertyOutlineColor:
+    case CSSPropertyID::kOutlineColor:
       style.SetOutlineColor(color);
       return;
-    case CSSPropertyStopColor:
+    case CSSPropertyID::kStopColor:
       style.SetStopColor(color);
       return;
-    case CSSPropertyTextDecorationColor:
+    case CSSPropertyID::kTextDecorationColor:
       style.SetTextDecorationColor(color);
       return;
-    case CSSPropertyColumnRuleColor:
+    case CSSPropertyID::kColumnRuleColor:
       style.SetColumnRuleColor(color);
       return;
-    case CSSPropertyWebkitTextStrokeColor:
+    case CSSPropertyID::kWebkitTextStrokeColor:
       style.SetTextStrokeColor(color);
       return;
     default:
@@ -162,45 +162,45 @@
                                              ComputedStyle& style,
                                              const Color& color) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundColor:
+    case CSSPropertyID::kBackgroundColor:
       style.SetVisitedLinkBackgroundColor(color);
       return;
-    case CSSPropertyBorderBottomColor:
+    case CSSPropertyID::kBorderBottomColor:
       style.SetVisitedLinkBorderBottomColor(color);
       return;
-    case CSSPropertyBorderLeftColor:
+    case CSSPropertyID::kBorderLeftColor:
       style.SetVisitedLinkBorderLeftColor(color);
       return;
-    case CSSPropertyBorderRightColor:
+    case CSSPropertyID::kBorderRightColor:
       style.SetVisitedLinkBorderRightColor(color);
       return;
-    case CSSPropertyBorderTopColor:
+    case CSSPropertyID::kBorderTopColor:
       style.SetVisitedLinkBorderTopColor(color);
       return;
-    case CSSPropertyCaretColor:
+    case CSSPropertyID::kCaretColor:
       return style.SetVisitedLinkCaretColor(color);
-    case CSSPropertyColor:
+    case CSSPropertyID::kColor:
       style.SetVisitedLinkColor(color);
       return;
-    case CSSPropertyFloodColor:
+    case CSSPropertyID::kFloodColor:
       style.SetFloodColor(color);
       return;
-    case CSSPropertyLightingColor:
+    case CSSPropertyID::kLightingColor:
       style.SetLightingColor(color);
       return;
-    case CSSPropertyOutlineColor:
+    case CSSPropertyID::kOutlineColor:
       style.SetVisitedLinkOutlineColor(color);
       return;
-    case CSSPropertyStopColor:
+    case CSSPropertyID::kStopColor:
       style.SetStopColor(color);
       return;
-    case CSSPropertyTextDecorationColor:
+    case CSSPropertyID::kTextDecorationColor:
       style.SetVisitedLinkTextDecorationColor(color);
       return;
-    case CSSPropertyColumnRuleColor:
+    case CSSPropertyID::kColumnRuleColor:
       style.SetVisitedLinkColumnRuleColor(color);
       return;
-    case CSSPropertyWebkitTextStrokeColor:
+    case CSSPropertyID::kWebkitTextStrokeColor:
       style.SetVisitedLinkTextStrokeColor(color);
       return;
     default:
diff --git a/third_party/blink/renderer/core/animation/compositor_animations.cc b/third_party/blink/renderer/core/animation/compositor_animations.cc
index fecefc8..49a465b 100644
--- a/third_party/blink/renderer/core/animation/compositor_animations.cc
+++ b/third_party/blink/renderer/core/animation/compositor_animations.cc
@@ -89,10 +89,10 @@
 
 bool IsTransformRelatedCSSProperty(const PropertyHandle property) {
   return property.IsCSSProperty() &&
-         (property.GetCSSProperty().IDEquals(CSSPropertyRotate) ||
-          property.GetCSSProperty().IDEquals(CSSPropertyScale) ||
-          property.GetCSSProperty().IDEquals(CSSPropertyTransform) ||
-          property.GetCSSProperty().IDEquals(CSSPropertyTranslate));
+         (property.GetCSSProperty().IDEquals(CSSPropertyID::kRotate) ||
+          property.GetCSSProperty().IDEquals(CSSPropertyID::kScale) ||
+          property.GetCSSProperty().IDEquals(CSSPropertyID::kTransform) ||
+          property.GetCSSProperty().IDEquals(CSSPropertyID::kTranslate));
 }
 
 bool IsTransformRelatedAnimation(const Element& target_element,
@@ -152,17 +152,17 @@
     return CompositorElementIdNamespace::kPrimary;
   }
   switch (property) {
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kOpacity:
       return CompositorElementIdNamespace::kPrimaryEffect;
-    case CSSPropertyRotate:
-    case CSSPropertyScale:
-    case CSSPropertyTranslate:
-    case CSSPropertyTransform:
+    case CSSPropertyID::kRotate:
+    case CSSPropertyID::kScale:
+    case CSSPropertyID::kTranslate:
+    case CSSPropertyID::kTransform:
       return CompositorElementIdNamespace::kPrimaryTransform;
-    case CSSPropertyFilter:
-    case CSSPropertyBackdropFilter:
+    case CSSPropertyID::kFilter:
+    case CSSPropertyID::kBackdropFilter:
       return CompositorElementIdNamespace::kEffectFilter;
-    case CSSPropertyVariable:
+    case CSSPropertyID::kVariable:
       return CompositorElementIdNamespace::kPrimary;
     default:
       NOTREACHED();
@@ -234,12 +234,12 @@
       // FIXME: Determine candidacy based on the CSSValue instead of a snapshot
       // AnimatableValue.
       switch (property.GetCSSProperty().PropertyID()) {
-        case CSSPropertyOpacity:
+        case CSSPropertyID::kOpacity:
           break;
-        case CSSPropertyRotate:
-        case CSSPropertyScale:
-        case CSSPropertyTranslate:
-        case CSSPropertyTransform:
+        case CSSPropertyID::kRotate:
+        case CSSPropertyID::kScale:
+        case CSSPropertyID::kTranslate:
+        case CSSPropertyID::kTransform:
           if (ToAnimatableTransform(keyframe->GetAnimatableValue())
                   ->GetTransformOperations()
                   .DependsOnBoxSize()) {
@@ -248,8 +248,8 @@
                 "size");
           }
           break;
-        case CSSPropertyFilter:
-        case CSSPropertyBackdropFilter: {
+        case CSSPropertyID::kFilter:
+        case CSSPropertyID::kBackdropFilter: {
           const FilterOperations& operations =
               ToAnimatableFilterOperations(keyframe->GetAnimatableValue())
                   ->Operations();
@@ -259,7 +259,7 @@
           }
           break;
         }
-        case CSSPropertyVariable: {
+        case CSSPropertyID::kVariable: {
           DCHECK(RuntimeEnabledFeatures::OffMainThreadCSSPaintEnabled());
           if (!keyframe->GetAnimatableValue()->IsDouble()) {
             // TODO(kevers): Extend support to other custom property types.
@@ -657,7 +657,7 @@
     std::unique_ptr<CompositorAnimationCurve> curve;
     DCHECK(timing.timing_function);
     switch (property.GetCSSProperty().PropertyID()) {
-      case CSSPropertyOpacity: {
+      case CSSPropertyID::kOpacity: {
         target_property = compositor_target_property::OPACITY;
         auto float_curve = std::make_unique<CompositorFloatAnimationCurve>();
         AddKeyframesToCurve(*float_curve, values);
@@ -666,8 +666,8 @@
         curve = std::move(float_curve);
         break;
       }
-      case CSSPropertyFilter:
-      case CSSPropertyBackdropFilter: {
+      case CSSPropertyID::kFilter:
+      case CSSPropertyID::kBackdropFilter: {
         target_property = compositor_target_property::FILTER;
         auto filter_curve = std::make_unique<CompositorFilterAnimationCurve>();
         AddKeyframesToCurve(*filter_curve, values);
@@ -676,10 +676,10 @@
         curve = std::move(filter_curve);
         break;
       }
-      case CSSPropertyRotate:
-      case CSSPropertyScale:
-      case CSSPropertyTranslate:
-      case CSSPropertyTransform: {
+      case CSSPropertyID::kRotate:
+      case CSSPropertyID::kScale:
+      case CSSPropertyID::kTranslate:
+      case CSSPropertyID::kTransform: {
         target_property = compositor_target_property::TRANSFORM;
         auto transform_curve =
             std::make_unique<CompositorTransformAnimationCurve>();
@@ -689,7 +689,7 @@
         curve = std::move(transform_curve);
         break;
       }
-      case CSSPropertyVariable: {
+      case CSSPropertyID::kVariable: {
         DCHECK(RuntimeEnabledFeatures::OffMainThreadCSSPaintEnabled());
         target_property = compositor_target_property::CSS_CUSTOM_PROPERTY;
         // TODO(kevers): Extend support to non-float types.
diff --git a/third_party/blink/renderer/core/animation/compositor_animations_test.cc b/third_party/blink/renderer/core/animation/compositor_animations_test.cc
index 5b5aa8d..20bf5b9 100644
--- a/third_party/blink/renderer/core/animation/compositor_animations_test.cc
+++ b/third_party/blink/renderer/core/animation/compositor_animations_test.cc
@@ -247,9 +247,9 @@
                                         EffectModel::CompositeOperation op,
                                         double offset = 0) {
     String value = "0.1";
-    if (id == CSSPropertyTransform)
+    if (id == CSSPropertyID::kTransform)
       value = "none";  // AnimatableTransform::Create(TransformOperations(), 1);
-    else if (id == CSSPropertyColor)
+    else if (id == CSSPropertyID::kColor)
       value = "red";
 
     StringKeyframe* keyframe = CreateReplaceOpKeyframe(id, value, offset);
@@ -274,7 +274,7 @@
       double offset = 1.0 / (values.size() - 1) * i;
       String value = String::Number(values[i]);
       frames->push_back(
-          CreateReplaceOpKeyframe(CSSPropertyOpacity, value, offset));
+          CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, value, offset));
     }
     return frames;
   }
@@ -516,18 +516,19 @@
 
 TEST_P(AnimationCompositorAnimationsTest,
        CanStartEffectOnCompositorKeyframeMultipleCSSProperties) {
-  StringKeyframe* keyframe_good_multiple =
-      CreateDefaultKeyframe(CSSPropertyOpacity, EffectModel::kCompositeReplace);
+  StringKeyframe* keyframe_good_multiple = CreateDefaultKeyframe(
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace);
   keyframe_good_multiple->SetCSSPropertyValue(
-      CSSPropertyTransform, "none", SecureContextMode::kInsecureContext,
+      CSSPropertyID::kTransform, "none", SecureContextMode::kInsecureContext,
       nullptr);
   EXPECT_TRUE(DuplicateSingleKeyframeAndTestIsCandidateOnResult(
       keyframe_good_multiple));
 
-  StringKeyframe* keyframe_bad_multiple_id =
-      CreateDefaultKeyframe(CSSPropertyColor, EffectModel::kCompositeReplace);
+  StringKeyframe* keyframe_bad_multiple_id = CreateDefaultKeyframe(
+      CSSPropertyID::kColor, EffectModel::kCompositeReplace);
   keyframe_bad_multiple_id->SetCSSPropertyValue(
-      CSSPropertyOpacity, "0.1", SecureContextMode::kInsecureContext, nullptr);
+      CSSPropertyID::kOpacity, "0.1", SecureContextMode::kInsecureContext,
+      nullptr);
   EXPECT_FALSE(DuplicateSingleKeyframeAndTestIsCandidateOnResult(
       keyframe_bad_multiple_id));
 }
@@ -537,20 +538,20 @@
   // Absolute transforms can be animated on the compositor.
   String transform = "translateX(2px) translateY(2px)";
   StringKeyframe* good_keyframe =
-      CreateReplaceOpKeyframe(CSSPropertyTransform, transform);
+      CreateReplaceOpKeyframe(CSSPropertyID::kTransform, transform);
   EXPECT_TRUE(DuplicateSingleKeyframeAndTestIsCandidateOnResult(good_keyframe));
 
   // Transforms that rely on the box size, such as percent calculations, cannot
   // be animated on the compositor (as the box size may change).
   String transform2 = "translateX(50%) translateY(2px)";
   StringKeyframe* bad_keyframe =
-      CreateReplaceOpKeyframe(CSSPropertyTransform, transform2);
+      CreateReplaceOpKeyframe(CSSPropertyID::kTransform, transform2);
   EXPECT_FALSE(DuplicateSingleKeyframeAndTestIsCandidateOnResult(bad_keyframe));
 
   // Similarly, calc transforms cannot be animated on the compositor.
   String transform3 = "translateX(calc(100% + (0.5 * 100px)))";
   StringKeyframe* bad_keyframe2 =
-      CreateReplaceOpKeyframe(CSSPropertyTransform, transform3);
+      CreateReplaceOpKeyframe(CSSPropertyID::kTransform, transform3);
   EXPECT_FALSE(
       DuplicateSingleKeyframeAndTestIsCandidateOnResult(bad_keyframe2));
 }
@@ -559,25 +560,25 @@
        CanStartEffectOnCompositorKeyframeEffectModel) {
   StringKeyframeVector frames_same;
   frames_same.push_back(CreateDefaultKeyframe(
-      CSSPropertyColor, EffectModel::kCompositeReplace, 0.0));
+      CSSPropertyID::kColor, EffectModel::kCompositeReplace, 0.0));
   frames_same.push_back(CreateDefaultKeyframe(
-      CSSPropertyColor, EffectModel::kCompositeReplace, 1.0));
+      CSSPropertyID::kColor, EffectModel::kCompositeReplace, 1.0));
   EXPECT_FALSE(CanStartEffectOnCompositor(
       timing_, *StringKeyframeEffectModel::Create(frames_same)));
 
   StringKeyframeVector frames_mixed_properties;
   StringKeyframe* keyframe = StringKeyframe::Create();
   keyframe->SetOffset(0);
-  keyframe->SetCSSPropertyValue(CSSPropertyColor, "red",
+  keyframe->SetCSSPropertyValue(CSSPropertyID::kColor, "red",
                                 SecureContextMode::kInsecureContext, nullptr);
-  keyframe->SetCSSPropertyValue(CSSPropertyOpacity, "0",
+  keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "0",
                                 SecureContextMode::kInsecureContext, nullptr);
   frames_mixed_properties.push_back(keyframe);
   keyframe = StringKeyframe::Create();
   keyframe->SetOffset(1);
-  keyframe->SetCSSPropertyValue(CSSPropertyColor, "green",
+  keyframe->SetCSSPropertyValue(CSSPropertyID::kColor, "green",
                                 SecureContextMode::kInsecureContext, nullptr);
-  keyframe->SetCSSPropertyValue(CSSPropertyOpacity, "1",
+  keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "1",
                                 SecureContextMode::kInsecureContext, nullptr);
   frames_mixed_properties.push_back(keyframe);
   EXPECT_FALSE(CanStartEffectOnCompositor(
@@ -845,9 +846,9 @@
 
   StringKeyframeVector key_frames;
   key_frames.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 0.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 0.0));
   key_frames.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 1.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 1.0));
   KeyframeEffectModelBase* animation_effect =
       StringKeyframeEffectModel::Create(key_frames);
 
@@ -1023,8 +1024,8 @@
 
   // Filter Properties use a different ID namespace
   StringKeyframeEffectModel* effect1 = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyFilter, "none", 0),
-      CreateReplaceOpKeyframe(CSSPropertyFilter, "sepia(50%)", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kFilter, "none", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kFilter, "sepia(50%)", 1.0));
 
   KeyframeEffect* keyframe_effect1 =
       KeyframeEffect::Create(element.Get(), effect1, timing_);
@@ -1046,8 +1047,8 @@
 
   // Filters that affect neighboring pixels can't be composited.
   StringKeyframeEffectModel* effect2 = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyFilter, "none", 0),
-      CreateReplaceOpKeyframe(CSSPropertyFilter, "blur(10px)", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kFilter, "none", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kFilter, "blur(10px)", 1.0));
 
   KeyframeEffect* keyframe_effect2 =
       KeyframeEffect::Create(element.Get(), effect2, timing_);
@@ -1097,8 +1098,8 @@
   auto style = ComputedStyle::Create();
 
   StringKeyframeEffectModel* effect1 = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyTransform, "none", 0),
-      CreateReplaceOpKeyframe(CSSPropertyTransform, "rotate(45deg)", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kTransform, "none", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kTransform, "rotate(45deg)", 1.0));
 
   KeyframeEffect* keyframe_effect1 =
       KeyframeEffect::Create(element.Get(), effect1, timing_);
@@ -1123,10 +1124,12 @@
       timing_, *element.Get(), animation1, *effect1, disjoint_ids));
 
   StringKeyframeEffectModel* effect2 = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyTransform, "translateX(-45px)", 0),
-      CreateReplaceOpKeyframe(CSSPropertyRotate, "none", 0),
-      CreateReplaceOpKeyframe(CSSPropertyTransform, "translateX(45px)", 1.0),
-      CreateReplaceOpKeyframe(CSSPropertyRotate, "45deg", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kTransform, "translateX(-45px)",
+                              0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kRotate, "none", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kTransform, "translateX(45px)",
+                              1.0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kRotate, "45deg", 1.0));
 
   KeyframeEffect* keyframe_effect2 =
       KeyframeEffect::Create(element.Get(), effect2, timing_);
@@ -1227,17 +1230,17 @@
 TEST_P(AnimationCompositorAnimationsTest, CanStartEffectOnCompositorBasic) {
   StringKeyframeVector basic_frames_vector;
   basic_frames_vector.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 0.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 0.0));
   basic_frames_vector.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 1.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 1.0));
 
   StringKeyframeVector non_basic_frames_vector;
   non_basic_frames_vector.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 0.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 0.0));
   non_basic_frames_vector.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 0.5));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 0.5));
   non_basic_frames_vector.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 1.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 1.0));
 
   basic_frames_vector[0]->SetEasing(linear_timing_function_.get());
   StringKeyframeEffectModel* basic_frames =
@@ -1258,9 +1261,9 @@
 
   StringKeyframeVector non_allowed_frames_vector;
   non_allowed_frames_vector.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeAdd, 0.1));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeAdd, 0.1));
   non_allowed_frames_vector.push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeAdd, 0.25));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeAdd, 0.25));
   StringKeyframeEffectModel* non_allowed_frames =
       StringKeyframeEffectModel::Create(non_allowed_frames_vector);
   EXPECT_FALSE(CanStartEffectOnCompositor(timing_, *non_allowed_frames));
@@ -1290,8 +1293,8 @@
 TEST_P(AnimationCompositorAnimationsTest, CreateSimpleOpacityAnimation) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   std::unique_ptr<CompositorKeyframeModel> keyframe_model =
       ConvertToCompositorAnimation(*effect);
@@ -1325,8 +1328,8 @@
        CreateSimpleOpacityAnimationDuration) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   const AnimationTimeDelta kDuration = AnimationTimeDelta::FromSecondsD(10);
   timing_.iteration_duration = kDuration;
@@ -1347,10 +1350,10 @@
        CreateMultipleKeyframeOpacityAnimationLinear) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.0", 0.25),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.25", 0.5),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.0", 0.25),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.25", 0.5),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   timing_.iteration_count = 5;
   timing_.direction = Timing::PlaybackDirection::ALTERNATE_NORMAL;
@@ -1397,8 +1400,8 @@
        CreateSimpleOpacityAnimationStartDelay) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   const double kStartDelay = 3.25;
 
@@ -1430,10 +1433,13 @@
        CreateMultipleKeyframeOpacityAnimationChained) {
   // KeyframeEffect to convert
   StringKeyframeVector frames;
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0));
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.0", 0.25));
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.35", 0.5));
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0));
+  frames.push_back(
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.0", 0.25));
+  frames.push_back(
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.35", 0.5));
+  frames.push_back(
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
   frames[0]->SetEasing(cubic_ease_timing_function_.get());
   frames[1]->SetEasing(linear_timing_function_.get());
   frames[2]->SetEasing(cubic_custom_timing_function_.get());
@@ -1491,10 +1497,13 @@
 
   // KeyframeEffect to convert
   StringKeyframeVector frames;
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0));
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.0", 0.25));
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.25", 0.5));
-  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+  frames.push_back(CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0));
+  frames.push_back(
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.0", 0.25));
+  frames.push_back(
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.25", 0.5));
+  frames.push_back(
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
   frames[0]->SetEasing(CubicBezierTimingFunction::Preset(
       CubicBezierTimingFunction::EaseType::EASE_IN));
   frames[1]->SetEasing(linear_timing_function_.get());
@@ -1550,8 +1559,8 @@
        CreateReversedOpacityAnimationNegativeStartDelay) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   const double kNegativeStartDelay = -3;
 
@@ -1582,8 +1591,8 @@
        CreateSimpleOpacityAnimationFillModeNone) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   timing_.fill_mode = Timing::FillMode::NONE;
 
@@ -1597,8 +1606,8 @@
        CreateSimpleOpacityAnimationFillModeAuto) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   timing_.fill_mode = Timing::FillMode::AUTO;
 
@@ -1619,8 +1628,8 @@
        CreateSimpleOpacityAnimationWithTimingFunction) {
   // KeyframeEffect to convert
   StringKeyframeEffectModel* effect = CreateKeyframeEffectModel(
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.2", 0),
-      CreateReplaceOpKeyframe(CSSPropertyOpacity, "0.5", 1.0));
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.2", 0),
+      CreateReplaceOpKeyframe(CSSPropertyID::kOpacity, "0.5", 1.0));
 
   timing_.timing_function = cubic_custom_timing_function_;
 
@@ -1704,9 +1713,9 @@
   Persistent<HeapVector<Member<StringKeyframe>>> key_frames =
       MakeGarbageCollected<HeapVector<Member<StringKeyframe>>>();
   key_frames->push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 0.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 0.0));
   key_frames->push_back(CreateDefaultKeyframe(
-      CSSPropertyOpacity, EffectModel::kCompositeReplace, 1.0));
+      CSSPropertyID::kOpacity, EffectModel::kCompositeReplace, 1.0));
   KeyframeEffectModelBase* animation_effect1 =
       StringKeyframeEffectModel::Create(*key_frames);
   KeyframeEffectModelBase* animation_effect2 =
diff --git a/third_party/blink/renderer/core/animation/css/css_animatable_value_factory.cc b/third_party/blink/renderer/core/animation/css/css_animatable_value_factory.cc
index 4cd37f5..b55f03b 100644
--- a/third_party/blink/renderer/core/animation/css/css_animatable_value_factory.cc
+++ b/third_party/blink/renderer/core/animation/css/css_animatable_value_factory.cc
@@ -60,34 +60,34 @@
   const CSSProperty& css_property = property.GetCSSProperty();
 #if DCHECK_IS_ON()
   // Variables are conditionally interpolable and compositable.
-  if (css_property.PropertyID() != CSSPropertyVariable) {
+  if (css_property.PropertyID() != CSSPropertyID::kVariable) {
     DCHECK(css_property.IsInterpolable());
     DCHECK(css_property.IsCompositableProperty());
   }
 #endif
   switch (css_property.PropertyID()) {
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kOpacity:
       return AnimatableDouble::Create(style.Opacity());
-    case CSSPropertyFilter:
+    case CSSPropertyID::kFilter:
       return AnimatableFilterOperations::Create(style.Filter());
-    case CSSPropertyBackdropFilter:
+    case CSSPropertyID::kBackdropFilter:
       return AnimatableFilterOperations::Create(style.BackdropFilter());
-    case CSSPropertyTransform:
+    case CSSPropertyID::kTransform:
       return AnimatableTransform::Create(style.Transform(),
                                          style.EffectiveZoom());
-    case CSSPropertyTranslate: {
+    case CSSPropertyID::kTranslate: {
       return CreateFromTransformProperties(style.Translate(),
                                            style.EffectiveZoom(), nullptr);
     }
-    case CSSPropertyRotate: {
+    case CSSPropertyID::kRotate: {
       return CreateFromTransformProperties(style.Rotate(),
                                            style.EffectiveZoom(), nullptr);
     }
-    case CSSPropertyScale: {
+    case CSSPropertyID::kScale: {
       return CreateFromTransformProperties(style.Scale(), style.EffectiveZoom(),
                                            nullptr);
     }
-    case CSSPropertyVariable: {
+    case CSSPropertyID::kVariable: {
       if (!RuntimeEnabledFeatures::OffMainThreadCSSPaintEnabled()) {
         return nullptr;
       }
diff --git a/third_party/blink/renderer/core/animation/css/css_animations.cc b/third_party/blink/renderer/core/animation/css/css_animations.cc
index 7d16491..e1849ca6 100644
--- a/third_party/blink/renderer/core/animation/css/css_animations.cc
+++ b/third_party/blink/renderer/core/animation/css/css_animations.cc
@@ -111,7 +111,7 @@
     for (unsigned j = 0; j < properties.PropertyCount(); j++) {
       const CSSProperty& property = properties.PropertyAt(j).Property();
       specified_properties_for_use_counter.insert(&property);
-      if (property.PropertyID() == CSSPropertyAnimationTimingFunction) {
+      if (property.PropertyID() == CSSPropertyID::kAnimationTimingFunction) {
         const CSSValue& value = properties.PropertyAt(j).Value();
         scoped_refptr<TimingFunction> timing_function;
         if (value.IsInheritedValue() && parent_style->Animations()) {
@@ -860,7 +860,7 @@
 
   CSSPropertyID resolved_id =
       resolveCSSPropertyID(transition_property.unresolved_property);
-  bool animate_all = resolved_id == CSSPropertyAll;
+  bool animate_all = resolved_id == CSSPropertyID::kAll;
   const StylePropertyShorthand& property_list =
       animate_all ? PropertiesForTransitionAll()
                   : shorthandForProperty(resolved_id);
@@ -920,7 +920,7 @@
          ++transition_index) {
       const CSSTransitionData::TransitionProperty& transition_property =
           transition_data->PropertyList()[transition_index];
-      if (transition_property.unresolved_property == CSSPropertyAll) {
+      if (transition_property.unresolved_property == CSSPropertyID::kAll) {
         any_transition_had_transition_all = true;
       }
       if (property_pass == PropertyPass::kCustom) {
@@ -1277,18 +1277,18 @@
       CSSPropertyID id = convertToCSSPropertyID(i);
       // Avoid creating overlapping transitions with perspective-origin and
       // transition-origin.
-      if (id == CSSPropertyWebkitPerspectiveOriginX ||
-          id == CSSPropertyWebkitPerspectiveOriginY ||
-          id == CSSPropertyWebkitTransformOriginX ||
-          id == CSSPropertyWebkitTransformOriginY ||
-          id == CSSPropertyWebkitTransformOriginZ)
+      if (id == CSSPropertyID::kWebkitPerspectiveOriginX ||
+          id == CSSPropertyID::kWebkitPerspectiveOriginY ||
+          id == CSSPropertyID::kWebkitTransformOriginX ||
+          id == CSSPropertyID::kWebkitTransformOriginY ||
+          id == CSSPropertyID::kWebkitTransformOriginZ)
         continue;
       const CSSProperty& property = CSSProperty::Get(id);
       if (property.IsInterpolable())
         properties.push_back(&property);
     }
     property_shorthand = StylePropertyShorthand(
-        CSSPropertyInvalid, properties.begin(), properties.size());
+        CSSPropertyID::kInvalid, properties.begin(), properties.size());
   }
   return property_shorthand;
 }
@@ -1297,27 +1297,27 @@
 // animations. https://drafts.csswg.org/web-animations/#not-animatable-section
 bool CSSAnimations::IsAnimationAffectingProperty(const CSSProperty& property) {
   switch (property.PropertyID()) {
-    case CSSPropertyAnimation:
-    case CSSPropertyAnimationDelay:
-    case CSSPropertyAnimationDirection:
-    case CSSPropertyAnimationDuration:
-    case CSSPropertyAnimationFillMode:
-    case CSSPropertyAnimationIterationCount:
-    case CSSPropertyAnimationName:
-    case CSSPropertyAnimationPlayState:
-    case CSSPropertyAnimationTimingFunction:
-    case CSSPropertyContain:
-    case CSSPropertyDirection:
-    case CSSPropertyDisplay:
-    case CSSPropertyTextOrientation:
-    case CSSPropertyTransition:
-    case CSSPropertyTransitionDelay:
-    case CSSPropertyTransitionDuration:
-    case CSSPropertyTransitionProperty:
-    case CSSPropertyTransitionTimingFunction:
-    case CSSPropertyUnicodeBidi:
-    case CSSPropertyWillChange:
-    case CSSPropertyWritingMode:
+    case CSSPropertyID::kAnimation:
+    case CSSPropertyID::kAnimationDelay:
+    case CSSPropertyID::kAnimationDirection:
+    case CSSPropertyID::kAnimationDuration:
+    case CSSPropertyID::kAnimationFillMode:
+    case CSSPropertyID::kAnimationIterationCount:
+    case CSSPropertyID::kAnimationName:
+    case CSSPropertyID::kAnimationPlayState:
+    case CSSPropertyID::kAnimationTimingFunction:
+    case CSSPropertyID::kContain:
+    case CSSPropertyID::kDirection:
+    case CSSPropertyID::kDisplay:
+    case CSSPropertyID::kTextOrientation:
+    case CSSPropertyID::kTransition:
+    case CSSPropertyID::kTransitionDelay:
+    case CSSPropertyID::kTransitionDuration:
+    case CSSPropertyID::kTransitionProperty:
+    case CSSPropertyID::kTransitionTimingFunction:
+    case CSSPropertyID::kUnicodeBidi:
+    case CSSPropertyID::kWillChange:
+    case CSSPropertyID::kWritingMode:
       return true;
     default:
       return false;
diff --git a/third_party/blink/renderer/core/animation/css/css_transition_data.h b/third_party/blink/renderer/core/animation/css/css_transition_data.h
index a508759..b97de8e 100644
--- a/third_party/blink/renderer/core/animation/css/css_transition_data.h
+++ b/third_party/blink/renderer/core/animation/css/css_transition_data.h
@@ -27,16 +27,16 @@
     DISALLOW_NEW();
     TransitionProperty(CSSPropertyID id)
         : property_type(kTransitionKnownProperty), unresolved_property(id) {
-      DCHECK_NE(id, CSSPropertyInvalid);
+      DCHECK_NE(id, CSSPropertyID::kInvalid);
     }
 
     TransitionProperty(const AtomicString& string)
         : property_type(kTransitionUnknownProperty),
-          unresolved_property(CSSPropertyInvalid),
+          unresolved_property(CSSPropertyID::kInvalid),
           property_string(string) {}
 
     TransitionProperty(TransitionPropertyType type)
-        : property_type(type), unresolved_property(CSSPropertyInvalid) {
+        : property_type(type), unresolved_property(CSSPropertyID::kInvalid) {
       DCHECK_EQ(type, kTransitionNone);
     }
 
@@ -71,7 +71,7 @@
   Vector<TransitionProperty>& PropertyList() { return property_list_; }
 
   static TransitionProperty InitialProperty() {
-    return TransitionProperty(CSSPropertyAll);
+    return TransitionProperty(CSSPropertyID::kAll);
   }
 
  private:
diff --git a/third_party/blink/renderer/core/animation/css_basic_shape_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_basic_shape_interpolation_type.cc
index 5db24b1..8b0a6916 100644
--- a/third_party/blink/renderer/core/animation/css_basic_shape_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_basic_shape_interpolation_type.cc
@@ -24,7 +24,7 @@
 const BasicShape* GetBasicShape(const CSSProperty& property,
                                 const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyShapeOutside:
+    case CSSPropertyID::kShapeOutside:
       if (!style.ShapeOutside())
         return nullptr;
       if (style.ShapeOutside()->GetType() != ShapeValue::kShape)
@@ -32,7 +32,7 @@
       if (style.ShapeOutside()->CssBox() != CSSBoxType::kMissing)
         return nullptr;
       return style.ShapeOutside()->Shape();
-    case CSSPropertyClipPath:
+    case CSSPropertyID::kClipPath:
       if (!style.ClipPath())
         return nullptr;
       if (style.ClipPath()->GetType() != ClipPathOperation::SHAPE)
@@ -173,11 +173,11 @@
           interpolable_value, *non_interpolable_value,
           state.CssToLengthConversionData());
   switch (CssProperty().PropertyID()) {
-    case CSSPropertyShapeOutside:
+    case CSSPropertyID::kShapeOutside:
       state.Style()->SetShapeOutside(
           ShapeValue::CreateShapeValue(std::move(shape), CSSBoxType::kMissing));
       break;
-    case CSSPropertyClipPath:
+    case CSSPropertyID::kClipPath:
       state.Style()->SetClipPath(
           ShapeClipPathOperation::Create(std::move(shape)));
       break;
diff --git a/third_party/blink/renderer/core/animation/css_border_image_length_box_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_border_image_length_box_interpolation_type.cc
index 5622f4e..ec22461 100644
--- a/third_party/blink/renderer/core/animation/css_border_image_length_box_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_border_image_length_box_interpolation_type.cc
@@ -80,18 +80,18 @@
     const CSSProperty& property,
     const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBorderImageOutset:
+    case CSSPropertyID::kBorderImageOutset:
       return style.BorderImageOutset();
-    case CSSPropertyBorderImageWidth:
+    case CSSPropertyID::kBorderImageWidth:
       return style.BorderImageWidth();
-    case CSSPropertyWebkitMaskBoxImageOutset:
+    case CSSPropertyID::kWebkitMaskBoxImageOutset:
       return style.MaskBoxImageOutset();
-    case CSSPropertyWebkitMaskBoxImageWidth:
+    case CSSPropertyID::kWebkitMaskBoxImageWidth:
       return style.MaskBoxImageWidth();
     default:
       NOTREACHED();
       return GetBorderImageLengthBox(
-          CSSProperty::Get(CSSPropertyBorderImageOutset),
+          CSSProperty::Get(CSSPropertyID::kBorderImageOutset),
           ComputedStyle::InitialStyle());
   }
 }
@@ -100,16 +100,16 @@
                              ComputedStyle& style,
                              const BorderImageLengthBox& box) {
   switch (property.PropertyID()) {
-    case CSSPropertyBorderImageOutset:
+    case CSSPropertyID::kBorderImageOutset:
       style.SetBorderImageOutset(box);
       break;
-    case CSSPropertyWebkitMaskBoxImageOutset:
+    case CSSPropertyID::kWebkitMaskBoxImageOutset:
       style.SetMaskBoxImageOutset(box);
       break;
-    case CSSPropertyBorderImageWidth:
+    case CSSPropertyID::kBorderImageWidth:
       style.SetBorderImageWidth(box);
       break;
-    case CSSPropertyWebkitMaskBoxImageWidth:
+    case CSSPropertyID::kWebkitMaskBoxImageWidth:
       style.SetMaskBoxImageWidth(box);
       break;
     default:
diff --git a/third_party/blink/renderer/core/animation/css_clip_interpolation_type.h b/third_party/blink/renderer/core/animation/css_clip_interpolation_type.h
index acf734b..c8cf1b0 100644
--- a/third_party/blink/renderer/core/animation/css_clip_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_clip_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSClipInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyClip);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kClip);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_color_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_color_interpolation_type.cc
index 8e173d6..f820d62 100644
--- a/third_party/blink/renderer/core/animation/css_color_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_color_interpolation_type.cc
@@ -128,13 +128,14 @@
     StyleColor current_style_color = StyleColor::CurrentColor();
     if (is_text_decoration) {
       current_style_color =
-          current_color_getter(CSSProperty::Get(CSSPropertyWebkitTextFillColor),
-                               *state.Style())
+          current_color_getter(
+              CSSProperty::Get(CSSPropertyID::kWebkitTextFillColor),
+              *state.Style())
               .Access();
     }
     if (current_style_color.IsCurrentColor()) {
       current_style_color =
-          current_color_getter(CSSProperty::Get(CSSPropertyColor),
+          current_color_getter(CSSProperty::Get(CSSPropertyID::kColor),
                                *state.Style())
               .Access();
     }
@@ -225,7 +226,7 @@
     const CSSValue& value,
     const StyleResolverState* state,
     ConversionCheckers& conversion_checkers) const {
-  if (CssProperty().PropertyID() == CSSPropertyColor) {
+  if (CssProperty().PropertyID() == CSSPropertyID::kColor) {
     auto* identifier_value = DynamicTo<CSSIdentifierValue>(value);
     if (identifier_value &&
         identifier_value->GetValueID() == CSSValueCurrentcolor) {
@@ -277,12 +278,12 @@
       CssProperty(), *state.Style(),
       ResolveInterpolableColor(
           *color_pair.Get(kUnvisited), state, false,
-          CssProperty().PropertyID() == CSSPropertyTextDecorationColor));
+          CssProperty().PropertyID() == CSSPropertyID::kTextDecorationColor));
   ColorPropertyFunctions::SetVisitedColor(
       CssProperty(), *state.Style(),
       ResolveInterpolableColor(
           *color_pair.Get(kVisited), state, true,
-          CssProperty().PropertyID() == CSSPropertyTextDecorationColor));
+          CssProperty().PropertyID() == CSSPropertyID::kTextDecorationColor));
 }
 
 const CSSValue* CSSColorInterpolationType::CreateCSSValue(
diff --git a/third_party/blink/renderer/core/animation/css_filter_list_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_filter_list_interpolation_type.cc
index d879d87..f5a4e35a 100644
--- a/third_party/blink/renderer/core/animation/css_filter_list_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_filter_list_interpolation_type.cc
@@ -26,9 +26,9 @@
     default:
       NOTREACHED();
       FALLTHROUGH;
-    case CSSPropertyBackdropFilter:
+    case CSSPropertyID::kBackdropFilter:
       return style.BackdropFilter();
-    case CSSPropertyFilter:
+    case CSSPropertyID::kFilter:
       return style.Filter();
   }
 }
@@ -37,10 +37,10 @@
                    ComputedStyle& style,
                    const FilterOperations& filter_operations) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackdropFilter:
+    case CSSPropertyID::kBackdropFilter:
       style.SetBackdropFilter(filter_operations);
       break;
-    case CSSPropertyFilter:
+    case CSSPropertyID::kFilter:
       style.SetFilter(filter_operations);
       break;
     default:
diff --git a/third_party/blink/renderer/core/animation/css_font_size_interpolation_type.h b/third_party/blink/renderer/core/animation/css_font_size_interpolation_type.h
index 71e0e70..ce78dc0 100644
--- a/third_party/blink/renderer/core/animation/css_font_size_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_font_size_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSFontSizeInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyFontSize);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kFontSize);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.h b/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.h
index 9c3abf2..75fb8e2 100644
--- a/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_font_variation_settings_interpolation_type.h
@@ -13,7 +13,8 @@
  public:
   CSSFontVariationSettingsInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyFontVariationSettings);
+    DCHECK_EQ(CssProperty().PropertyID(),
+              CSSPropertyID::kFontVariationSettings);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_font_weight_interpolation_type.h b/third_party/blink/renderer/core/animation/css_font_weight_interpolation_type.h
index b05e57c..e069fbb 100644
--- a/third_party/blink/renderer/core/animation/css_font_weight_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_font_weight_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSFontWeightInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyFontWeight);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kFontWeight);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_image_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_image_interpolation_type.cc
index d4e6a0f..91b3494 100644
--- a/third_party/blink/renderer/core/animation/css_image_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_image_interpolation_type.cc
@@ -20,11 +20,11 @@
 const StyleImage* GetStyleImage(const CSSProperty& property,
                                 const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBorderImageSource:
+    case CSSPropertyID::kBorderImageSource:
       return style.BorderImageSource();
-    case CSSPropertyListStyleImage:
+    case CSSPropertyID::kListStyleImage:
       return style.ListStyleImage();
-    case CSSPropertyWebkitMaskBoxImageSource:
+    case CSSPropertyID::kWebkitMaskBoxImageSource:
       return style.MaskBoxImageSource();
     default:
       NOTREACHED();
@@ -261,13 +261,13 @@
   StyleImage* image = ResolveStyleImage(CssProperty(), interpolable_value,
                                         non_interpolable_value, state);
   switch (CssProperty().PropertyID()) {
-    case CSSPropertyBorderImageSource:
+    case CSSPropertyID::kBorderImageSource:
       state.Style()->SetBorderImageSource(image);
       break;
-    case CSSPropertyListStyleImage:
+    case CSSPropertyID::kListStyleImage:
       state.Style()->SetListStyleImage(image);
       break;
-    case CSSPropertyWebkitMaskBoxImageSource:
+    case CSSPropertyID::kWebkitMaskBoxImageSource:
       state.Style()->SetMaskBoxImageSource(image);
       break;
     default:
diff --git a/third_party/blink/renderer/core/animation/css_interpolation_types_map.cc b/third_party/blink/renderer/core/animation/css_interpolation_types_map.cc
index 602dd12..e60c294 100644
--- a/third_party/blink/renderer/core/animation/css_interpolation_types_map.cc
+++ b/third_party/blink/renderer/core/animation/css_interpolation_types_map.cc
@@ -117,237 +117,237 @@
       LayoutAnimationsPolicy::AffectedCSSProperties().Contains(&css_property);
   if (allow_all_animations_ || !property_maybe_blocked_by_feature_policy) {
     switch (css_property.PropertyID()) {
-      case CSSPropertyBaselineShift:
-      case CSSPropertyBorderBottomWidth:
-      case CSSPropertyBorderLeftWidth:
-      case CSSPropertyBorderRightWidth:
-      case CSSPropertyBorderTopWidth:
-      case CSSPropertyBottom:
-      case CSSPropertyCx:
-      case CSSPropertyCy:
-      case CSSPropertyFlexBasis:
-      case CSSPropertyHeight:
-      case CSSPropertyLeft:
-      case CSSPropertyLetterSpacing:
-      case CSSPropertyMarginBottom:
-      case CSSPropertyMarginLeft:
-      case CSSPropertyMarginRight:
-      case CSSPropertyMarginTop:
-      case CSSPropertyMaxHeight:
-      case CSSPropertyMaxWidth:
-      case CSSPropertyMinHeight:
-      case CSSPropertyMinWidth:
-      case CSSPropertyOffsetDistance:
-      case CSSPropertyOutlineOffset:
-      case CSSPropertyOutlineWidth:
-      case CSSPropertyPaddingBottom:
-      case CSSPropertyPaddingLeft:
-      case CSSPropertyPaddingRight:
-      case CSSPropertyPaddingTop:
-      case CSSPropertyPerspective:
-      case CSSPropertyR:
-      case CSSPropertyRight:
-      case CSSPropertyRx:
-      case CSSPropertyRy:
-      case CSSPropertyShapeMargin:
-      case CSSPropertyStrokeDashoffset:
-      case CSSPropertyStrokeWidth:
-      case CSSPropertyTop:
-      case CSSPropertyVerticalAlign:
-      case CSSPropertyWebkitBorderHorizontalSpacing:
-      case CSSPropertyWebkitBorderVerticalSpacing:
-      case CSSPropertyColumnGap:
-      case CSSPropertyRowGap:
-      case CSSPropertyColumnRuleWidth:
-      case CSSPropertyColumnWidth:
-      case CSSPropertyWebkitPerspectiveOriginX:
-      case CSSPropertyWebkitPerspectiveOriginY:
-      case CSSPropertyWebkitTransformOriginX:
-      case CSSPropertyWebkitTransformOriginY:
-      case CSSPropertyWebkitTransformOriginZ:
-      case CSSPropertyWidth:
-      case CSSPropertyWordSpacing:
-      case CSSPropertyX:
-      case CSSPropertyY:
+      case CSSPropertyID::kBaselineShift:
+      case CSSPropertyID::kBorderBottomWidth:
+      case CSSPropertyID::kBorderLeftWidth:
+      case CSSPropertyID::kBorderRightWidth:
+      case CSSPropertyID::kBorderTopWidth:
+      case CSSPropertyID::kBottom:
+      case CSSPropertyID::kCx:
+      case CSSPropertyID::kCy:
+      case CSSPropertyID::kFlexBasis:
+      case CSSPropertyID::kHeight:
+      case CSSPropertyID::kLeft:
+      case CSSPropertyID::kLetterSpacing:
+      case CSSPropertyID::kMarginBottom:
+      case CSSPropertyID::kMarginLeft:
+      case CSSPropertyID::kMarginRight:
+      case CSSPropertyID::kMarginTop:
+      case CSSPropertyID::kMaxHeight:
+      case CSSPropertyID::kMaxWidth:
+      case CSSPropertyID::kMinHeight:
+      case CSSPropertyID::kMinWidth:
+      case CSSPropertyID::kOffsetDistance:
+      case CSSPropertyID::kOutlineOffset:
+      case CSSPropertyID::kOutlineWidth:
+      case CSSPropertyID::kPaddingBottom:
+      case CSSPropertyID::kPaddingLeft:
+      case CSSPropertyID::kPaddingRight:
+      case CSSPropertyID::kPaddingTop:
+      case CSSPropertyID::kPerspective:
+      case CSSPropertyID::kR:
+      case CSSPropertyID::kRight:
+      case CSSPropertyID::kRx:
+      case CSSPropertyID::kRy:
+      case CSSPropertyID::kShapeMargin:
+      case CSSPropertyID::kStrokeDashoffset:
+      case CSSPropertyID::kStrokeWidth:
+      case CSSPropertyID::kTop:
+      case CSSPropertyID::kVerticalAlign:
+      case CSSPropertyID::kWebkitBorderHorizontalSpacing:
+      case CSSPropertyID::kWebkitBorderVerticalSpacing:
+      case CSSPropertyID::kColumnGap:
+      case CSSPropertyID::kRowGap:
+      case CSSPropertyID::kColumnRuleWidth:
+      case CSSPropertyID::kColumnWidth:
+      case CSSPropertyID::kWebkitPerspectiveOriginX:
+      case CSSPropertyID::kWebkitPerspectiveOriginY:
+      case CSSPropertyID::kWebkitTransformOriginX:
+      case CSSPropertyID::kWebkitTransformOriginY:
+      case CSSPropertyID::kWebkitTransformOriginZ:
+      case CSSPropertyID::kWidth:
+      case CSSPropertyID::kWordSpacing:
+      case CSSPropertyID::kX:
+      case CSSPropertyID::kY:
         applicable_types->push_back(
             std::make_unique<CSSLengthInterpolationType>(used_property));
         break;
-      case CSSPropertyFlexGrow:
-      case CSSPropertyFlexShrink:
-      case CSSPropertyFillOpacity:
-      case CSSPropertyFloodOpacity:
-      case CSSPropertyFontSizeAdjust:
-      case CSSPropertyOpacity:
-      case CSSPropertyOrder:
-      case CSSPropertyOrphans:
-      case CSSPropertyShapeImageThreshold:
-      case CSSPropertyStopOpacity:
-      case CSSPropertyStrokeMiterlimit:
-      case CSSPropertyStrokeOpacity:
-      case CSSPropertyColumnCount:
-      case CSSPropertyTextSizeAdjust:
-      case CSSPropertyWidows:
-      case CSSPropertyZIndex:
+      case CSSPropertyID::kFlexGrow:
+      case CSSPropertyID::kFlexShrink:
+      case CSSPropertyID::kFillOpacity:
+      case CSSPropertyID::kFloodOpacity:
+      case CSSPropertyID::kFontSizeAdjust:
+      case CSSPropertyID::kOpacity:
+      case CSSPropertyID::kOrder:
+      case CSSPropertyID::kOrphans:
+      case CSSPropertyID::kShapeImageThreshold:
+      case CSSPropertyID::kStopOpacity:
+      case CSSPropertyID::kStrokeMiterlimit:
+      case CSSPropertyID::kStrokeOpacity:
+      case CSSPropertyID::kColumnCount:
+      case CSSPropertyID::kTextSizeAdjust:
+      case CSSPropertyID::kWidows:
+      case CSSPropertyID::kZIndex:
         applicable_types->push_back(
             std::make_unique<CSSNumberInterpolationType>(used_property));
         break;
-      case CSSPropertyLineHeight:
+      case CSSPropertyID::kLineHeight:
         applicable_types->push_back(
             std::make_unique<CSSLengthInterpolationType>(used_property));
         applicable_types->push_back(
             std::make_unique<CSSNumberInterpolationType>(used_property));
         break;
-      case CSSPropertyBackgroundColor:
-      case CSSPropertyBorderBottomColor:
-      case CSSPropertyBorderLeftColor:
-      case CSSPropertyBorderRightColor:
-      case CSSPropertyBorderTopColor:
-      case CSSPropertyCaretColor:
-      case CSSPropertyColor:
-      case CSSPropertyFloodColor:
-      case CSSPropertyLightingColor:
-      case CSSPropertyOutlineColor:
-      case CSSPropertyStopColor:
-      case CSSPropertyTextDecorationColor:
-      case CSSPropertyColumnRuleColor:
-      case CSSPropertyWebkitTextStrokeColor:
+      case CSSPropertyID::kBackgroundColor:
+      case CSSPropertyID::kBorderBottomColor:
+      case CSSPropertyID::kBorderLeftColor:
+      case CSSPropertyID::kBorderRightColor:
+      case CSSPropertyID::kBorderTopColor:
+      case CSSPropertyID::kCaretColor:
+      case CSSPropertyID::kColor:
+      case CSSPropertyID::kFloodColor:
+      case CSSPropertyID::kLightingColor:
+      case CSSPropertyID::kOutlineColor:
+      case CSSPropertyID::kStopColor:
+      case CSSPropertyID::kTextDecorationColor:
+      case CSSPropertyID::kColumnRuleColor:
+      case CSSPropertyID::kWebkitTextStrokeColor:
         applicable_types->push_back(
             std::make_unique<CSSColorInterpolationType>(used_property));
         break;
-      case CSSPropertyFill:
-      case CSSPropertyStroke:
+      case CSSPropertyID::kFill:
+      case CSSPropertyID::kStroke:
         applicable_types->push_back(
             std::make_unique<CSSPaintInterpolationType>(used_property));
         break;
-      case CSSPropertyOffsetPath:
+      case CSSPropertyID::kOffsetPath:
         applicable_types->push_back(
             std::make_unique<CSSRayInterpolationType>(used_property));
         FALLTHROUGH;
-      case CSSPropertyD:
+      case CSSPropertyID::kD:
         applicable_types->push_back(
             std::make_unique<CSSPathInterpolationType>(used_property));
         break;
-      case CSSPropertyBoxShadow:
-      case CSSPropertyTextShadow:
+      case CSSPropertyID::kBoxShadow:
+      case CSSPropertyID::kTextShadow:
         applicable_types->push_back(
             std::make_unique<CSSShadowListInterpolationType>(used_property));
         break;
-      case CSSPropertyBorderImageSource:
-      case CSSPropertyListStyleImage:
-      case CSSPropertyWebkitMaskBoxImageSource:
+      case CSSPropertyID::kBorderImageSource:
+      case CSSPropertyID::kListStyleImage:
+      case CSSPropertyID::kWebkitMaskBoxImageSource:
         applicable_types->push_back(
             std::make_unique<CSSImageInterpolationType>(used_property));
         break;
-      case CSSPropertyBackgroundImage:
-      case CSSPropertyWebkitMaskImage:
+      case CSSPropertyID::kBackgroundImage:
+      case CSSPropertyID::kWebkitMaskImage:
         applicable_types->push_back(
             std::make_unique<CSSImageListInterpolationType>(used_property));
         break;
-      case CSSPropertyStrokeDasharray:
+      case CSSPropertyID::kStrokeDasharray:
         applicable_types->push_back(
             std::make_unique<CSSLengthListInterpolationType>(used_property));
         break;
-      case CSSPropertyFontWeight:
+      case CSSPropertyID::kFontWeight:
         applicable_types->push_back(
             std::make_unique<CSSFontWeightInterpolationType>(used_property));
         break;
-      case CSSPropertyFontVariationSettings:
+      case CSSPropertyID::kFontVariationSettings:
         applicable_types->push_back(
             std::make_unique<CSSFontVariationSettingsInterpolationType>(
                 used_property));
         break;
-      case CSSPropertyVisibility:
+      case CSSPropertyID::kVisibility:
         applicable_types->push_back(
             std::make_unique<CSSVisibilityInterpolationType>(used_property));
         break;
-      case CSSPropertyClip:
+      case CSSPropertyID::kClip:
         applicable_types->push_back(
             std::make_unique<CSSClipInterpolationType>(used_property));
         break;
-      case CSSPropertyOffsetRotate:
+      case CSSPropertyID::kOffsetRotate:
         applicable_types->push_back(
             std::make_unique<CSSOffsetRotateInterpolationType>(used_property));
         break;
-      case CSSPropertyBackgroundPositionX:
-      case CSSPropertyBackgroundPositionY:
-      case CSSPropertyWebkitMaskPositionX:
-      case CSSPropertyWebkitMaskPositionY:
+      case CSSPropertyID::kBackgroundPositionX:
+      case CSSPropertyID::kBackgroundPositionY:
+      case CSSPropertyID::kWebkitMaskPositionX:
+      case CSSPropertyID::kWebkitMaskPositionY:
         applicable_types->push_back(
             std::make_unique<CSSPositionAxisListInterpolationType>(
                 used_property));
         break;
-      case CSSPropertyObjectPosition:
-      case CSSPropertyOffsetAnchor:
-      case CSSPropertyOffsetPosition:
-      case CSSPropertyPerspectiveOrigin:
+      case CSSPropertyID::kObjectPosition:
+      case CSSPropertyID::kOffsetAnchor:
+      case CSSPropertyID::kOffsetPosition:
+      case CSSPropertyID::kPerspectiveOrigin:
         applicable_types->push_back(
             std::make_unique<CSSPositionInterpolationType>(used_property));
         break;
-      case CSSPropertyBorderBottomLeftRadius:
-      case CSSPropertyBorderBottomRightRadius:
-      case CSSPropertyBorderTopLeftRadius:
-      case CSSPropertyBorderTopRightRadius:
+      case CSSPropertyID::kBorderBottomLeftRadius:
+      case CSSPropertyID::kBorderBottomRightRadius:
+      case CSSPropertyID::kBorderTopLeftRadius:
+      case CSSPropertyID::kBorderTopRightRadius:
         applicable_types->push_back(
             std::make_unique<CSSLengthPairInterpolationType>(used_property));
         break;
-      case CSSPropertyTranslate:
+      case CSSPropertyID::kTranslate:
         applicable_types->push_back(
             std::make_unique<CSSTranslateInterpolationType>(used_property));
         break;
-      case CSSPropertyTransformOrigin:
+      case CSSPropertyID::kTransformOrigin:
         applicable_types->push_back(
             std::make_unique<CSSTransformOriginInterpolationType>(
                 used_property));
         break;
-      case CSSPropertyBackgroundSize:
-      case CSSPropertyWebkitMaskSize:
+      case CSSPropertyID::kBackgroundSize:
+      case CSSPropertyID::kWebkitMaskSize:
         applicable_types->push_back(
             std::make_unique<CSSSizeListInterpolationType>(used_property));
         break;
-      case CSSPropertyBorderImageOutset:
-      case CSSPropertyBorderImageWidth:
-      case CSSPropertyWebkitMaskBoxImageOutset:
-      case CSSPropertyWebkitMaskBoxImageWidth:
+      case CSSPropertyID::kBorderImageOutset:
+      case CSSPropertyID::kBorderImageWidth:
+      case CSSPropertyID::kWebkitMaskBoxImageOutset:
+      case CSSPropertyID::kWebkitMaskBoxImageWidth:
         applicable_types->push_back(
             std::make_unique<CSSBorderImageLengthBoxInterpolationType>(
                 used_property));
         break;
-      case CSSPropertyScale:
+      case CSSPropertyID::kScale:
         applicable_types->push_back(
             std::make_unique<CSSScaleInterpolationType>(used_property));
         break;
-      case CSSPropertyFontSize:
+      case CSSPropertyID::kFontSize:
         applicable_types->push_back(
             std::make_unique<CSSFontSizeInterpolationType>(used_property));
         break;
-      case CSSPropertyTextIndent:
+      case CSSPropertyID::kTextIndent:
         applicable_types->push_back(
             std::make_unique<CSSTextIndentInterpolationType>(used_property));
         break;
-      case CSSPropertyBorderImageSlice:
-      case CSSPropertyWebkitMaskBoxImageSlice:
+      case CSSPropertyID::kBorderImageSlice:
+      case CSSPropertyID::kWebkitMaskBoxImageSlice:
         applicable_types->push_back(
             std::make_unique<CSSImageSliceInterpolationType>(used_property));
         break;
-      case CSSPropertyClipPath:
-      case CSSPropertyShapeOutside:
+      case CSSPropertyID::kClipPath:
+      case CSSPropertyID::kShapeOutside:
         applicable_types->push_back(
             std::make_unique<CSSBasicShapeInterpolationType>(used_property));
         break;
-      case CSSPropertyRotate:
+      case CSSPropertyID::kRotate:
         applicable_types->push_back(
             std::make_unique<CSSRotateInterpolationType>(used_property));
         break;
-      case CSSPropertyBackdropFilter:
-      case CSSPropertyFilter:
+      case CSSPropertyID::kBackdropFilter:
+      case CSSPropertyID::kFilter:
         applicable_types->push_back(
             std::make_unique<CSSFilterListInterpolationType>(used_property));
         break;
-      case CSSPropertyTransform:
+      case CSSPropertyID::kTransform:
         applicable_types->push_back(
             std::make_unique<CSSTransformInterpolationType>(used_property));
         break;
-      case CSSPropertyVariable:
+      case CSSPropertyID::kVariable:
         DCHECK_EQ(GetRegistration(registry_.Get(), property), nullptr);
         break;
       default:
diff --git a/third_party/blink/renderer/core/animation/css_offset_rotate_interpolation_type.h b/third_party/blink/renderer/core/animation/css_offset_rotate_interpolation_type.h
index 2a20c75..779451d 100644
--- a/third_party/blink/renderer/core/animation/css_offset_rotate_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_offset_rotate_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSOffsetRotateInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK(CssProperty().PropertyID() == CSSPropertyOffsetRotate);
+    DCHECK(CssProperty().PropertyID() == CSSPropertyID::kOffsetRotate);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_paint_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_paint_interpolation_type.cc
index dab98382..7ca959a 100644
--- a/third_party/blink/renderer/core/animation/css_paint_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_paint_interpolation_type.cc
@@ -32,9 +32,9 @@
               const ComputedStyle& style,
               StyleColor& result) {
   switch (property.PropertyID()) {
-    case CSSPropertyFill:
+    case CSSPropertyID::kFill:
       return GetColorFromPaint(style.SvgStyle().FillPaint(), result);
-    case CSSPropertyStroke:
+    case CSSPropertyID::kStroke:
       return GetColorFromPaint(style.SvgStyle().StrokePaint(), result);
     default:
       NOTREACHED();
@@ -131,11 +131,11 @@
       interpolable_color, state);
   SVGComputedStyle& mutable_svg_style = state.Style()->AccessSVGStyle();
   switch (CssProperty().PropertyID()) {
-    case CSSPropertyFill:
+    case CSSPropertyID::kFill:
       mutable_svg_style.SetFillPaint(SVGPaint(color));
       mutable_svg_style.SetVisitedLinkFillPaint(SVGPaint(color));
       break;
-    case CSSPropertyStroke:
+    case CSSPropertyID::kStroke:
       mutable_svg_style.SetStrokePaint(SVGPaint(color));
       mutable_svg_style.SetVisitedLinkStrokePaint(SVGPaint(color));
       break;
diff --git a/third_party/blink/renderer/core/animation/css_path_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_path_interpolation_type.cc
index 1bbe4ee8..f10330b1 100644
--- a/third_party/blink/renderer/core/animation/css_path_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_path_interpolation_type.cc
@@ -21,9 +21,9 @@
 // If the property's value is not a path(), returns nullptr.
 StylePath* GetPath(const CSSProperty& property, const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyD:
+    case CSSPropertyID::kD:
       return style.SvgStyle().D();
-    case CSSPropertyOffsetPath: {
+    case CSSPropertyID::kOffsetPath: {
       BasicShape* offset_path = style.OffsetPath();
       if (!offset_path || offset_path->GetType() != BasicShape::kStylePathType)
         return nullptr;
@@ -40,10 +40,10 @@
              ComputedStyle& style,
              scoped_refptr<blink::StylePath> path) {
   switch (property.PropertyID()) {
-    case CSSPropertyD:
+    case CSSPropertyID::kD:
       style.SetD(std::move(path));
       return;
-    case CSSPropertyOffsetPath:
+    case CSSPropertyID::kOffsetPath:
       style.SetOffsetPath(std::move(path));
       return;
     default:
diff --git a/third_party/blink/renderer/core/animation/css_ray_interpolation_type.h b/third_party/blink/renderer/core/animation/css_ray_interpolation_type.h
index bf307db..bc4cad8 100644
--- a/third_party/blink/renderer/core/animation/css_ray_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_ray_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSRayInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK(CssProperty().PropertyID() == CSSPropertyOffsetPath);
+    DCHECK(CssProperty().PropertyID() == CSSPropertyID::kOffsetPath);
   }
 
   void ApplyStandardPropertyValue(const InterpolableValue&,
diff --git a/third_party/blink/renderer/core/animation/css_rotate_interpolation_type.h b/third_party/blink/renderer/core/animation/css_rotate_interpolation_type.h
index e49783b0..15678f35 100644
--- a/third_party/blink/renderer/core/animation/css_rotate_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_rotate_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSRotateInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyRotate);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kRotate);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_scale_interpolation_type.h b/third_party/blink/renderer/core/animation/css_scale_interpolation_type.h
index c161564f..e7240b6 100644
--- a/third_party/blink/renderer/core/animation/css_scale_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_scale_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSScaleInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyScale);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kScale);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc b/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc
index dda5ec6..d7af420 100644
--- a/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc
+++ b/third_party/blink/renderer/core/animation/css_shadow_list_interpolation_type.cc
@@ -25,9 +25,9 @@
 const ShadowList* GetShadowList(const CSSProperty& property,
                                 const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBoxShadow:
+    case CSSPropertyID::kBoxShadow:
       return style.BoxShadow();
-    case CSSPropertyTextShadow:
+    case CSSPropertyID::kTextShadow:
       return style.TextShadow();
     default:
       NOTREACHED();
@@ -175,10 +175,10 @@
   scoped_refptr<ShadowList> shadow_list =
       CreateShadowList(interpolable_value, non_interpolable_value, state);
   switch (CssProperty().PropertyID()) {
-    case CSSPropertyBoxShadow:
+    case CSSPropertyID::kBoxShadow:
       state.Style()->SetBoxShadow(std::move(shadow_list));
       return;
-    case CSSPropertyTextShadow:
+    case CSSPropertyID::kTextShadow:
       state.Style()->SetTextShadow(std::move(shadow_list));
       return;
     default:
diff --git a/third_party/blink/renderer/core/animation/css_text_indent_interpolation_type.h b/third_party/blink/renderer/core/animation/css_text_indent_interpolation_type.h
index bda657e3..9b5fed7 100644
--- a/third_party/blink/renderer/core/animation/css_text_indent_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_text_indent_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSTextIndentInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyTextIndent);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kTextIndent);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_transform_interpolation_type.h b/third_party/blink/renderer/core/animation/css_transform_interpolation_type.h
index 99a9128a..9771c084 100644
--- a/third_party/blink/renderer/core/animation/css_transform_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_transform_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSTransformInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyTransform);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kTransform);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_translate_interpolation_type.h b/third_party/blink/renderer/core/animation/css_translate_interpolation_type.h
index 37ccb00d..53c0540 100644
--- a/third_party/blink/renderer/core/animation/css_translate_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_translate_interpolation_type.h
@@ -13,7 +13,7 @@
  public:
   CSSTranslateInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyTranslate);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kTranslate);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/css_visibility_interpolation_type.h b/third_party/blink/renderer/core/animation/css_visibility_interpolation_type.h
index 5979c76d..dcc4070 100644
--- a/third_party/blink/renderer/core/animation/css_visibility_interpolation_type.h
+++ b/third_party/blink/renderer/core/animation/css_visibility_interpolation_type.h
@@ -14,7 +14,7 @@
  public:
   CSSVisibilityInterpolationType(PropertyHandle property)
       : CSSInterpolationType(property) {
-    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyVisibility);
+    DCHECK_EQ(CssProperty().PropertyID(), CSSPropertyID::kVisibility);
   }
 
   InterpolationValue MaybeConvertStandardPropertyUnderlyingValue(
diff --git a/third_party/blink/renderer/core/animation/effect_input.cc b/third_party/blink/renderer/core/animation/effect_input.cc
index 67af486..d2b9afb 100644
--- a/third_party/blink/renderer/core/animation/effect_input.cc
+++ b/third_party/blink/renderer/core/animation/effect_input.cc
@@ -90,9 +90,9 @@
   StyleSheetContents* style_sheet_contents = document.ElementSheet().Contents();
   CSSPropertyID css_property =
       AnimationInputHelpers::KeyframeAttributeToCSSProperty(property, document);
-  if (css_property != CSSPropertyInvalid) {
+  if (css_property != CSSPropertyID::kInvalid) {
     MutableCSSPropertyValueSet::SetResult set_result =
-        css_property == CSSPropertyVariable
+        css_property == CSSPropertyID::kVariable
             ? keyframe.SetCSSPropertyValue(
                   AtomicString(property), document.GetPropertyRegistry(), value,
                   document.GetSecureContextMode(), style_sheet_contents)
@@ -111,7 +111,7 @@
   css_property =
       AnimationInputHelpers::KeyframeAttributeToPresentationAttribute(property,
                                                                       element);
-  if (css_property != CSSPropertyInvalid) {
+  if (css_property != CSSPropertyID::kInvalid) {
     keyframe.SetPresentationAttributeValue(
         CSSProperty::Get(css_property), value, document.GetSecureContextMode(),
         style_sheet_contents);
@@ -190,7 +190,7 @@
                                    const Document& document) {
   CSSPropertyID css_property =
       AnimationInputHelpers::KeyframeAttributeToCSSProperty(property, document);
-  if (css_property != CSSPropertyInvalid) {
+  if (css_property != CSSPropertyID::kInvalid) {
     return !CSSAnimations::IsAnimationAffectingProperty(
         CSSProperty::Get(css_property));
   }
@@ -198,7 +198,7 @@
   css_property =
       AnimationInputHelpers::KeyframeAttributeToPresentationAttribute(property,
                                                                       element);
-  if (css_property != CSSPropertyInvalid)
+  if (css_property != CSSPropertyID::kInvalid)
     return true;
 
   return !!AnimationInputHelpers::KeyframeAttributeToSVGAttribute(property,
diff --git a/third_party/blink/renderer/core/animation/effect_stack_test.cc b/third_party/blink/renderer/core/animation/effect_stack_test.cc
index 9cf45e9..148e600b 100644
--- a/third_party/blink/renderer/core/animation/effect_stack_test.cc
+++ b/third_party/blink/renderer/core/animation/effect_stack_test.cc
@@ -109,9 +109,11 @@
 };
 
 TEST_F(AnimationEffectStackTest, ElementAnimationsSorted) {
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "1px")), 10);
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "2px")), 15);
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "3px")), 5);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "1px")),
+       10);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "2px")),
+       15);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "3px")), 5);
   ActiveInterpolationsMap result = EffectStack::ActiveInterpolations(
       &element->GetElementAnimations()->GetEffectStack(), nullptr, nullptr,
       KeyframeEffect::kDefaultPriority);
@@ -120,13 +122,14 @@
 }
 
 TEST_F(AnimationEffectStackTest, NewAnimations) {
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "1px")), 15);
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyZIndex, "2")), 10);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "1px")),
+       15);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kZIndex, "2")), 10);
   HeapVector<Member<const InertEffect>> new_animations;
   InertEffect* inert1 =
-      MakeInertEffect(MakeEffectModel(CSSPropertyFontSize, "3px"));
+      MakeInertEffect(MakeEffectModel(CSSPropertyID::kFontSize, "3px"));
   InertEffect* inert2 =
-      MakeInertEffect(MakeEffectModel(CSSPropertyZIndex, "4"));
+      MakeInertEffect(MakeEffectModel(CSSPropertyID::kZIndex, "4"));
   new_animations.push_back(inert1);
   new_animations.push_back(inert2);
   ActiveInterpolationsMap result = EffectStack::ActiveInterpolations(
@@ -139,10 +142,10 @@
 
 TEST_F(AnimationEffectStackTest, CancelledAnimations) {
   HeapHashSet<Member<const Animation>> cancelled_animations;
-  Animation* animation =
-      Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "1px")), 0);
+  Animation* animation = Play(
+      MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "1px")), 0);
   cancelled_animations.insert(animation);
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyZIndex, "2")), 0);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kZIndex, "2")), 0);
   ActiveInterpolationsMap result = EffectStack::ActiveInterpolations(
       &element->GetElementAnimations()->GetEffectStack(), nullptr,
       &cancelled_animations, KeyframeEffect::kDefaultPriority);
@@ -151,8 +154,8 @@
 }
 
 TEST_F(AnimationEffectStackTest, ClearedEffectsRemoved) {
-  Animation* animation =
-      Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "1px")), 10);
+  Animation* animation = Play(
+      MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "1px")), 10);
   ActiveInterpolationsMap result = EffectStack::ActiveInterpolations(
       &element->GetElementAnimations()->GetEffectStack(), nullptr, nullptr,
       KeyframeEffect::kDefaultPriority);
@@ -167,9 +170,9 @@
 }
 
 TEST_F(AnimationEffectStackTest, ForwardsFillDiscarding) {
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "1px")), 2);
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "2px")), 6);
-  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyFontSize, "3px")), 4);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "1px")), 2);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "2px")), 6);
+  Play(MakeKeyframeEffect(MakeEffectModel(CSSPropertyID::kFontSize, "3px")), 4);
   GetDocument().GetPendingAnimations().Update(
       base::Optional<CompositorElementIdSet>());
 
diff --git a/third_party/blink/renderer/core/animation/element_animations.cc b/third_party/blink/renderer/core/animation/element_animations.cc
index 9c202260..91375f7 100644
--- a/third_party/blink/renderer/core/animation/element_animations.cc
+++ b/third_party/blink/renderer/core/animation/element_animations.cc
@@ -65,7 +65,7 @@
   // Images use instance equality rather than value equality (see
   // crbug.com/781461).
   for (CSSPropertyID id :
-       {CSSPropertyBackgroundImage, CSSPropertyWebkitMaskImage}) {
+       {CSSPropertyID::kBackgroundImage, CSSPropertyID::kWebkitMaskImage}) {
     if (!CSSPropertyEquality::PropertiesEqual(
             PropertyHandle(CSSProperty::Get(id)), base_computed_style,
             computed_style)) {
diff --git a/third_party/blink/renderer/core/animation/image_list_property_functions.h b/third_party/blink/renderer/core/animation/image_list_property_functions.h
index 39071e6..2717ce8 100644
--- a/third_party/blink/renderer/core/animation/image_list_property_functions.h
+++ b/third_party/blink/renderer/core/animation/image_list_property_functions.h
@@ -24,10 +24,10 @@
                            StyleImageList* result) {
     const FillLayer* fill_layer = nullptr;
     switch (property.PropertyID()) {
-      case CSSPropertyBackgroundImage:
+      case CSSPropertyID::kBackgroundImage:
         fill_layer = &style.BackgroundLayers();
         break;
-      case CSSPropertyWebkitMaskImage:
+      case CSSPropertyID::kWebkitMaskImage:
         fill_layer = &style.MaskLayers();
         break;
       default:
@@ -47,10 +47,10 @@
                            const StyleImageList* image_list) {
     FillLayer* fill_layer = nullptr;
     switch (property.PropertyID()) {
-      case CSSPropertyBackgroundImage:
+      case CSSPropertyID::kBackgroundImage:
         fill_layer = &style.AccessBackgroundLayers();
         break;
-      case CSSPropertyWebkitMaskImage:
+      case CSSPropertyID::kWebkitMaskImage:
         fill_layer = &style.AccessMaskLayers();
         break;
       default:
diff --git a/third_party/blink/renderer/core/animation/image_slice_property_functions.h b/third_party/blink/renderer/core/animation/image_slice_property_functions.h
index 02cd55c..35840e4 100644
--- a/third_party/blink/renderer/core/animation/image_slice_property_functions.h
+++ b/third_party/blink/renderer/core/animation/image_slice_property_functions.h
@@ -34,10 +34,10 @@
       default:
         NOTREACHED();
         FALLTHROUGH;
-      case CSSPropertyBorderImageSlice:
+      case CSSPropertyID::kBorderImageSlice:
         return ImageSlice(style.BorderImageSlices(),
                           style.BorderImageSlicesFill());
-      case CSSPropertyWebkitMaskBoxImageSlice:
+      case CSSPropertyID::kWebkitMaskBoxImageSlice:
         return ImageSlice(style.MaskBoxImageSlices(),
                           style.MaskBoxImageSlicesFill());
     }
@@ -47,11 +47,11 @@
                             ComputedStyle& style,
                             const ImageSlice& slice) {
     switch (property.PropertyID()) {
-      case CSSPropertyBorderImageSlice:
+      case CSSPropertyID::kBorderImageSlice:
         style.SetBorderImageSlices(slice.slices);
         style.SetBorderImageSlicesFill(slice.fill);
         break;
-      case CSSPropertyWebkitMaskBoxImageSlice:
+      case CSSPropertyID::kWebkitMaskBoxImageSlice:
         style.SetMaskBoxImageSlices(slice.slices);
         style.SetMaskBoxImageSlicesFill(slice.fill);
         break;
diff --git a/third_party/blink/renderer/core/animation/keyframe_effect_model_test.cc b/third_party/blink/renderer/core/animation/keyframe_effect_model_test.cc
index 324be2c..c571ef1b 100644
--- a/third_party/blink/renderer/core/animation/keyframe_effect_model_test.cc
+++ b/third_party/blink/renderer/core/animation/keyframe_effect_model_test.cc
@@ -152,19 +152,19 @@
 
 TEST_F(AnimationKeyframeEffectModel, BasicOperation) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyFontFamily, "serif", "cursive");
+      KeyframesAtZeroAndOne(CSSPropertyID::kFontFamily, "serif", "cursive");
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(keyframes);
   HeapVector<Member<Interpolation>> values;
   effect->Sample(0, 0.6, kDuration, values);
   ASSERT_EQ(1UL, values.size());
-  ExpectProperty(CSSPropertyFontFamily, values.at(0));
+  ExpectProperty(CSSPropertyID::kFontFamily, values.at(0));
   ExpectNonInterpolableValue("cursive", values.at(0));
 }
 
 TEST_F(AnimationKeyframeEffectModel, CompositeReplaceNonInterpolable) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyFontFamily, "serif", "cursive");
+      KeyframesAtZeroAndOne(CSSPropertyID::kFontFamily, "serif", "cursive");
   keyframes[0]->SetComposite(EffectModel::kCompositeReplace);
   keyframes[1]->SetComposite(EffectModel::kCompositeReplace);
   StringKeyframeEffectModel* effect =
@@ -176,7 +176,7 @@
 
 TEST_F(AnimationKeyframeEffectModel, CompositeReplace) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "3px", "5px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "3px", "5px");
   keyframes[0]->SetComposite(EffectModel::kCompositeReplace);
   keyframes[1]->SetComposite(EffectModel::kCompositeReplace);
   StringKeyframeEffectModel* effect =
@@ -189,7 +189,7 @@
 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
 TEST_F(AnimationKeyframeEffectModel, DISABLED_CompositeAdd) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "3px", "5px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "3px", "5px");
   keyframes[0]->SetComposite(EffectModel::kCompositeAdd);
   keyframes[1]->SetComposite(EffectModel::kCompositeAdd);
   StringKeyframeEffectModel* effect =
@@ -201,7 +201,7 @@
 
 TEST_F(AnimationKeyframeEffectModel, CompositeEaseIn) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "3px", "5px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "3px", "5px");
   keyframes[0]->SetComposite(EffectModel::kCompositeReplace);
   keyframes[0]->SetEasing(CubicBezierTimingFunction::Preset(
       CubicBezierTimingFunction::EaseType::EASE_IN));
@@ -217,7 +217,7 @@
 
 TEST_F(AnimationKeyframeEffectModel, CompositeCubicBezier) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "3px", "5px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "3px", "5px");
   keyframes[0]->SetComposite(EffectModel::kCompositeReplace);
   keyframes[0]->SetEasing(CubicBezierTimingFunction::Create(0.42, 0, 0.58, 1));
   keyframes[1]->SetComposite(EffectModel::kCompositeReplace);
@@ -232,7 +232,7 @@
 
 TEST_F(AnimationKeyframeEffectModel, ExtrapolateReplaceNonInterpolable) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyFontFamily, "serif", "cursive");
+      KeyframesAtZeroAndOne(CSSPropertyID::kFontFamily, "serif", "cursive");
   keyframes[0]->SetComposite(EffectModel::kCompositeReplace);
   keyframes[1]->SetComposite(EffectModel::kCompositeReplace);
   StringKeyframeEffectModel* effect =
@@ -244,7 +244,7 @@
 
 TEST_F(AnimationKeyframeEffectModel, ExtrapolateReplace) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "3px", "5px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "3px", "5px");
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(keyframes);
   keyframes[0]->SetComposite(EffectModel::kCompositeReplace);
@@ -257,7 +257,7 @@
 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
 TEST_F(AnimationKeyframeEffectModel, DISABLED_ExtrapolateAdd) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "3px", "5px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "3px", "5px");
   keyframes[0]->SetComposite(EffectModel::kCompositeAdd);
   keyframes[1]->SetComposite(EffectModel::kCompositeAdd);
   StringKeyframeEffectModel* effect =
@@ -280,7 +280,7 @@
   StringKeyframeVector keyframes(1);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.0);
-  keyframes[0]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
 
@@ -296,8 +296,9 @@
   StringKeyframeVector keyframes(1);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(1.0);
-  keyframes[0]->SetCSSPropertyValue(
-      CSSPropertyLeft, "5px", SecureContextMode::kInsecureContext, nullptr);
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kLeft, "5px",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
 
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(keyframes);
@@ -310,17 +311,17 @@
   StringKeyframeVector keyframes(3);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.0);
-  keyframes[0]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[1] = StringKeyframe::Create();
   keyframes[1]->SetOffset(0.5);
-  keyframes[1]->SetCSSPropertyValue(CSSPropertyFontFamily, "sans-serif",
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "sans-serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[2] = StringKeyframe::Create();
   keyframes[2]->SetOffset(1.0);
-  keyframes[2]->SetCSSPropertyValue(CSSPropertyFontFamily, "cursive",
+  keyframes[2]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "cursive",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
 
@@ -336,16 +337,16 @@
 TEST_F(AnimationKeyframeEffectModel, EndKeyframeOffsetsUnspecified) {
   StringKeyframeVector keyframes(3);
   keyframes[0] = StringKeyframe::Create();
-  keyframes[0]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[1] = StringKeyframe::Create();
   keyframes[1]->SetOffset(0.5);
-  keyframes[1]->SetCSSPropertyValue(CSSPropertyFontFamily, "cursive",
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "cursive",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[2] = StringKeyframe::Create();
-  keyframes[2]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[2]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
 
@@ -364,17 +365,17 @@
   StringKeyframeVector keyframes(3);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.0);
-  keyframes[0]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[1] = StringKeyframe::Create();
   keyframes[1]->SetOffset(0.5);
-  keyframes[1]->SetCSSPropertyValue(CSSPropertyFontFamily, "cursive",
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "cursive",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[2] = StringKeyframe::Create();
   keyframes[2]->SetOffset(1.0);
-  keyframes[2]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[2]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
 
@@ -393,47 +394,47 @@
   StringKeyframeVector keyframes(9);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.0);
-  keyframes[0]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[1] = StringKeyframe::Create();
   keyframes[1]->SetOffset(0.1);
-  keyframes[1]->SetCSSPropertyValue(CSSPropertyFontFamily, "sans-serif",
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "sans-serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[2] = StringKeyframe::Create();
   keyframes[2]->SetOffset(0.1);
-  keyframes[2]->SetCSSPropertyValue(CSSPropertyFontFamily, "monospace",
+  keyframes[2]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "monospace",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[3] = StringKeyframe::Create();
   keyframes[3]->SetOffset(0.5);
-  keyframes[3]->SetCSSPropertyValue(CSSPropertyFontFamily, "cursive",
+  keyframes[3]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "cursive",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[4] = StringKeyframe::Create();
   keyframes[4]->SetOffset(0.5);
-  keyframes[4]->SetCSSPropertyValue(CSSPropertyFontFamily, "fantasy",
+  keyframes[4]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "fantasy",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[5] = StringKeyframe::Create();
   keyframes[5]->SetOffset(0.5);
-  keyframes[5]->SetCSSPropertyValue(CSSPropertyFontFamily, "system-ui",
+  keyframes[5]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "system-ui",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[6] = StringKeyframe::Create();
   keyframes[6]->SetOffset(0.9);
-  keyframes[6]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[6]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[7] = StringKeyframe::Create();
   keyframes[7]->SetOffset(0.9);
-  keyframes[7]->SetCSSPropertyValue(CSSPropertyFontFamily, "sans-serif",
+  keyframes[7]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "sans-serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[8] = StringKeyframe::Create();
   keyframes[8]->SetOffset(1.0);
-  keyframes[8]->SetCSSPropertyValue(CSSPropertyFontFamily, "monospace",
+  keyframes[8]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "monospace",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
 
@@ -461,12 +462,14 @@
   StringKeyframeVector keyframes(2);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.0);
-  keyframes[0]->SetCSSPropertyValue(
-      CSSPropertyLeft, "3px", SecureContextMode::kInsecureContext, nullptr);
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kLeft, "3px",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
   keyframes[1] = StringKeyframe::Create();
   keyframes[1]->SetOffset(1.0);
-  keyframes[1]->SetCSSPropertyValue(
-      CSSPropertyLeft, "5px", SecureContextMode::kInsecureContext, nullptr);
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kLeft, "5px",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
   keyframes[1]->SetComposite(EffectModel::kCompositeAdd);
 
   StringKeyframeEffectModel* effect =
@@ -480,18 +483,18 @@
   StringKeyframeVector keyframes(2);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.0);
-  keyframes[0]->SetCSSPropertyValue(CSSPropertyFontFamily, "serif",
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "serif",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
-  keyframes[0]->SetCSSPropertyValue(CSSPropertyFontStyle, "normal",
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kFontStyle, "normal",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
   keyframes[1] = StringKeyframe::Create();
   keyframes[1]->SetOffset(1.0);
-  keyframes[1]->SetCSSPropertyValue(CSSPropertyFontFamily, "cursive",
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kFontFamily, "cursive",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
-  keyframes[1]->SetCSSPropertyValue(CSSPropertyFontStyle, "oblique",
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kFontStyle, "oblique",
                                     SecureContextMode::kInsecureContext,
                                     nullptr);
 
@@ -500,10 +503,10 @@
   HeapVector<Member<Interpolation>> values;
   effect->Sample(0, 0.6, kDuration, values);
   EXPECT_EQ(2UL, values.size());
-  Interpolation* left_value = FindValue(values, CSSPropertyFontFamily);
+  Interpolation* left_value = FindValue(values, CSSPropertyID::kFontFamily);
   ASSERT_TRUE(left_value);
   ExpectNonInterpolableValue("cursive", left_value);
-  Interpolation* right_value = FindValue(values, CSSPropertyFontStyle);
+  Interpolation* right_value = FindValue(values, CSSPropertyID::kFontStyle);
   ASSERT_TRUE(right_value);
   ExpectNonInterpolableValue("oblique", right_value);
 }
@@ -511,7 +514,7 @@
 // FIXME: Re-enable this test once compositing of CompositeAdd is supported.
 TEST_F(AnimationKeyframeEffectModel, DISABLED_RecompositeCompositableValue) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "3px", "5px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "3px", "5px");
   keyframes[0]->SetComposite(EffectModel::kCompositeAdd);
   keyframes[1]->SetComposite(EffectModel::kCompositeAdd);
   StringKeyframeEffectModel* effect =
@@ -524,7 +527,7 @@
 
 TEST_F(AnimationKeyframeEffectModel, MultipleIterations) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyLeft, "1px", "3px");
+      KeyframesAtZeroAndOne(CSSPropertyID::kLeft, "1px", "3px");
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(keyframes);
   HeapVector<Member<Interpolation>> values;
@@ -541,17 +544,20 @@
   StringKeyframeVector keyframes(3);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.0);
-  keyframes[0]->SetCSSPropertyValue(
-      CSSPropertyLeft, "1px", SecureContextMode::kInsecureContext, nullptr);
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kLeft, "1px",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
   keyframes[0]->SetComposite(EffectModel::kCompositeAdd);
   keyframes[1] = StringKeyframe::Create();
   keyframes[1]->SetOffset(0.5);
-  keyframes[1]->SetCSSPropertyValue(
-      CSSPropertyLeft, "1px", SecureContextMode::kInsecureContext, nullptr);
+  keyframes[1]->SetCSSPropertyValue(CSSPropertyID::kLeft, "1px",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
   keyframes[2] = StringKeyframe::Create();
   keyframes[2]->SetOffset(1.0);
-  keyframes[2]->SetCSSPropertyValue(
-      CSSPropertyLeft, "1px", SecureContextMode::kInsecureContext, nullptr);
+  keyframes[2]->SetCSSPropertyValue(CSSPropertyID::kLeft, "1px",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
 
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(keyframes);
@@ -580,8 +586,9 @@
   StringKeyframeVector keyframes(1);
   keyframes[0] = StringKeyframe::Create();
   keyframes[0]->SetOffset(0.5);
-  keyframes[0]->SetCSSPropertyValue(
-      CSSPropertyLeft, "4px", SecureContextMode::kInsecureContext, nullptr);
+  keyframes[0]->SetCSSPropertyValue(CSSPropertyID::kLeft, "4px",
+                                    SecureContextMode::kInsecureContext,
+                                    nullptr);
 
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(keyframes);
@@ -605,7 +612,7 @@
 
 TEST_F(AnimationKeyframeEffectModel, CompositorSnapshotUpdateBasic) {
   StringKeyframeVector keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyOpacity, "0", "1");
+      KeyframesAtZeroAndOne(CSSPropertyID::kOpacity, "0", "1");
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(keyframes);
 
@@ -643,7 +650,7 @@
 TEST_F(AnimationKeyframeEffectModel,
        CompositorSnapshotUpdateAfterKeyframeChange) {
   StringKeyframeVector opacity_keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyOpacity, "0", "1");
+      KeyframesAtZeroAndOne(CSSPropertyID::kOpacity, "0", "1");
   StringKeyframeEffectModel* effect =
       StringKeyframeEffectModel::Create(opacity_keyframes);
 
@@ -661,7 +668,7 @@
   EXPECT_TRUE(value->IsDouble());
 
   StringKeyframeVector filter_keyframes =
-      KeyframesAtZeroAndOne(CSSPropertyFilter, "blur(1px)", "blur(10px)");
+      KeyframesAtZeroAndOne(CSSPropertyID::kFilter, "blur(1px)", "blur(10px)");
   effect->SetFrames(filter_keyframes);
 
   // Snapshot should update after changing keyframes
diff --git a/third_party/blink/renderer/core/animation/length_list_property_functions.cc b/third_party/blink/renderer/core/animation/length_list_property_functions.cc
index c5a2cc7..8f0e68e 100644
--- a/third_party/blink/renderer/core/animation/length_list_property_functions.cc
+++ b/third_party/blink/renderer/core/animation/length_list_property_functions.cc
@@ -13,11 +13,11 @@
 const FillLayer* GetFillLayerForPosition(const CSSProperty& property,
                                          const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyBackgroundPositionY:
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionY:
       return &style.BackgroundLayers();
-    case CSSPropertyWebkitMaskPositionX:
-    case CSSPropertyWebkitMaskPositionY:
+    case CSSPropertyID::kWebkitMaskPositionX:
+    case CSSPropertyID::kWebkitMaskPositionY:
       return &style.MaskLayers();
     default:
       NOTREACHED();
@@ -28,11 +28,11 @@
 FillLayer* AccessFillLayerForPosition(const CSSProperty& property,
                                       ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyBackgroundPositionY:
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionY:
       return &style.AccessBackgroundLayers();
-    case CSSPropertyWebkitMaskPositionX:
-    case CSSPropertyWebkitMaskPositionY:
+    case CSSPropertyID::kWebkitMaskPositionX:
+    case CSSPropertyID::kWebkitMaskPositionY:
       return &style.AccessMaskLayers();
     default:
       NOTREACHED();
@@ -43,16 +43,16 @@
 struct FillLayerMethods {
   FillLayerMethods(const CSSProperty& property) {
     switch (property.PropertyID()) {
-      case CSSPropertyBackgroundPositionX:
-      case CSSPropertyWebkitMaskPositionX:
+      case CSSPropertyID::kBackgroundPositionX:
+      case CSSPropertyID::kWebkitMaskPositionX:
         is_set = &FillLayer::IsPositionXSet;
         get_length = &FillLayer::PositionX;
         get_edge = &FillLayer::BackgroundXOrigin;
         set_length = &FillLayer::SetPositionX;
         clear = &FillLayer::ClearPositionX;
         break;
-      case CSSPropertyBackgroundPositionY:
-      case CSSPropertyWebkitMaskPositionY:
+      case CSSPropertyID::kBackgroundPositionY:
+      case CSSPropertyID::kWebkitMaskPositionY:
         is_set = &FillLayer::IsPositionYSet;
         get_length = &FillLayer::PositionY;
         get_edge = &FillLayer::BackgroundYOrigin;
@@ -77,22 +77,22 @@
 ValueRange LengthListPropertyFunctions::GetValueRange(
     const CSSProperty& property) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyBackgroundPositionY:
-    case CSSPropertyObjectPosition:
-    case CSSPropertyOffsetAnchor:
-    case CSSPropertyOffsetPosition:
-    case CSSPropertyPerspectiveOrigin:
-    case CSSPropertyTransformOrigin:
-    case CSSPropertyWebkitMaskPositionX:
-    case CSSPropertyWebkitMaskPositionY:
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionY:
+    case CSSPropertyID::kObjectPosition:
+    case CSSPropertyID::kOffsetAnchor:
+    case CSSPropertyID::kOffsetPosition:
+    case CSSPropertyID::kPerspectiveOrigin:
+    case CSSPropertyID::kTransformOrigin:
+    case CSSPropertyID::kWebkitMaskPositionX:
+    case CSSPropertyID::kWebkitMaskPositionY:
       return kValueRangeAll;
 
-    case CSSPropertyBorderBottomLeftRadius:
-    case CSSPropertyBorderBottomRightRadius:
-    case CSSPropertyBorderTopLeftRadius:
-    case CSSPropertyBorderTopRightRadius:
-    case CSSPropertyStrokeDasharray:
+    case CSSPropertyID::kBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
+    case CSSPropertyID::kBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopRightRadius:
+    case CSSPropertyID::kStrokeDasharray:
       return kValueRangeNonNegative;
 
     default:
@@ -133,35 +133,35 @@
   DCHECK(result.IsEmpty());
 
   switch (property.PropertyID()) {
-    case CSSPropertyStrokeDasharray: {
+    case CSSPropertyID::kStrokeDasharray: {
       if (style.StrokeDashArray())
         result.AppendVector(style.StrokeDashArray()->GetVector());
       return true;
     }
 
-    case CSSPropertyObjectPosition:
+    case CSSPropertyID::kObjectPosition:
       return AppendToVector(style.ObjectPosition(), result);
-    case CSSPropertyOffsetAnchor:
+    case CSSPropertyID::kOffsetAnchor:
       return AppendToVector(style.OffsetAnchor(), result);
-    case CSSPropertyOffsetPosition:
+    case CSSPropertyID::kOffsetPosition:
       return AppendToVector(style.OffsetPosition(), result);
-    case CSSPropertyPerspectiveOrigin:
+    case CSSPropertyID::kPerspectiveOrigin:
       return AppendToVector(style.PerspectiveOrigin(), result);
-    case CSSPropertyBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomLeftRadius:
       return AppendToVector(style.BorderBottomLeftRadius(), result);
-    case CSSPropertyBorderBottomRightRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
       return AppendToVector(style.BorderBottomRightRadius(), result);
-    case CSSPropertyBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopLeftRadius:
       return AppendToVector(style.BorderTopLeftRadius(), result);
-    case CSSPropertyBorderTopRightRadius:
+    case CSSPropertyID::kBorderTopRightRadius:
       return AppendToVector(style.BorderTopRightRadius(), result);
-    case CSSPropertyTransformOrigin:
+    case CSSPropertyID::kTransformOrigin:
       return AppendToVector(style.GetTransformOrigin(), result);
 
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyBackgroundPositionY:
-    case CSSPropertyWebkitMaskPositionX:
-    case CSSPropertyWebkitMaskPositionY: {
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionY:
+    case CSSPropertyID::kWebkitMaskPositionX:
+    case CSSPropertyID::kWebkitMaskPositionY: {
       const FillLayer* fill_layer = GetFillLayerForPosition(property, style);
       FillLayerMethods fill_layer_methods(property);
       while (fill_layer && (fill_layer->*fill_layer_methods.is_set)()) {
@@ -204,47 +204,47 @@
                                                 ComputedStyle& style,
                                                 Vector<Length>&& length_list) {
   switch (property.PropertyID()) {
-    case CSSPropertyStrokeDasharray:
+    case CSSPropertyID::kStrokeDasharray:
       style.SetStrokeDashArray(
           length_list.IsEmpty()
               ? nullptr
               : RefVector<Length>::Create(std::move(length_list)));
       return;
 
-    case CSSPropertyObjectPosition:
+    case CSSPropertyID::kObjectPosition:
       style.SetObjectPosition(PointFromVector(length_list));
       return;
-    case CSSPropertyOffsetAnchor:
+    case CSSPropertyID::kOffsetAnchor:
       style.SetOffsetAnchor(PointFromVector(length_list));
       return;
-    case CSSPropertyOffsetPosition:
+    case CSSPropertyID::kOffsetPosition:
       style.SetOffsetPosition(PointFromVector(length_list));
       return;
-    case CSSPropertyPerspectiveOrigin:
+    case CSSPropertyID::kPerspectiveOrigin:
       style.SetPerspectiveOrigin(PointFromVector(length_list));
       return;
 
-    case CSSPropertyBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomLeftRadius:
       style.SetBorderBottomLeftRadius(SizeFromVector(length_list));
       return;
-    case CSSPropertyBorderBottomRightRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
       style.SetBorderBottomRightRadius(SizeFromVector(length_list));
       return;
-    case CSSPropertyBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopLeftRadius:
       style.SetBorderTopLeftRadius(SizeFromVector(length_list));
       return;
-    case CSSPropertyBorderTopRightRadius:
+    case CSSPropertyID::kBorderTopRightRadius:
       style.SetBorderTopRightRadius(SizeFromVector(length_list));
       return;
 
-    case CSSPropertyTransformOrigin:
+    case CSSPropertyID::kTransformOrigin:
       style.SetTransformOrigin(TransformOriginFromVector(length_list));
       return;
 
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyBackgroundPositionY:
-    case CSSPropertyWebkitMaskPositionX:
-    case CSSPropertyWebkitMaskPositionY: {
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionY:
+    case CSSPropertyID::kWebkitMaskPositionX:
+    case CSSPropertyID::kWebkitMaskPositionY: {
       FillLayer* fill_layer = AccessFillLayerForPosition(property, style);
       FillLayer* prev = nullptr;
       FillLayerMethods fill_layer_methods(property);
diff --git a/third_party/blink/renderer/core/animation/length_property_functions.cc b/third_party/blink/renderer/core/animation/length_property_functions.cc
index c11eb097..bc4de2f 100644
--- a/third_party/blink/renderer/core/animation/length_property_functions.cc
+++ b/third_party/blink/renderer/core/animation/length_property_functions.cc
@@ -10,34 +10,34 @@
 
 ValueRange LengthPropertyFunctions::GetValueRange(const CSSProperty& property) {
   switch (property.PropertyID()) {
-    case CSSPropertyBorderBottomWidth:
-    case CSSPropertyBorderLeftWidth:
-    case CSSPropertyBorderRightWidth:
-    case CSSPropertyBorderTopWidth:
-    case CSSPropertyFlexBasis:
-    case CSSPropertyHeight:
-    case CSSPropertyLineHeight:
-    case CSSPropertyMaxHeight:
-    case CSSPropertyMaxWidth:
-    case CSSPropertyMinHeight:
-    case CSSPropertyMinWidth:
-    case CSSPropertyOutlineWidth:
-    case CSSPropertyPaddingBottom:
-    case CSSPropertyPaddingLeft:
-    case CSSPropertyPaddingRight:
-    case CSSPropertyPaddingTop:
-    case CSSPropertyPerspective:
-    case CSSPropertyR:
-    case CSSPropertyRx:
-    case CSSPropertyRy:
-    case CSSPropertyShapeMargin:
-    case CSSPropertyStrokeWidth:
-    case CSSPropertyWebkitBorderHorizontalSpacing:
-    case CSSPropertyWebkitBorderVerticalSpacing:
-    case CSSPropertyColumnGap:
-    case CSSPropertyRowGap:
-    case CSSPropertyColumnWidth:
-    case CSSPropertyWidth:
+    case CSSPropertyID::kBorderBottomWidth:
+    case CSSPropertyID::kBorderLeftWidth:
+    case CSSPropertyID::kBorderRightWidth:
+    case CSSPropertyID::kBorderTopWidth:
+    case CSSPropertyID::kFlexBasis:
+    case CSSPropertyID::kHeight:
+    case CSSPropertyID::kLineHeight:
+    case CSSPropertyID::kMaxHeight:
+    case CSSPropertyID::kMaxWidth:
+    case CSSPropertyID::kMinHeight:
+    case CSSPropertyID::kMinWidth:
+    case CSSPropertyID::kOutlineWidth:
+    case CSSPropertyID::kPaddingBottom:
+    case CSSPropertyID::kPaddingLeft:
+    case CSSPropertyID::kPaddingRight:
+    case CSSPropertyID::kPaddingTop:
+    case CSSPropertyID::kPerspective:
+    case CSSPropertyID::kR:
+    case CSSPropertyID::kRx:
+    case CSSPropertyID::kRy:
+    case CSSPropertyID::kShapeMargin:
+    case CSSPropertyID::kStrokeWidth:
+    case CSSPropertyID::kWebkitBorderHorizontalSpacing:
+    case CSSPropertyID::kWebkitBorderVerticalSpacing:
+    case CSSPropertyID::kColumnGap:
+    case CSSPropertyID::kRowGap:
+    case CSSPropertyID::kColumnWidth:
+    case CSSPropertyID::kWidth:
       return kValueRangeNonNegative;
     default:
       return kValueRangeAll;
@@ -45,25 +45,25 @@
 }
 
 bool LengthPropertyFunctions::IsZoomedLength(const CSSProperty& property) {
-  return property.PropertyID() != CSSPropertyStrokeWidth;
+  return property.PropertyID() != CSSPropertyID::kStrokeWidth;
 }
 
 bool LengthPropertyFunctions::GetPixelsForKeyword(const CSSProperty& property,
                                                   CSSValueID value_id,
                                                   double& result) {
   switch (property.PropertyID()) {
-    case CSSPropertyBaselineShift:
+    case CSSPropertyID::kBaselineShift:
       if (value_id == CSSValueBaseline) {
         result = 0;
         return true;
       }
       return false;
-    case CSSPropertyBorderBottomWidth:
-    case CSSPropertyBorderLeftWidth:
-    case CSSPropertyBorderRightWidth:
-    case CSSPropertyBorderTopWidth:
-    case CSSPropertyColumnRuleWidth:
-    case CSSPropertyOutlineWidth:
+    case CSSPropertyID::kBorderBottomWidth:
+    case CSSPropertyID::kBorderLeftWidth:
+    case CSSPropertyID::kBorderRightWidth:
+    case CSSPropertyID::kBorderTopWidth:
+    case CSSPropertyID::kColumnRuleWidth:
+    case CSSPropertyID::kOutlineWidth:
       if (value_id == CSSValueThin) {
         result = 1;
         return true;
@@ -77,8 +77,8 @@
         return true;
       }
       return false;
-    case CSSPropertyLetterSpacing:
-    case CSSPropertyWordSpacing:
+    case CSSPropertyID::kLetterSpacing:
+    case CSSPropertyID::kWordSpacing:
       if (value_id == CSSValueNormal) {
         result = 0;
         return true;
@@ -102,16 +102,16 @@
     // for hidden widths to avoid having to restart our animations based on the
     // computed *-style values. This is acceptable since animations running on
     // hidden widths are unobservable to the user, even via getComputedStyle().
-    case CSSPropertyBorderBottomWidth:
-    case CSSPropertyBorderLeftWidth:
-    case CSSPropertyBorderRightWidth:
-    case CSSPropertyBorderTopWidth:
+    case CSSPropertyID::kBorderBottomWidth:
+    case CSSPropertyID::kBorderLeftWidth:
+    case CSSPropertyID::kBorderRightWidth:
+    case CSSPropertyID::kBorderTopWidth:
       result = Length::Fixed(ComputedStyleInitialValues::InitialBorderWidth());
       return true;
-    case CSSPropertyOutlineWidth:
+    case CSSPropertyID::kOutlineWidth:
       result = Length::Fixed(ComputedStyleInitialValues::InitialOutlineWidth());
       return true;
-    case CSSPropertyColumnRuleWidth:
+    case CSSPropertyID::kColumnRuleWidth:
       result =
           Length::Fixed(ComputedStyleInitialValues::InitialColumnRuleWidth());
       return true;
@@ -125,182 +125,182 @@
                                         const ComputedStyle& style,
                                         Length& result) {
   switch (property.PropertyID()) {
-    case CSSPropertyBottom:
+    case CSSPropertyID::kBottom:
       result = style.Bottom();
       return true;
-    case CSSPropertyCx:
+    case CSSPropertyID::kCx:
       result = style.SvgStyle().Cx();
       return true;
-    case CSSPropertyCy:
+    case CSSPropertyID::kCy:
       result = style.SvgStyle().Cy();
       return true;
-    case CSSPropertyFlexBasis:
+    case CSSPropertyID::kFlexBasis:
       result = style.FlexBasis();
       return true;
-    case CSSPropertyHeight:
+    case CSSPropertyID::kHeight:
       result = style.Height();
       return true;
-    case CSSPropertyLeft:
+    case CSSPropertyID::kLeft:
       result = style.Left();
       return true;
-    case CSSPropertyMarginBottom:
+    case CSSPropertyID::kMarginBottom:
       result = style.MarginBottom();
       return true;
-    case CSSPropertyMarginLeft:
+    case CSSPropertyID::kMarginLeft:
       result = style.MarginLeft();
       return true;
-    case CSSPropertyMarginRight:
+    case CSSPropertyID::kMarginRight:
       result = style.MarginRight();
       return true;
-    case CSSPropertyMarginTop:
+    case CSSPropertyID::kMarginTop:
       result = style.MarginTop();
       return true;
-    case CSSPropertyMaxHeight:
+    case CSSPropertyID::kMaxHeight:
       result = style.MaxHeight();
       return true;
-    case CSSPropertyMaxWidth:
+    case CSSPropertyID::kMaxWidth:
       result = style.MaxWidth();
       return true;
-    case CSSPropertyMinHeight:
+    case CSSPropertyID::kMinHeight:
       result = style.MinHeight();
       return true;
-    case CSSPropertyMinWidth:
+    case CSSPropertyID::kMinWidth:
       result = style.MinWidth();
       return true;
-    case CSSPropertyOffsetDistance:
+    case CSSPropertyID::kOffsetDistance:
       result = style.OffsetDistance();
       return true;
-    case CSSPropertyPaddingBottom:
+    case CSSPropertyID::kPaddingBottom:
       result = style.PaddingBottom();
       return true;
-    case CSSPropertyPaddingLeft:
+    case CSSPropertyID::kPaddingLeft:
       result = style.PaddingLeft();
       return true;
-    case CSSPropertyPaddingRight:
+    case CSSPropertyID::kPaddingRight:
       result = style.PaddingRight();
       return true;
-    case CSSPropertyPaddingTop:
+    case CSSPropertyID::kPaddingTop:
       result = style.PaddingTop();
       return true;
-    case CSSPropertyR:
+    case CSSPropertyID::kR:
       result = style.SvgStyle().R();
       return true;
-    case CSSPropertyRight:
+    case CSSPropertyID::kRight:
       result = style.Right();
       return true;
-    case CSSPropertyRx:
+    case CSSPropertyID::kRx:
       result = style.SvgStyle().Rx();
       return true;
-    case CSSPropertyRy:
+    case CSSPropertyID::kRy:
       result = style.SvgStyle().Ry();
       return true;
-    case CSSPropertyShapeMargin:
+    case CSSPropertyID::kShapeMargin:
       result = style.ShapeMargin();
       return true;
-    case CSSPropertyStrokeDashoffset:
+    case CSSPropertyID::kStrokeDashoffset:
       result = style.StrokeDashOffset();
       return true;
-    case CSSPropertyTextIndent:
+    case CSSPropertyID::kTextIndent:
       result = style.TextIndent();
       return true;
-    case CSSPropertyTop:
+    case CSSPropertyID::kTop:
       result = style.Top();
       return true;
-    case CSSPropertyWebkitPerspectiveOriginX:
+    case CSSPropertyID::kWebkitPerspectiveOriginX:
       result = style.PerspectiveOriginX();
       return true;
-    case CSSPropertyWebkitPerspectiveOriginY:
+    case CSSPropertyID::kWebkitPerspectiveOriginY:
       result = style.PerspectiveOriginY();
       return true;
-    case CSSPropertyWebkitTransformOriginX:
+    case CSSPropertyID::kWebkitTransformOriginX:
       result = style.TransformOriginX();
       return true;
-    case CSSPropertyWebkitTransformOriginY:
+    case CSSPropertyID::kWebkitTransformOriginY:
       result = style.TransformOriginY();
       return true;
-    case CSSPropertyWidth:
+    case CSSPropertyID::kWidth:
       result = style.Width();
       return true;
-    case CSSPropertyX:
+    case CSSPropertyID::kX:
       result = style.SvgStyle().X();
       return true;
-    case CSSPropertyY:
+    case CSSPropertyID::kY:
       result = style.SvgStyle().Y();
       return true;
 
-    case CSSPropertyBorderBottomWidth:
+    case CSSPropertyID::kBorderBottomWidth:
       result = Length::Fixed(style.BorderBottomWidth());
       return true;
-    case CSSPropertyBorderLeftWidth:
+    case CSSPropertyID::kBorderLeftWidth:
       result = Length::Fixed(style.BorderLeftWidth());
       return true;
-    case CSSPropertyBorderRightWidth:
+    case CSSPropertyID::kBorderRightWidth:
       result = Length::Fixed(style.BorderRightWidth());
       return true;
-    case CSSPropertyBorderTopWidth:
+    case CSSPropertyID::kBorderTopWidth:
       result = Length::Fixed(style.BorderTopWidth());
       return true;
-    case CSSPropertyLetterSpacing:
+    case CSSPropertyID::kLetterSpacing:
       result = Length::Fixed(style.LetterSpacing());
       return true;
-    case CSSPropertyOutlineOffset:
+    case CSSPropertyID::kOutlineOffset:
       result = Length::Fixed(style.OutlineOffset());
       return true;
-    case CSSPropertyOutlineWidth:
+    case CSSPropertyID::kOutlineWidth:
       result = Length::Fixed(style.OutlineWidth());
       return true;
-    case CSSPropertyWebkitBorderHorizontalSpacing:
+    case CSSPropertyID::kWebkitBorderHorizontalSpacing:
       result = Length::Fixed(style.HorizontalBorderSpacing());
       return true;
-    case CSSPropertyWebkitBorderVerticalSpacing:
+    case CSSPropertyID::kWebkitBorderVerticalSpacing:
       result = Length::Fixed(style.VerticalBorderSpacing());
       return true;
-    case CSSPropertyRowGap:
+    case CSSPropertyID::kRowGap:
       if (style.RowGap().IsNormal())
         return false;
       result = style.RowGap().GetLength();
       return true;
-    case CSSPropertyColumnGap:
+    case CSSPropertyID::kColumnGap:
       if (style.ColumnGap().IsNormal())
         return false;
       result = style.ColumnGap().GetLength();
       return true;
-    case CSSPropertyColumnRuleWidth:
+    case CSSPropertyID::kColumnRuleWidth:
       result = Length::Fixed(style.ColumnRuleWidth());
       return true;
-    case CSSPropertyWebkitTransformOriginZ:
+    case CSSPropertyID::kWebkitTransformOriginZ:
       result = Length::Fixed(style.TransformOriginZ());
       return true;
-    case CSSPropertyWordSpacing:
+    case CSSPropertyID::kWordSpacing:
       result = Length::Fixed(style.WordSpacing());
       return true;
 
-    case CSSPropertyBaselineShift:
+    case CSSPropertyID::kBaselineShift:
       if (style.BaselineShift() != BS_LENGTH)
         return false;
       result = style.BaselineShiftValue();
       return true;
-    case CSSPropertyLineHeight:
+    case CSSPropertyID::kLineHeight:
       // Percent Lengths are used to represent numbers on line-height.
       if (style.SpecifiedLineHeight().IsPercentOrCalc())
         return false;
       result = style.SpecifiedLineHeight();
       return true;
-    case CSSPropertyPerspective:
+    case CSSPropertyID::kPerspective:
       if (!style.HasPerspective())
         return false;
       result = Length::Fixed(style.Perspective());
       return true;
-    case CSSPropertyStrokeWidth:
-      DCHECK(!IsZoomedLength(CSSProperty::Get(CSSPropertyStrokeWidth)));
+    case CSSPropertyID::kStrokeWidth:
+      DCHECK(!IsZoomedLength(CSSProperty::Get(CSSPropertyID::kStrokeWidth)));
       result = style.StrokeWidth().length();
       return true;
-    case CSSPropertyVerticalAlign:
+    case CSSPropertyID::kVerticalAlign:
       if (style.VerticalAlign() != EVerticalAlign::kLength)
         return false;
       result = style.GetVerticalAlignLength();
       return true;
-    case CSSPropertyColumnWidth:
+    case CSSPropertyID::kColumnWidth:
       if (style.HasAutoColumnWidth())
         return false;
       result = Length::Fixed(style.ColumnWidth());
@@ -315,110 +315,110 @@
                                         const Length& value) {
   switch (property.PropertyID()) {
     // Setters that take a Length value.
-    case CSSPropertyBaselineShift:
+    case CSSPropertyID::kBaselineShift:
       style.SetBaselineShiftValue(value);
       return true;
-    case CSSPropertyBottom:
+    case CSSPropertyID::kBottom:
       style.SetBottom(value);
       return true;
-    case CSSPropertyCx:
+    case CSSPropertyID::kCx:
       style.SetCx(value);
       return true;
-    case CSSPropertyCy:
+    case CSSPropertyID::kCy:
       style.SetCy(value);
       return true;
-    case CSSPropertyFlexBasis:
+    case CSSPropertyID::kFlexBasis:
       style.SetFlexBasis(value);
       return true;
-    case CSSPropertyHeight:
+    case CSSPropertyID::kHeight:
       style.SetHeight(value);
       return true;
-    case CSSPropertyLeft:
+    case CSSPropertyID::kLeft:
       style.SetLeft(value);
       return true;
-    case CSSPropertyMarginBottom:
+    case CSSPropertyID::kMarginBottom:
       style.SetMarginBottom(value);
       return true;
-    case CSSPropertyMarginLeft:
+    case CSSPropertyID::kMarginLeft:
       style.SetMarginLeft(value);
       return true;
-    case CSSPropertyMarginRight:
+    case CSSPropertyID::kMarginRight:
       style.SetMarginRight(value);
       return true;
-    case CSSPropertyMarginTop:
+    case CSSPropertyID::kMarginTop:
       style.SetMarginTop(value);
       return true;
-    case CSSPropertyMaxHeight:
+    case CSSPropertyID::kMaxHeight:
       style.SetMaxHeight(value);
       return true;
-    case CSSPropertyMaxWidth:
+    case CSSPropertyID::kMaxWidth:
       style.SetMaxWidth(value);
       return true;
-    case CSSPropertyMinHeight:
+    case CSSPropertyID::kMinHeight:
       style.SetMinHeight(value);
       return true;
-    case CSSPropertyMinWidth:
+    case CSSPropertyID::kMinWidth:
       style.SetMinWidth(value);
       return true;
-    case CSSPropertyOffsetDistance:
+    case CSSPropertyID::kOffsetDistance:
       style.SetOffsetDistance(value);
       return true;
-    case CSSPropertyPaddingBottom:
+    case CSSPropertyID::kPaddingBottom:
       style.SetPaddingBottom(value);
       return true;
-    case CSSPropertyPaddingLeft:
+    case CSSPropertyID::kPaddingLeft:
       style.SetPaddingLeft(value);
       return true;
-    case CSSPropertyPaddingRight:
+    case CSSPropertyID::kPaddingRight:
       style.SetPaddingRight(value);
       return true;
-    case CSSPropertyPaddingTop:
+    case CSSPropertyID::kPaddingTop:
       style.SetPaddingTop(value);
       return true;
-    case CSSPropertyR:
+    case CSSPropertyID::kR:
       style.SetR(value);
       return true;
-    case CSSPropertyRx:
+    case CSSPropertyID::kRx:
       style.SetRx(value);
       return true;
-    case CSSPropertyRy:
+    case CSSPropertyID::kRy:
       style.SetRy(value);
       return true;
-    case CSSPropertyRight:
+    case CSSPropertyID::kRight:
       style.SetRight(value);
       return true;
-    case CSSPropertyShapeMargin:
+    case CSSPropertyID::kShapeMargin:
       style.SetShapeMargin(value);
       return true;
-    case CSSPropertyStrokeDashoffset:
+    case CSSPropertyID::kStrokeDashoffset:
       style.SetStrokeDashOffset(value);
       return true;
-    case CSSPropertyTop:
+    case CSSPropertyID::kTop:
       style.SetTop(value);
       return true;
-    case CSSPropertyWidth:
+    case CSSPropertyID::kWidth:
       style.SetWidth(value);
       return true;
-    case CSSPropertyWebkitPerspectiveOriginX:
+    case CSSPropertyID::kWebkitPerspectiveOriginX:
       style.SetPerspectiveOriginX(value);
       return true;
-    case CSSPropertyWebkitPerspectiveOriginY:
+    case CSSPropertyID::kWebkitPerspectiveOriginY:
       style.SetPerspectiveOriginY(value);
       return true;
-    case CSSPropertyWebkitTransformOriginX:
+    case CSSPropertyID::kWebkitTransformOriginX:
       style.SetTransformOriginX(value);
       return true;
-    case CSSPropertyWebkitTransformOriginY:
+    case CSSPropertyID::kWebkitTransformOriginY:
       style.SetTransformOriginY(value);
       return true;
-    case CSSPropertyX:
+    case CSSPropertyID::kX:
       style.SetX(value);
       return true;
-    case CSSPropertyY:
+    case CSSPropertyID::kY:
       style.SetY(value);
       return true;
 
-    case CSSPropertyLineHeight:
+    case CSSPropertyID::kLineHeight:
       // Percent Lengths are used to represent numbers on line-height.
       if (value.IsPercentOrCalc())
         return false;
@@ -427,24 +427,24 @@
 
     // TODO(alancutter): Support setters that take a numeric value (need to
     // resolve percentages).
-    case CSSPropertyBorderBottomWidth:
-    case CSSPropertyBorderLeftWidth:
-    case CSSPropertyBorderRightWidth:
-    case CSSPropertyBorderTopWidth:
-    case CSSPropertyLetterSpacing:
-    case CSSPropertyOutlineOffset:
-    case CSSPropertyOutlineWidth:
-    case CSSPropertyPerspective:
-    case CSSPropertyStrokeWidth:
-    case CSSPropertyVerticalAlign:
-    case CSSPropertyWebkitBorderHorizontalSpacing:
-    case CSSPropertyWebkitBorderVerticalSpacing:
-    case CSSPropertyColumnGap:
-    case CSSPropertyRowGap:
-    case CSSPropertyColumnRuleWidth:
-    case CSSPropertyColumnWidth:
-    case CSSPropertyWebkitTransformOriginZ:
-    case CSSPropertyWordSpacing:
+    case CSSPropertyID::kBorderBottomWidth:
+    case CSSPropertyID::kBorderLeftWidth:
+    case CSSPropertyID::kBorderRightWidth:
+    case CSSPropertyID::kBorderTopWidth:
+    case CSSPropertyID::kLetterSpacing:
+    case CSSPropertyID::kOutlineOffset:
+    case CSSPropertyID::kOutlineWidth:
+    case CSSPropertyID::kPerspective:
+    case CSSPropertyID::kStrokeWidth:
+    case CSSPropertyID::kVerticalAlign:
+    case CSSPropertyID::kWebkitBorderHorizontalSpacing:
+    case CSSPropertyID::kWebkitBorderVerticalSpacing:
+    case CSSPropertyID::kColumnGap:
+    case CSSPropertyID::kRowGap:
+    case CSSPropertyID::kColumnRuleWidth:
+    case CSSPropertyID::kColumnWidth:
+    case CSSPropertyID::kWebkitTransformOriginZ:
+    case CSSPropertyID::kWordSpacing:
       return false;
 
     default:
diff --git a/third_party/blink/renderer/core/animation/number_property_functions.cc b/third_party/blink/renderer/core/animation/number_property_functions.cc
index 467a58f..d83363c 100644
--- a/third_party/blink/renderer/core/animation/number_property_functions.cc
+++ b/third_party/blink/renderer/core/animation/number_property_functions.cc
@@ -17,52 +17,52 @@
     const CSSProperty& property,
     const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyFillOpacity:
+    case CSSPropertyID::kFillOpacity:
       return style.FillOpacity();
-    case CSSPropertyFlexGrow:
+    case CSSPropertyID::kFlexGrow:
       return style.FlexGrow();
-    case CSSPropertyFlexShrink:
+    case CSSPropertyID::kFlexShrink:
       return style.FlexShrink();
-    case CSSPropertyFloodOpacity:
+    case CSSPropertyID::kFloodOpacity:
       return style.FloodOpacity();
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kOpacity:
       return style.Opacity();
-    case CSSPropertyOrder:
+    case CSSPropertyID::kOrder:
       return style.Order();
-    case CSSPropertyOrphans:
+    case CSSPropertyID::kOrphans:
       return style.Orphans();
-    case CSSPropertyShapeImageThreshold:
+    case CSSPropertyID::kShapeImageThreshold:
       return style.ShapeImageThreshold();
-    case CSSPropertyStopOpacity:
+    case CSSPropertyID::kStopOpacity:
       return style.StopOpacity();
-    case CSSPropertyStrokeMiterlimit:
+    case CSSPropertyID::kStrokeMiterlimit:
       return style.StrokeMiterLimit();
-    case CSSPropertyStrokeOpacity:
+    case CSSPropertyID::kStrokeOpacity:
       return style.StrokeOpacity();
-    case CSSPropertyWidows:
+    case CSSPropertyID::kWidows:
       return style.Widows();
 
-    case CSSPropertyFontSizeAdjust:
+    case CSSPropertyID::kFontSizeAdjust:
       if (!style.HasFontSizeAdjust())
         return base::Optional<double>();
       return style.FontSizeAdjust();
-    case CSSPropertyColumnCount:
+    case CSSPropertyID::kColumnCount:
       if (style.HasAutoColumnCount())
         return base::Optional<double>();
       return style.ColumnCount();
-    case CSSPropertyZIndex:
+    case CSSPropertyID::kZIndex:
       if (style.HasAutoZIndex())
         return base::Optional<double>();
       return style.ZIndex();
 
-    case CSSPropertyTextSizeAdjust: {
+    case CSSPropertyID::kTextSizeAdjust: {
       const TextSizeAdjust& text_size_adjust = style.GetTextSizeAdjust();
       if (text_size_adjust.IsAuto())
         return base::Optional<double>();
       return text_size_adjust.Multiplier() * 100;
     }
 
-    case CSSPropertyLineHeight: {
+    case CSSPropertyID::kLineHeight: {
       const Length& length = style.SpecifiedLineHeight();
       // Numbers are represented by percentages.
       if (!length.IsPercent())
@@ -82,38 +82,38 @@
 double NumberPropertyFunctions::ClampNumber(const CSSProperty& property,
                                             double value) {
   switch (property.PropertyID()) {
-    case CSSPropertyStrokeMiterlimit:
+    case CSSPropertyID::kStrokeMiterlimit:
       return clampTo<float>(value, 1);
 
-    case CSSPropertyFloodOpacity:
-    case CSSPropertyStopOpacity:
-    case CSSPropertyStrokeOpacity:
-    case CSSPropertyShapeImageThreshold:
+    case CSSPropertyID::kFloodOpacity:
+    case CSSPropertyID::kStopOpacity:
+    case CSSPropertyID::kStrokeOpacity:
+    case CSSPropertyID::kShapeImageThreshold:
       return clampTo<float>(value, 0, 1);
 
-    case CSSPropertyFillOpacity:
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kFillOpacity:
+    case CSSPropertyID::kOpacity:
       return clampTo<float>(value, 0, nextafterf(1, 0));
 
-    case CSSPropertyFlexGrow:
-    case CSSPropertyFlexShrink:
-    case CSSPropertyFontSizeAdjust:
-    case CSSPropertyLineHeight:
-    case CSSPropertyTextSizeAdjust:
+    case CSSPropertyID::kFlexGrow:
+    case CSSPropertyID::kFlexShrink:
+    case CSSPropertyID::kFontSizeAdjust:
+    case CSSPropertyID::kLineHeight:
+    case CSSPropertyID::kTextSizeAdjust:
       return clampTo<float>(value, 0);
 
-    case CSSPropertyOrphans:
-    case CSSPropertyWidows:
+    case CSSPropertyID::kOrphans:
+    case CSSPropertyID::kWidows:
       return clampTo<int16_t>(round(value), 1);
 
-    case CSSPropertyColumnCount:
+    case CSSPropertyID::kColumnCount:
       return clampTo<uint16_t>(round(value), 1);
 
-    case CSSPropertyColumnRuleWidth:
+    case CSSPropertyID::kColumnRuleWidth:
       return clampTo<uint16_t>(round(value));
 
-    case CSSPropertyOrder:
-    case CSSPropertyZIndex:
+    case CSSPropertyID::kOrder:
+    case CSSPropertyID::kZIndex:
       return clampTo<int>(round(value));
 
     default:
@@ -127,52 +127,52 @@
                                         double value) {
   DCHECK_EQ(value, ClampNumber(property, value));
   switch (property.PropertyID()) {
-    case CSSPropertyFillOpacity:
+    case CSSPropertyID::kFillOpacity:
       style.SetFillOpacity(value);
       return true;
-    case CSSPropertyFlexGrow:
+    case CSSPropertyID::kFlexGrow:
       style.SetFlexGrow(value);
       return true;
-    case CSSPropertyFlexShrink:
+    case CSSPropertyID::kFlexShrink:
       style.SetFlexShrink(value);
       return true;
-    case CSSPropertyFloodOpacity:
+    case CSSPropertyID::kFloodOpacity:
       style.SetFloodOpacity(value);
       return true;
-    case CSSPropertyLineHeight:
+    case CSSPropertyID::kLineHeight:
       style.SetLineHeight(Length::Percent(value * 100));
       return true;
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kOpacity:
       style.SetOpacity(value);
       return true;
-    case CSSPropertyOrder:
+    case CSSPropertyID::kOrder:
       style.SetOrder(value);
       return true;
-    case CSSPropertyOrphans:
+    case CSSPropertyID::kOrphans:
       style.SetOrphans(value);
       return true;
-    case CSSPropertyShapeImageThreshold:
+    case CSSPropertyID::kShapeImageThreshold:
       style.SetShapeImageThreshold(value);
       return true;
-    case CSSPropertyStopOpacity:
+    case CSSPropertyID::kStopOpacity:
       style.SetStopOpacity(value);
       return true;
-    case CSSPropertyStrokeMiterlimit:
+    case CSSPropertyID::kStrokeMiterlimit:
       style.SetStrokeMiterLimit(value);
       return true;
-    case CSSPropertyStrokeOpacity:
+    case CSSPropertyID::kStrokeOpacity:
       style.SetStrokeOpacity(value);
       return true;
-    case CSSPropertyColumnCount:
+    case CSSPropertyID::kColumnCount:
       style.SetColumnCount(value);
       return true;
-    case CSSPropertyTextSizeAdjust:
+    case CSSPropertyID::kTextSizeAdjust:
       style.SetTextSizeAdjust(value / 100.);
       return true;
-    case CSSPropertyWidows:
+    case CSSPropertyID::kWidows:
       style.SetWidows(value);
       return true;
-    case CSSPropertyZIndex:
+    case CSSPropertyID::kZIndex:
       style.SetZIndex(value);
       return true;
     default:
diff --git a/third_party/blink/renderer/core/animation/property_handle.h b/third_party/blink/renderer/core/animation/property_handle.h
index eeca4b7..39fb5a0 100644
--- a/third_party/blink/renderer/core/animation/property_handle.h
+++ b/third_party/blink/renderer/core/animation/property_handle.h
@@ -24,7 +24,7 @@
       : handle_type_(is_presentation_attribute ? kHandlePresentationAttribute
                                                : kHandleCSSProperty),
         css_property_(&property) {
-    DCHECK_NE(CSSPropertyVariable, property.PropertyID());
+    DCHECK_NE(CSSPropertyID::kVariable, property.PropertyID());
   }
 
   explicit PropertyHandle(const AtomicString& property_name)
diff --git a/third_party/blink/renderer/core/animation/property_handle_test.cc b/third_party/blink/renderer/core/animation/property_handle_test.cc
index 7d2187e..5348c19d 100644
--- a/third_party/blink/renderer/core/animation/property_handle_test.cc
+++ b/third_party/blink/renderer/core/animation/property_handle_test.cc
@@ -111,18 +111,18 @@
   EXPECT_FALSE(PropertyHandle(kAmplitudeAttr).IsCSSCustomProperty());
 
   EXPECT_EQ(
-      CSSPropertyOpacity,
+      CSSPropertyID::kOpacity,
       PropertyHandle(GetCSSPropertyOpacity()).GetCSSProperty().PropertyID());
-  EXPECT_EQ(CSSPropertyVariable,
+  EXPECT_EQ(CSSPropertyID::kVariable,
             PropertyHandle(name).GetCSSProperty().PropertyID());
   EXPECT_EQ(name, PropertyHandle(name).CustomPropertyName());
   EXPECT_EQ(kAmplitudeAttr, PropertyHandle(kAmplitudeAttr).SvgAttribute());
 
   EXPECT_EQ(name, PropertyHandle(name).GetCSSPropertyName().ToAtomicString());
-  EXPECT_EQ(CSSPropertyOpacity,
+  EXPECT_EQ(CSSPropertyID::kOpacity,
             PropertyHandle(GetCSSPropertyOpacity()).GetCSSPropertyName().Id());
   EXPECT_EQ(
-      CSSPropertyColor,
+      CSSPropertyID::kColor,
       PropertyHandle(GetCSSPropertyColor(), true).GetCSSPropertyName().Id());
 }
 
diff --git a/third_party/blink/renderer/core/animation/size_list_property_functions.cc b/third_party/blink/renderer/core/animation/size_list_property_functions.cc
index 9c140c0..67712f6 100644
--- a/third_party/blink/renderer/core/animation/size_list_property_functions.cc
+++ b/third_party/blink/renderer/core/animation/size_list_property_functions.cc
@@ -11,9 +11,9 @@
 static const FillLayer* GetFillLayerForSize(const CSSProperty& property,
                                             const ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundSize:
+    case CSSPropertyID::kBackgroundSize:
       return &style.BackgroundLayers();
-    case CSSPropertyWebkitMaskSize:
+    case CSSPropertyID::kWebkitMaskSize:
       return &style.MaskLayers();
     default:
       NOTREACHED();
@@ -24,9 +24,9 @@
 static FillLayer* AccessFillLayerForSize(const CSSProperty& property,
                                          ComputedStyle& style) {
   switch (property.PropertyID()) {
-    case CSSPropertyBackgroundSize:
+    case CSSPropertyID::kBackgroundSize:
       return &style.AccessBackgroundLayers();
-    case CSSPropertyWebkitMaskSize:
+    case CSSPropertyID::kWebkitMaskSize:
       return &style.AccessMaskLayers();
     default:
       NOTREACHED();
diff --git a/third_party/blink/renderer/core/animation/string_keyframe.cc b/third_party/blink/renderer/core/animation/string_keyframe.cc
index 70c4ee0..cc805aa3 100644
--- a/third_party/blink/renderer/core/animation/string_keyframe.cc
+++ b/third_party/blink/renderer/core/animation/string_keyframe.cc
@@ -38,7 +38,7 @@
     const String& value,
     SecureContextMode secure_context_mode,
     StyleSheetContents* style_sheet_contents) {
-  DCHECK_NE(property, CSSPropertyInvalid);
+  DCHECK_NE(property, CSSPropertyID::kInvalid);
   if (CSSAnimations::IsAnimationAffectingProperty(CSSProperty::Get(property))) {
     bool did_parse = true;
     bool did_change = false;
@@ -50,7 +50,7 @@
 
 void StringKeyframe::SetCSSPropertyValue(const CSSProperty& property,
                                          const CSSValue& value) {
-  DCHECK_NE(property.PropertyID(), CSSPropertyInvalid);
+  DCHECK_NE(property.PropertyID(), CSSPropertyID::kInvalid);
   DCHECK(!CSSAnimations::IsAnimationAffectingProperty(property));
   css_property_map_->SetProperty(property.PropertyID(), value, false);
 }
@@ -60,7 +60,7 @@
     const String& value,
     SecureContextMode secure_context_mode,
     StyleSheetContents* style_sheet_contents) {
-  DCHECK_NE(property.PropertyID(), CSSPropertyInvalid);
+  DCHECK_NE(property.PropertyID(), CSSPropertyID::kInvalid);
   if (!CSSAnimations::IsAnimationAffectingProperty(property)) {
     presentation_attribute_map_->SetProperty(property.PropertyID(), value,
                                              false, secure_context_mode,
@@ -84,7 +84,7 @@
     DCHECK(!property.IsShorthand())
         << "Web Animations: Encountered unexpanded shorthand CSS property ("
         << static_cast<int>(property.PropertyID()) << ").";
-    if (property.IDEquals(CSSPropertyVariable)) {
+    if (property.IDEquals(CSSPropertyID::kVariable)) {
       properties.insert(PropertyHandle(
           To<CSSCustomPropertyDeclaration>(property_reference.Value())
               .GetName()));
diff --git a/third_party/blink/renderer/core/css/abstract_property_set_css_style_declaration.cc b/third_party/blink/renderer/core/css/abstract_property_set_css_style_declaration.cc
index f8bc038..50111ce3c 100644
--- a/third_party/blink/renderer/core/css/abstract_property_set_css_style_declaration.cc
+++ b/third_party/blink/renderer/core/css/abstract_property_set_css_style_declaration.cc
@@ -39,7 +39,7 @@
   if (i >= PropertySet().PropertyCount())
     return "";
   CSSPropertyValueSet::PropertyReference property = PropertySet().PropertyAt(i);
-  if (property.Id() == CSSPropertyVariable)
+  if (property.Id() == CSSPropertyID::kVariable)
     return To<CSSCustomPropertyDeclaration>(property.Value()).GetName();
   return property.Property().GetPropertyName();
 }
@@ -73,7 +73,7 @@
   CSSPropertyID property_id = cssPropertyID(property_name);
   if (!isValidCSSPropertyID(property_id))
     return String();
-  if (property_id == CSSPropertyVariable)
+  if (property_id == CSSPropertyID::kVariable)
     return PropertySet().GetPropertyValue(AtomicString(property_name));
   return PropertySet().GetPropertyValue(property_id);
 }
@@ -85,7 +85,7 @@
     return String();
 
   bool important = false;
-  if (property_id == CSSPropertyVariable)
+  if (property_id == CSSPropertyID::kVariable)
     important = PropertySet().PropertyIsImportant(AtomicString(property_name));
   else
     important = PropertySet().PropertyIsImportant(property_id);
@@ -147,7 +147,7 @@
 
   String result;
   bool changed = false;
-  if (property_id == CSSPropertyVariable) {
+  if (property_id == CSSPropertyID::kVariable) {
     changed =
         PropertySet().RemoveProperty(AtomicString(property_name), &result);
   } else {
@@ -190,7 +190,7 @@
   WillMutate();
 
   bool did_change = false;
-  if (unresolved_property == CSSPropertyVariable) {
+  if (unresolved_property == CSSPropertyID::kVariable) {
     AtomicString atomic_name(custom_property_name);
 
     bool is_animation_tainted = IsKeyframeStyle();
diff --git a/third_party/blink/renderer/core/css/css_calculation_value_test.cc b/third_party/blink/renderer/core/css/css_calculation_value_test.cc
index e14457f..a6654c59 100644
--- a/third_party/blink/renderer/core/css/css_calculation_value_test.cc
+++ b/third_party/blink/renderer/core/css/css_calculation_value_test.cc
@@ -61,9 +61,9 @@
     x = 0;
   MutableCSSPropertyValueSet* property_set =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  property_set->SetProperty(CSSPropertyLeft, text, /* important */ false,
+  property_set->SetProperty(CSSPropertyID::kLeft, text, /* important */ false,
                             SecureContextMode::kInsecureContext);
-  To<CSSPrimitiveValue>(property_set->GetPropertyCSSValue(CSSPropertyLeft))
+  To<CSSPrimitiveValue>(property_set->GetPropertyCSSValue(CSSPropertyID::kLeft))
       ->AccumulateLengthArray(length_array);
   return length_array;
 }
diff --git a/third_party/blink/renderer/core/css/css_computed_style_declaration.cc b/third_party/blink/renderer/core/css/css_computed_style_declaration.cc
index b2ef659..ce1d5a8 100644
--- a/third_party/blink/renderer/core/css/css_computed_style_declaration.cc
+++ b/third_party/blink/renderer/core/css/css_computed_style_declaration.cc
@@ -54,127 +54,155 @@
 // NOTE: Do not use this list, use computableProperties() instead
 // to respect runtime enabling of CSS properties.
 const CSSPropertyID kComputedPropertyArray[] = {
-    CSSPropertyAnimationDelay, CSSPropertyAnimationDirection,
-    CSSPropertyAnimationDuration, CSSPropertyAnimationFillMode,
-    CSSPropertyAnimationIterationCount, CSSPropertyAnimationName,
-    CSSPropertyAnimationPlayState, CSSPropertyAnimationTimingFunction,
-    CSSPropertyBackgroundAttachment, CSSPropertyBackgroundBlendMode,
-    CSSPropertyBackgroundClip, CSSPropertyBackgroundColor,
-    CSSPropertyBackgroundImage, CSSPropertyBackgroundOrigin,
+    CSSPropertyID::kAnimationDelay, CSSPropertyID::kAnimationDirection,
+    CSSPropertyID::kAnimationDuration, CSSPropertyID::kAnimationFillMode,
+    CSSPropertyID::kAnimationIterationCount, CSSPropertyID::kAnimationName,
+    CSSPropertyID::kAnimationPlayState, CSSPropertyID::kAnimationTimingFunction,
+    CSSPropertyID::kBackgroundAttachment, CSSPropertyID::kBackgroundBlendMode,
+    CSSPropertyID::kBackgroundClip, CSSPropertyID::kBackgroundColor,
+    CSSPropertyID::kBackgroundImage, CSSPropertyID::kBackgroundOrigin,
     // more-specific background-position-x/y are non-standard
-    CSSPropertyBackgroundPosition, CSSPropertyBackgroundRepeat,
-    CSSPropertyBackgroundSize, CSSPropertyBorderBottomColor,
-    CSSPropertyBorderBottomLeftRadius, CSSPropertyBorderBottomRightRadius,
-    CSSPropertyBorderBottomStyle, CSSPropertyBorderBottomWidth,
-    CSSPropertyBorderCollapse, CSSPropertyBorderImageOutset,
-    CSSPropertyBorderImageRepeat, CSSPropertyBorderImageSlice,
-    CSSPropertyBorderImageSource, CSSPropertyBorderImageWidth,
-    CSSPropertyBorderLeftColor, CSSPropertyBorderLeftStyle,
-    CSSPropertyBorderLeftWidth, CSSPropertyBorderRightColor,
-    CSSPropertyBorderRightStyle, CSSPropertyBorderRightWidth,
-    CSSPropertyBorderTopColor, CSSPropertyBorderTopLeftRadius,
-    CSSPropertyBorderTopRightRadius, CSSPropertyBorderTopStyle,
-    CSSPropertyBorderTopWidth, CSSPropertyBottom, CSSPropertyBoxShadow,
-    CSSPropertyBoxSizing, CSSPropertyBreakAfter, CSSPropertyBreakBefore,
-    CSSPropertyBreakInside, CSSPropertyCaptionSide, CSSPropertyClear,
-    CSSPropertyClip, CSSPropertyColor, CSSPropertyContent, CSSPropertyCursor,
-    CSSPropertyDirection, CSSPropertyDisplay, CSSPropertyEmptyCells,
-    CSSPropertyFloat, CSSPropertyFontFamily, CSSPropertyFontKerning,
-    CSSPropertyFontSize, CSSPropertyFontSizeAdjust, CSSPropertyFontStretch,
-    CSSPropertyFontStyle, CSSPropertyFontVariant,
-    CSSPropertyFontVariantLigatures, CSSPropertyFontVariantCaps,
-    CSSPropertyFontVariantNumeric, CSSPropertyFontVariantEastAsian,
-    CSSPropertyFontWeight, CSSPropertyHeight, CSSPropertyImageOrientation,
-    CSSPropertyImageRendering, CSSPropertyIsolation, CSSPropertyJustifyItems,
-    CSSPropertyJustifySelf, CSSPropertyLeft, CSSPropertyLetterSpacing,
-    CSSPropertyLineHeight, CSSPropertyLineHeightStep, CSSPropertyListStyleImage,
-    CSSPropertyListStylePosition, CSSPropertyListStyleType,
-    CSSPropertyMarginBottom, CSSPropertyMarginLeft, CSSPropertyMarginRight,
-    CSSPropertyMarginTop, CSSPropertyMaxHeight, CSSPropertyMaxWidth,
-    CSSPropertyMinHeight, CSSPropertyMinWidth, CSSPropertyMixBlendMode,
-    CSSPropertyObjectFit, CSSPropertyObjectPosition, CSSPropertyOffsetAnchor,
-    CSSPropertyOffsetDistance, CSSPropertyOffsetPath, CSSPropertyOffsetPosition,
-    CSSPropertyOffsetRotate, CSSPropertyOpacity, CSSPropertyOrphans,
-    CSSPropertyOutlineColor, CSSPropertyOutlineOffset, CSSPropertyOutlineStyle,
-    CSSPropertyOutlineWidth, CSSPropertyOverflowAnchor, CSSPropertyOverflowWrap,
-    CSSPropertyOverflowX, CSSPropertyOverflowY, CSSPropertyPaddingBottom,
-    CSSPropertyPaddingLeft, CSSPropertyPaddingRight, CSSPropertyPaddingTop,
-    CSSPropertyPointerEvents, CSSPropertyPosition, CSSPropertyResize,
-    CSSPropertyRight, CSSPropertyScrollBehavior, CSSPropertyScrollCustomization,
-    CSSPropertySpeak, CSSPropertyTableLayout, CSSPropertyTabSize,
-    CSSPropertyTextAlign, CSSPropertyTextAlignLast, CSSPropertyTextDecoration,
-    CSSPropertyTextDecorationLine, CSSPropertyTextDecorationStyle,
-    CSSPropertyTextDecorationColor, CSSPropertyTextDecorationSkipInk,
-    CSSPropertyTextJustify, CSSPropertyTextUnderlinePosition,
-    CSSPropertyTextIndent, CSSPropertyTextRendering, CSSPropertyTextShadow,
-    CSSPropertyTextSizeAdjust, CSSPropertyTextOverflow,
-    CSSPropertyTextTransform, CSSPropertyTop, CSSPropertyTouchAction,
-    CSSPropertyTransitionDelay, CSSPropertyTransitionDuration,
-    CSSPropertyTransitionProperty, CSSPropertyTransitionTimingFunction,
-    CSSPropertyUnicodeBidi, CSSPropertyVerticalAlign, CSSPropertyVisibility,
-    CSSPropertyWhiteSpace, CSSPropertyWidows, CSSPropertyWidth,
-    CSSPropertyWillChange, CSSPropertyWordBreak, CSSPropertyWordSpacing,
-    CSSPropertyZIndex, CSSPropertyZoom,
+    CSSPropertyID::kBackgroundPosition, CSSPropertyID::kBackgroundRepeat,
+    CSSPropertyID::kBackgroundSize, CSSPropertyID::kBorderBottomColor,
+    CSSPropertyID::kBorderBottomLeftRadius,
+    CSSPropertyID::kBorderBottomRightRadius, CSSPropertyID::kBorderBottomStyle,
+    CSSPropertyID::kBorderBottomWidth, CSSPropertyID::kBorderCollapse,
+    CSSPropertyID::kBorderImageOutset, CSSPropertyID::kBorderImageRepeat,
+    CSSPropertyID::kBorderImageSlice, CSSPropertyID::kBorderImageSource,
+    CSSPropertyID::kBorderImageWidth, CSSPropertyID::kBorderLeftColor,
+    CSSPropertyID::kBorderLeftStyle, CSSPropertyID::kBorderLeftWidth,
+    CSSPropertyID::kBorderRightColor, CSSPropertyID::kBorderRightStyle,
+    CSSPropertyID::kBorderRightWidth, CSSPropertyID::kBorderTopColor,
+    CSSPropertyID::kBorderTopLeftRadius, CSSPropertyID::kBorderTopRightRadius,
+    CSSPropertyID::kBorderTopStyle, CSSPropertyID::kBorderTopWidth,
+    CSSPropertyID::kBottom, CSSPropertyID::kBoxShadow,
+    CSSPropertyID::kBoxSizing, CSSPropertyID::kBreakAfter,
+    CSSPropertyID::kBreakBefore, CSSPropertyID::kBreakInside,
+    CSSPropertyID::kCaptionSide, CSSPropertyID::kClear, CSSPropertyID::kClip,
+    CSSPropertyID::kColor, CSSPropertyID::kContent, CSSPropertyID::kCursor,
+    CSSPropertyID::kDirection, CSSPropertyID::kDisplay,
+    CSSPropertyID::kEmptyCells, CSSPropertyID::kFloat,
+    CSSPropertyID::kFontFamily, CSSPropertyID::kFontKerning,
+    CSSPropertyID::kFontSize, CSSPropertyID::kFontSizeAdjust,
+    CSSPropertyID::kFontStretch, CSSPropertyID::kFontStyle,
+    CSSPropertyID::kFontVariant, CSSPropertyID::kFontVariantLigatures,
+    CSSPropertyID::kFontVariantCaps, CSSPropertyID::kFontVariantNumeric,
+    CSSPropertyID::kFontVariantEastAsian, CSSPropertyID::kFontWeight,
+    CSSPropertyID::kHeight, CSSPropertyID::kImageOrientation,
+    CSSPropertyID::kImageRendering, CSSPropertyID::kIsolation,
+    CSSPropertyID::kJustifyItems, CSSPropertyID::kJustifySelf,
+    CSSPropertyID::kLeft, CSSPropertyID::kLetterSpacing,
+    CSSPropertyID::kLineHeight, CSSPropertyID::kLineHeightStep,
+    CSSPropertyID::kListStyleImage, CSSPropertyID::kListStylePosition,
+    CSSPropertyID::kListStyleType, CSSPropertyID::kMarginBottom,
+    CSSPropertyID::kMarginLeft, CSSPropertyID::kMarginRight,
+    CSSPropertyID::kMarginTop, CSSPropertyID::kMaxHeight,
+    CSSPropertyID::kMaxWidth, CSSPropertyID::kMinHeight,
+    CSSPropertyID::kMinWidth, CSSPropertyID::kMixBlendMode,
+    CSSPropertyID::kObjectFit, CSSPropertyID::kObjectPosition,
+    CSSPropertyID::kOffsetAnchor, CSSPropertyID::kOffsetDistance,
+    CSSPropertyID::kOffsetPath, CSSPropertyID::kOffsetPosition,
+    CSSPropertyID::kOffsetRotate, CSSPropertyID::kOpacity,
+    CSSPropertyID::kOrphans, CSSPropertyID::kOutlineColor,
+    CSSPropertyID::kOutlineOffset, CSSPropertyID::kOutlineStyle,
+    CSSPropertyID::kOutlineWidth, CSSPropertyID::kOverflowAnchor,
+    CSSPropertyID::kOverflowWrap, CSSPropertyID::kOverflowX,
+    CSSPropertyID::kOverflowY, CSSPropertyID::kPaddingBottom,
+    CSSPropertyID::kPaddingLeft, CSSPropertyID::kPaddingRight,
+    CSSPropertyID::kPaddingTop, CSSPropertyID::kPointerEvents,
+    CSSPropertyID::kPosition, CSSPropertyID::kResize, CSSPropertyID::kRight,
+    CSSPropertyID::kScrollBehavior, CSSPropertyID::kScrollCustomization,
+    CSSPropertyID::kSpeak, CSSPropertyID::kTableLayout, CSSPropertyID::kTabSize,
+    CSSPropertyID::kTextAlign, CSSPropertyID::kTextAlignLast,
+    CSSPropertyID::kTextDecoration, CSSPropertyID::kTextDecorationLine,
+    CSSPropertyID::kTextDecorationStyle, CSSPropertyID::kTextDecorationColor,
+    CSSPropertyID::kTextDecorationSkipInk, CSSPropertyID::kTextJustify,
+    CSSPropertyID::kTextUnderlinePosition, CSSPropertyID::kTextIndent,
+    CSSPropertyID::kTextRendering, CSSPropertyID::kTextShadow,
+    CSSPropertyID::kTextSizeAdjust, CSSPropertyID::kTextOverflow,
+    CSSPropertyID::kTextTransform, CSSPropertyID::kTop,
+    CSSPropertyID::kTouchAction, CSSPropertyID::kTransitionDelay,
+    CSSPropertyID::kTransitionDuration, CSSPropertyID::kTransitionProperty,
+    CSSPropertyID::kTransitionTimingFunction, CSSPropertyID::kUnicodeBidi,
+    CSSPropertyID::kVerticalAlign, CSSPropertyID::kVisibility,
+    CSSPropertyID::kWhiteSpace, CSSPropertyID::kWidows, CSSPropertyID::kWidth,
+    CSSPropertyID::kWillChange, CSSPropertyID::kWordBreak,
+    CSSPropertyID::kWordSpacing, CSSPropertyID::kZIndex, CSSPropertyID::kZoom,
 
-    CSSPropertyWebkitAppearance, CSSPropertyBackfaceVisibility,
-    CSSPropertyWebkitBorderHorizontalSpacing, CSSPropertyWebkitBorderImage,
-    CSSPropertyWebkitBorderVerticalSpacing, CSSPropertyWebkitBoxAlign,
-    CSSPropertyWebkitBoxDecorationBreak, CSSPropertyWebkitBoxDirection,
-    CSSPropertyWebkitBoxFlex, CSSPropertyWebkitBoxOrdinalGroup,
-    CSSPropertyWebkitBoxOrient, CSSPropertyWebkitBoxPack,
-    CSSPropertyWebkitBoxReflect, CSSPropertyColumnCount, CSSPropertyColumnGap,
-    CSSPropertyColumnRuleColor, CSSPropertyColumnRuleStyle,
-    CSSPropertyColumnRuleWidth, CSSPropertyColumnSpan, CSSPropertyColumnWidth,
-    CSSPropertyBackdropFilter, CSSPropertyAlignContent, CSSPropertyAlignItems,
-    CSSPropertyAlignSelf, CSSPropertyFlexBasis, CSSPropertyFlexGrow,
-    CSSPropertyFlexShrink, CSSPropertyFlexDirection, CSSPropertyFlexWrap,
-    CSSPropertyJustifyContent, CSSPropertyWebkitFontSmoothing,
-    CSSPropertyGridAutoColumns, CSSPropertyGridAutoFlow,
-    CSSPropertyGridAutoRows, CSSPropertyGridColumnEnd,
-    CSSPropertyGridColumnStart, CSSPropertyGridTemplateAreas,
-    CSSPropertyGridTemplateColumns, CSSPropertyGridTemplateRows,
-    CSSPropertyGridRowEnd, CSSPropertyGridRowStart, CSSPropertyRowGap,
-    CSSPropertyWebkitHighlight, CSSPropertyHyphens,
-    CSSPropertyWebkitHyphenateCharacter, CSSPropertyWebkitLineBreak,
-    CSSPropertyWebkitLineClamp, CSSPropertyWebkitLocale,
-    CSSPropertyWebkitMarginBeforeCollapse, CSSPropertyWebkitMarginAfterCollapse,
-    CSSPropertyWebkitMaskBoxImage, CSSPropertyWebkitMaskBoxImageOutset,
-    CSSPropertyWebkitMaskBoxImageRepeat, CSSPropertyWebkitMaskBoxImageSlice,
-    CSSPropertyWebkitMaskBoxImageSource, CSSPropertyWebkitMaskBoxImageWidth,
-    CSSPropertyWebkitMaskClip, CSSPropertyWebkitMaskComposite,
-    CSSPropertyWebkitMaskImage, CSSPropertyWebkitMaskOrigin,
-    CSSPropertyWebkitMaskPosition, CSSPropertyWebkitMaskRepeat,
-    CSSPropertyWebkitMaskSize, CSSPropertyOrder, CSSPropertyPerspective,
-    CSSPropertyPerspectiveOrigin, CSSPropertyWebkitPrintColorAdjust,
-    CSSPropertyWebkitRtlOrdering, CSSPropertyShapeOutside,
-    CSSPropertyShapeImageThreshold, CSSPropertyShapeMargin,
-    CSSPropertyWebkitTapHighlightColor, CSSPropertyWebkitTextCombine,
-    CSSPropertyWebkitTextDecorationsInEffect,
-    CSSPropertyWebkitTextEmphasisColor, CSSPropertyWebkitTextEmphasisPosition,
-    CSSPropertyWebkitTextEmphasisStyle, CSSPropertyWebkitTextFillColor,
-    CSSPropertyWebkitTextOrientation, CSSPropertyWebkitTextSecurity,
-    CSSPropertyWebkitTextStrokeColor, CSSPropertyWebkitTextStrokeWidth,
-    CSSPropertyTransform, CSSPropertyTransformOrigin, CSSPropertyTransformStyle,
-    CSSPropertyWebkitUserDrag, CSSPropertyWebkitUserModify,
-    CSSPropertyUserSelect, CSSPropertyWebkitWritingMode,
-    CSSPropertyWebkitAppRegion, CSSPropertyBufferedRendering,
-    CSSPropertyClipPath, CSSPropertyClipRule, CSSPropertyMask,
-    CSSPropertyFilter, CSSPropertyFloodColor, CSSPropertyFloodOpacity,
-    CSSPropertyLightingColor, CSSPropertyStopColor, CSSPropertyStopOpacity,
-    CSSPropertyColorInterpolation, CSSPropertyColorInterpolationFilters,
-    CSSPropertyColorRendering, CSSPropertyFill, CSSPropertyFillOpacity,
-    CSSPropertyFillRule, CSSPropertyMarkerEnd, CSSPropertyMarkerMid,
-    CSSPropertyMarkerStart, CSSPropertyMaskType, CSSPropertyMaskSourceType,
-    CSSPropertyShapeRendering, CSSPropertyStroke, CSSPropertyStrokeDasharray,
-    CSSPropertyStrokeDashoffset, CSSPropertyStrokeLinecap,
-    CSSPropertyStrokeLinejoin, CSSPropertyStrokeMiterlimit,
-    CSSPropertyStrokeOpacity, CSSPropertyStrokeWidth,
-    CSSPropertyAlignmentBaseline, CSSPropertyBaselineShift,
-    CSSPropertyDominantBaseline, CSSPropertyTextAnchor, CSSPropertyWritingMode,
-    CSSPropertyVectorEffect, CSSPropertyPaintOrder, CSSPropertyD, CSSPropertyCx,
-    CSSPropertyCy, CSSPropertyX, CSSPropertyY, CSSPropertyR, CSSPropertyRx,
-    CSSPropertyRy, CSSPropertyTranslate, CSSPropertyRotate, CSSPropertyScale,
-    CSSPropertyCaretColor, CSSPropertyLineBreak};
+    CSSPropertyID::kWebkitAppearance, CSSPropertyID::kBackfaceVisibility,
+    CSSPropertyID::kWebkitBorderHorizontalSpacing,
+    CSSPropertyID::kWebkitBorderImage,
+    CSSPropertyID::kWebkitBorderVerticalSpacing, CSSPropertyID::kWebkitBoxAlign,
+    CSSPropertyID::kWebkitBoxDecorationBreak,
+    CSSPropertyID::kWebkitBoxDirection, CSSPropertyID::kWebkitBoxFlex,
+    CSSPropertyID::kWebkitBoxOrdinalGroup, CSSPropertyID::kWebkitBoxOrient,
+    CSSPropertyID::kWebkitBoxPack, CSSPropertyID::kWebkitBoxReflect,
+    CSSPropertyID::kColumnCount, CSSPropertyID::kColumnGap,
+    CSSPropertyID::kColumnRuleColor, CSSPropertyID::kColumnRuleStyle,
+    CSSPropertyID::kColumnRuleWidth, CSSPropertyID::kColumnSpan,
+    CSSPropertyID::kColumnWidth, CSSPropertyID::kBackdropFilter,
+    CSSPropertyID::kAlignContent, CSSPropertyID::kAlignItems,
+    CSSPropertyID::kAlignSelf, CSSPropertyID::kFlexBasis,
+    CSSPropertyID::kFlexGrow, CSSPropertyID::kFlexShrink,
+    CSSPropertyID::kFlexDirection, CSSPropertyID::kFlexWrap,
+    CSSPropertyID::kJustifyContent, CSSPropertyID::kWebkitFontSmoothing,
+    CSSPropertyID::kGridAutoColumns, CSSPropertyID::kGridAutoFlow,
+    CSSPropertyID::kGridAutoRows, CSSPropertyID::kGridColumnEnd,
+    CSSPropertyID::kGridColumnStart, CSSPropertyID::kGridTemplateAreas,
+    CSSPropertyID::kGridTemplateColumns, CSSPropertyID::kGridTemplateRows,
+    CSSPropertyID::kGridRowEnd, CSSPropertyID::kGridRowStart,
+    CSSPropertyID::kRowGap, CSSPropertyID::kWebkitHighlight,
+    CSSPropertyID::kHyphens, CSSPropertyID::kWebkitHyphenateCharacter,
+    CSSPropertyID::kWebkitLineBreak, CSSPropertyID::kWebkitLineClamp,
+    CSSPropertyID::kWebkitLocale, CSSPropertyID::kWebkitMarginBeforeCollapse,
+    CSSPropertyID::kWebkitMarginAfterCollapse,
+    CSSPropertyID::kWebkitMaskBoxImage,
+    CSSPropertyID::kWebkitMaskBoxImageOutset,
+    CSSPropertyID::kWebkitMaskBoxImageRepeat,
+    CSSPropertyID::kWebkitMaskBoxImageSlice,
+    CSSPropertyID::kWebkitMaskBoxImageSource,
+    CSSPropertyID::kWebkitMaskBoxImageWidth, CSSPropertyID::kWebkitMaskClip,
+    CSSPropertyID::kWebkitMaskComposite, CSSPropertyID::kWebkitMaskImage,
+    CSSPropertyID::kWebkitMaskOrigin, CSSPropertyID::kWebkitMaskPosition,
+    CSSPropertyID::kWebkitMaskRepeat, CSSPropertyID::kWebkitMaskSize,
+    CSSPropertyID::kOrder, CSSPropertyID::kPerspective,
+    CSSPropertyID::kPerspectiveOrigin, CSSPropertyID::kWebkitPrintColorAdjust,
+    CSSPropertyID::kWebkitRtlOrdering, CSSPropertyID::kShapeOutside,
+    CSSPropertyID::kShapeImageThreshold, CSSPropertyID::kShapeMargin,
+    CSSPropertyID::kWebkitTapHighlightColor, CSSPropertyID::kWebkitTextCombine,
+    CSSPropertyID::kWebkitTextDecorationsInEffect,
+    CSSPropertyID::kWebkitTextEmphasisColor,
+    CSSPropertyID::kWebkitTextEmphasisPosition,
+    CSSPropertyID::kWebkitTextEmphasisStyle,
+    CSSPropertyID::kWebkitTextFillColor, CSSPropertyID::kWebkitTextOrientation,
+    CSSPropertyID::kWebkitTextSecurity, CSSPropertyID::kWebkitTextStrokeColor,
+    CSSPropertyID::kWebkitTextStrokeWidth, CSSPropertyID::kTransform,
+    CSSPropertyID::kTransformOrigin, CSSPropertyID::kTransformStyle,
+    CSSPropertyID::kWebkitUserDrag, CSSPropertyID::kWebkitUserModify,
+    CSSPropertyID::kUserSelect, CSSPropertyID::kWebkitWritingMode,
+    CSSPropertyID::kWebkitAppRegion, CSSPropertyID::kBufferedRendering,
+    CSSPropertyID::kClipPath, CSSPropertyID::kClipRule, CSSPropertyID::kMask,
+    CSSPropertyID::kFilter, CSSPropertyID::kFloodColor,
+    CSSPropertyID::kFloodOpacity, CSSPropertyID::kLightingColor,
+    CSSPropertyID::kStopColor, CSSPropertyID::kStopOpacity,
+    CSSPropertyID::kColorInterpolation,
+    CSSPropertyID::kColorInterpolationFilters, CSSPropertyID::kColorRendering,
+    CSSPropertyID::kFill, CSSPropertyID::kFillOpacity, CSSPropertyID::kFillRule,
+    CSSPropertyID::kMarkerEnd, CSSPropertyID::kMarkerMid,
+    CSSPropertyID::kMarkerStart, CSSPropertyID::kMaskType,
+    CSSPropertyID::kMaskSourceType, CSSPropertyID::kShapeRendering,
+    CSSPropertyID::kStroke, CSSPropertyID::kStrokeDasharray,
+    CSSPropertyID::kStrokeDashoffset, CSSPropertyID::kStrokeLinecap,
+    CSSPropertyID::kStrokeLinejoin, CSSPropertyID::kStrokeMiterlimit,
+    CSSPropertyID::kStrokeOpacity, CSSPropertyID::kStrokeWidth,
+    CSSPropertyID::kAlignmentBaseline, CSSPropertyID::kBaselineShift,
+    CSSPropertyID::kDominantBaseline, CSSPropertyID::kTextAnchor,
+    CSSPropertyID::kWritingMode, CSSPropertyID::kVectorEffect,
+    CSSPropertyID::kPaintOrder, CSSPropertyID::kD, CSSPropertyID::kCx,
+    CSSPropertyID::kCy, CSSPropertyID::kX, CSSPropertyID::kY, CSSPropertyID::kR,
+    CSSPropertyID::kRx, CSSPropertyID::kRy, CSSPropertyID::kTranslate,
+    CSSPropertyID::kRotate, CSSPropertyID::kScale, CSSPropertyID::kCaretColor,
+    CSSPropertyID::kLineBreak};
 
 CSSValueID CssIdentifierForFontSizeKeyword(int keyword_size) {
   DCHECK_NE(keyword_size, 0);
@@ -184,7 +212,7 @@
 
 void LogUnimplementedPropertyID(const CSSProperty& property) {
   DEFINE_STATIC_LOCAL(HashSet<CSSPropertyID>, property_id_set, ());
-  if (property.PropertyID() == CSSPropertyVariable)
+  if (property.PropertyID() == CSSPropertyID::kVariable)
     return;
   if (!property_id_set.insert(property.PropertyID()).is_new_entry)
     return;
@@ -378,7 +406,8 @@
 String CSSComputedStyleDeclaration::GetPropertyValue(
     CSSPropertyID property_id) const {
   // allow_visited_style_ is true only for access from DevTools.
-  if (!allow_visited_style_ && property_id == CSSPropertyWebkitAppearance) {
+  if (!allow_visited_style_ &&
+      property_id == CSSPropertyID::kWebkitAppearance) {
     UseCounter::Count(
         node_->GetDocument(),
         WebFeature::kGetComputedStyleForWebkitAppearanceExcludeDevTools);
@@ -405,7 +434,7 @@
 bool CSSComputedStyleDeclaration::CssPropertyMatches(
     CSSPropertyID property_id,
     const CSSValue& property_value) const {
-  if (property_id == CSSPropertyFontSize &&
+  if (property_id == CSSPropertyID::kFontSize &&
       (property_value.IsPrimitiveValue() ||
        property_value.IsIdentifierValue()) &&
       node_) {
@@ -451,7 +480,7 @@
   CSSPropertyID property_id = cssPropertyID(property_name);
   if (!isValidCSSPropertyID(property_id))
     return String();
-  if (property_id == CSSPropertyVariable) {
+  if (property_id == CSSPropertyID::kVariable) {
     const CSSValue* value = GetPropertyCSSValue(AtomicString(property_name));
     if (value)
       return value->CssText();
@@ -499,7 +528,7 @@
 
 const CSSValue* CSSComputedStyleDeclaration::GetPropertyCSSValueInternal(
     CSSPropertyID property_id) {
-  if (property_id == CSSPropertyWebkitAppearance && node_) {
+  if (property_id == CSSPropertyID::kWebkitAppearance && node_) {
     UseCounter::Count(node_->GetDocument(),
                       WebFeature::kGetComputedStyleWebkitAppearance);
   }
diff --git a/third_party/blink/renderer/core/css/css_computed_style_declaration_test.cc b/third_party/blink/renderer/core/css/css_computed_style_declaration_test.cc
index 6065176..9825cd96 100644
--- a/third_party/blink/renderer/core/css/css_computed_style_declaration_test.cc
+++ b/third_party/blink/renderer/core/css/css_computed_style_declaration_test.cc
@@ -30,7 +30,7 @@
       CSSComputedStyleDeclaration::Create(target);
 
   EXPECT_STREQ("rgb(0, 128, 0)",
-               computed->GetPropertyValue(CSSPropertyColor).Utf8().data());
+               computed->GetPropertyValue(CSSPropertyID::kColor).Utf8().data());
   EXPECT_TRUE(GetDocument().NeedsLayoutTreeUpdate());
 }
 
@@ -59,7 +59,7 @@
       CSSComputedStyleDeclaration::Create(target);
 
   EXPECT_STREQ("rgb(0, 128, 0)",
-               computed->GetPropertyValue(CSSPropertyColor).Utf8().data());
+               computed->GetPropertyValue(CSSPropertyID::kColor).Utf8().data());
   EXPECT_TRUE(GetDocument().NeedsLayoutTreeUpdate());
 }
 
@@ -96,7 +96,7 @@
       CSSComputedStyleDeclaration::Create(c_span);
 
   EXPECT_STREQ("rgb(0, 128, 0)",
-               computed->GetPropertyValue(CSSPropertyColor).Utf8().data());
+               computed->GetPropertyValue(CSSPropertyID::kColor).Utf8().data());
 
   EXPECT_TRUE(GetDocument().NeedsLayoutTreeUpdate());
   EXPECT_TRUE(GetDocument().NeedsLayoutTreeUpdateForNode(*d_span));
diff --git a/third_party/blink/renderer/core/css/css_custom_ident_value.cc b/third_party/blink/renderer/core/css/css_custom_ident_value.cc
index d6c2411..257cc01 100644
--- a/third_party/blink/renderer/core/css/css_custom_ident_value.cc
+++ b/third_party/blink/renderer/core/css/css_custom_ident_value.cc
@@ -14,7 +14,7 @@
 CSSCustomIdentValue::CSSCustomIdentValue(const AtomicString& str)
     : CSSValue(kCustomIdentClass),
       string_(str),
-      property_id_(CSSPropertyInvalid) {}
+      property_id_(CSSPropertyID::kInvalid) {}
 
 CSSCustomIdentValue::CSSCustomIdentValue(CSSPropertyID id)
     : CSSValue(kCustomIdentClass), string_(), property_id_(id) {
diff --git a/third_party/blink/renderer/core/css/css_custom_ident_value.h b/third_party/blink/renderer/core/css/css_custom_ident_value.h
index 6bbd7fe..bef7d54 100644
--- a/third_party/blink/renderer/core/css/css_custom_ident_value.h
+++ b/third_party/blink/renderer/core/css/css_custom_ident_value.h
@@ -31,7 +31,9 @@
     DCHECK(!IsKnownPropertyID());
     return string_;
   }
-  bool IsKnownPropertyID() const { return property_id_ != CSSPropertyInvalid; }
+  bool IsKnownPropertyID() const {
+    return property_id_ != CSSPropertyID::kInvalid;
+  }
   CSSPropertyID ValueAsPropertyID() const {
     DCHECK(IsKnownPropertyID());
     return property_id_;
diff --git a/third_party/blink/renderer/core/css/css_gradient_value_test.cc b/third_party/blink/renderer/core/css/css_gradient_value_test.cc
index 10015cb1f..86d156f 100644
--- a/third_party/blink/renderer/core/css/css_gradient_value_test.cc
+++ b/third_party/blink/renderer/core/css/css_gradient_value_test.cc
@@ -13,10 +13,10 @@
 
 bool CompareGradients(const char* gradient1, const char* gradient2) {
   const CSSValue* value1 = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, gradient1,
+      CSSPropertyID::kBackgroundImage, gradient1,
       StrictCSSParserContext(SecureContextMode::kInsecureContext));
   const CSSValue* value2 = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, gradient2,
+      CSSPropertyID::kBackgroundImage, gradient2,
       StrictCSSParserContext(SecureContextMode::kInsecureContext));
   return *value1 == *value2;
 }
diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc
index d6f3a83e..5ee1a10 100644
--- a/third_party/blink/renderer/core/css/css_property_equality.cc
+++ b/third_party/blink/renderer/core/css/css_property_equality.cc
@@ -22,26 +22,26 @@
   const FillLayer* b_layer = &b_layers;
   while (a_layer && b_layer) {
     switch (property) {
-      case CSSPropertyBackgroundPositionX:
-      case CSSPropertyWebkitMaskPositionX:
+      case CSSPropertyID::kBackgroundPositionX:
+      case CSSPropertyID::kWebkitMaskPositionX:
         if (a_layer->PositionX() != b_layer->PositionX())
           return false;
         if (a_layer->BackgroundXOrigin() != b_layer->BackgroundXOrigin())
           return false;
         break;
-      case CSSPropertyBackgroundPositionY:
-      case CSSPropertyWebkitMaskPositionY:
+      case CSSPropertyID::kBackgroundPositionY:
+      case CSSPropertyID::kWebkitMaskPositionY:
         if (a_layer->PositionY() != b_layer->PositionY())
           return false;
         if (a_layer->BackgroundYOrigin() != b_layer->BackgroundYOrigin())
           return false;
         break;
-      case CSSPropertyBackgroundSize:
-      case CSSPropertyWebkitMaskSize:
+      case CSSPropertyID::kBackgroundSize:
+      case CSSPropertyID::kWebkitMaskSize:
         if (!(a_layer->SizeLength() == b_layer->SizeLength()))
           return false;
         break;
-      case CSSPropertyBackgroundImage:
+      case CSSPropertyID::kBackgroundImage:
         if (!DataEquivalent(a_layer->GetImage(), b_layer->GetImage()))
           return false;
         break;
@@ -69,313 +69,313 @@
                           b.GetRegisteredVariable(name));
   }
   switch (property.GetCSSProperty().PropertyID()) {
-    case CSSPropertyBackgroundColor:
+    case CSSPropertyID::kBackgroundColor:
       return a.BackgroundColor() == b.BackgroundColor() &&
              a.VisitedLinkBackgroundColor() == b.VisitedLinkBackgroundColor();
-    case CSSPropertyBackgroundImage:
-      return FillLayersEqual<CSSPropertyBackgroundImage>(a.BackgroundLayers(),
-                                                         b.BackgroundLayers());
-    case CSSPropertyBackgroundPositionX:
-      return FillLayersEqual<CSSPropertyBackgroundPositionX>(
+    case CSSPropertyID::kBackgroundImage:
+      return FillLayersEqual<CSSPropertyID::kBackgroundImage>(
           a.BackgroundLayers(), b.BackgroundLayers());
-    case CSSPropertyBackgroundPositionY:
-      return FillLayersEqual<CSSPropertyBackgroundPositionY>(
+    case CSSPropertyID::kBackgroundPositionX:
+      return FillLayersEqual<CSSPropertyID::kBackgroundPositionX>(
           a.BackgroundLayers(), b.BackgroundLayers());
-    case CSSPropertyBackgroundSize:
-      return FillLayersEqual<CSSPropertyBackgroundSize>(a.BackgroundLayers(),
-                                                        b.BackgroundLayers());
-    case CSSPropertyBaselineShift:
+    case CSSPropertyID::kBackgroundPositionY:
+      return FillLayersEqual<CSSPropertyID::kBackgroundPositionY>(
+          a.BackgroundLayers(), b.BackgroundLayers());
+    case CSSPropertyID::kBackgroundSize:
+      return FillLayersEqual<CSSPropertyID::kBackgroundSize>(
+          a.BackgroundLayers(), b.BackgroundLayers());
+    case CSSPropertyID::kBaselineShift:
       return a.BaselineShiftValue() == b.BaselineShiftValue();
-    case CSSPropertyBorderBottomColor:
+    case CSSPropertyID::kBorderBottomColor:
       return a.BorderBottomColor() == b.BorderBottomColor() &&
              a.VisitedLinkBorderBottomColor() ==
                  b.VisitedLinkBorderBottomColor();
-    case CSSPropertyBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomLeftRadius:
       return a.BorderBottomLeftRadius() == b.BorderBottomLeftRadius();
-    case CSSPropertyBorderBottomRightRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
       return a.BorderBottomRightRadius() == b.BorderBottomRightRadius();
-    case CSSPropertyBorderBottomWidth:
+    case CSSPropertyID::kBorderBottomWidth:
       return a.BorderBottomWidth() == b.BorderBottomWidth();
-    case CSSPropertyBorderImageOutset:
+    case CSSPropertyID::kBorderImageOutset:
       return a.BorderImageOutset() == b.BorderImageOutset();
-    case CSSPropertyBorderImageSlice:
+    case CSSPropertyID::kBorderImageSlice:
       return a.BorderImageSlices() == b.BorderImageSlices();
-    case CSSPropertyBorderImageSource:
+    case CSSPropertyID::kBorderImageSource:
       return DataEquivalent(a.BorderImageSource(), b.BorderImageSource());
-    case CSSPropertyBorderImageWidth:
+    case CSSPropertyID::kBorderImageWidth:
       return a.BorderImageWidth() == b.BorderImageWidth();
-    case CSSPropertyBorderLeftColor:
+    case CSSPropertyID::kBorderLeftColor:
       return a.BorderLeftColor() == b.BorderLeftColor() &&
              a.VisitedLinkBorderLeftColor() == b.VisitedLinkBorderLeftColor();
-    case CSSPropertyBorderLeftWidth:
+    case CSSPropertyID::kBorderLeftWidth:
       return a.BorderLeftWidth() == b.BorderLeftWidth();
-    case CSSPropertyBorderRightColor:
+    case CSSPropertyID::kBorderRightColor:
       return a.BorderRightColor() == b.BorderRightColor() &&
              a.VisitedLinkBorderRightColor() == b.VisitedLinkBorderRightColor();
-    case CSSPropertyBorderRightWidth:
+    case CSSPropertyID::kBorderRightWidth:
       return a.BorderRightWidth() == b.BorderRightWidth();
-    case CSSPropertyBorderTopColor:
+    case CSSPropertyID::kBorderTopColor:
       return a.BorderTopColor() == b.BorderTopColor() &&
              a.VisitedLinkBorderTopColor() == b.VisitedLinkBorderTopColor();
-    case CSSPropertyBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopLeftRadius:
       return a.BorderTopLeftRadius() == b.BorderTopLeftRadius();
-    case CSSPropertyBorderTopRightRadius:
+    case CSSPropertyID::kBorderTopRightRadius:
       return a.BorderTopRightRadius() == b.BorderTopRightRadius();
-    case CSSPropertyBorderTopWidth:
+    case CSSPropertyID::kBorderTopWidth:
       return a.BorderTopWidth() == b.BorderTopWidth();
-    case CSSPropertyBottom:
+    case CSSPropertyID::kBottom:
       return a.Bottom() == b.Bottom();
-    case CSSPropertyBoxShadow:
+    case CSSPropertyID::kBoxShadow:
       return DataEquivalent(a.BoxShadow(), b.BoxShadow());
-    case CSSPropertyCaretColor:
+    case CSSPropertyID::kCaretColor:
       return a.CaretColor() == b.CaretColor() &&
              a.VisitedLinkCaretColor() == b.VisitedLinkCaretColor();
-    case CSSPropertyClip:
+    case CSSPropertyID::kClip:
       return a.Clip() == b.Clip();
-    case CSSPropertyColor:
+    case CSSPropertyID::kColor:
       return a.GetColor() == b.GetColor() &&
              a.VisitedLinkColor() == b.VisitedLinkColor();
-    case CSSPropertyFill: {
+    case CSSPropertyID::kFill: {
       const SVGComputedStyle& a_svg = a.SvgStyle();
       const SVGComputedStyle& b_svg = b.SvgStyle();
       return a_svg.FillPaint().EqualTypeOrColor(b_svg.FillPaint()) &&
              a_svg.VisitedLinkFillPaint().EqualTypeOrColor(
                  b_svg.VisitedLinkFillPaint());
     }
-    case CSSPropertyFillOpacity:
+    case CSSPropertyID::kFillOpacity:
       return a.FillOpacity() == b.FillOpacity();
-    case CSSPropertyFlexBasis:
+    case CSSPropertyID::kFlexBasis:
       return a.FlexBasis() == b.FlexBasis();
-    case CSSPropertyFlexGrow:
+    case CSSPropertyID::kFlexGrow:
       return a.FlexGrow() == b.FlexGrow();
-    case CSSPropertyFlexShrink:
+    case CSSPropertyID::kFlexShrink:
       return a.FlexShrink() == b.FlexShrink();
-    case CSSPropertyFloodColor:
+    case CSSPropertyID::kFloodColor:
       return a.FloodColor() == b.FloodColor();
-    case CSSPropertyFloodOpacity:
+    case CSSPropertyID::kFloodOpacity:
       return a.FloodOpacity() == b.FloodOpacity();
-    case CSSPropertyFontSize:
-      // CSSPropertyFontSize: Must pass a specified size to setFontSize if Text
-      // Autosizing is enabled, but a computed size if text zoom is enabled (if
-      // neither is enabled it's irrelevant as they're probably the same).
+    case CSSPropertyID::kFontSize:
+      // CSSPropertyID::kFontSize: Must pass a specified size to setFontSize if
+      // Text Autosizing is enabled, but a computed size if text zoom is enabled
+      // (if neither is enabled it's irrelevant as they're probably the same).
       // FIXME: Should we introduce an option to pass the computed font size
       // here, allowing consumers to enable text zoom rather than Text
       // Autosizing? See http://crbug.com/227545.
       return a.SpecifiedFontSize() == b.SpecifiedFontSize();
-    case CSSPropertyFontSizeAdjust:
+    case CSSPropertyID::kFontSizeAdjust:
       return a.FontSizeAdjust() == b.FontSizeAdjust();
-    case CSSPropertyFontStretch:
+    case CSSPropertyID::kFontStretch:
       return a.GetFontStretch() == b.GetFontStretch();
-    case CSSPropertyFontVariationSettings:
+    case CSSPropertyID::kFontVariationSettings:
       return DataEquivalent(a.GetFontDescription().VariationSettings(),
                             b.GetFontDescription().VariationSettings());
-    case CSSPropertyFontWeight:
+    case CSSPropertyID::kFontWeight:
       return a.GetFontWeight() == b.GetFontWeight();
-    case CSSPropertyHeight:
+    case CSSPropertyID::kHeight:
       return a.Height() == b.Height();
-    case CSSPropertyLeft:
+    case CSSPropertyID::kLeft:
       return a.Left() == b.Left();
-    case CSSPropertyLetterSpacing:
+    case CSSPropertyID::kLetterSpacing:
       return a.LetterSpacing() == b.LetterSpacing();
-    case CSSPropertyLightingColor:
+    case CSSPropertyID::kLightingColor:
       return a.LightingColor() == b.LightingColor();
-    case CSSPropertyLineHeight:
+    case CSSPropertyID::kLineHeight:
       return a.SpecifiedLineHeight() == b.SpecifiedLineHeight();
-    case CSSPropertyListStyleImage:
+    case CSSPropertyID::kListStyleImage:
       return DataEquivalent(a.ListStyleImage(), b.ListStyleImage());
-    case CSSPropertyMarginBottom:
+    case CSSPropertyID::kMarginBottom:
       return a.MarginBottom() == b.MarginBottom();
-    case CSSPropertyMarginLeft:
+    case CSSPropertyID::kMarginLeft:
       return a.MarginLeft() == b.MarginLeft();
-    case CSSPropertyMarginRight:
+    case CSSPropertyID::kMarginRight:
       return a.MarginRight() == b.MarginRight();
-    case CSSPropertyMarginTop:
+    case CSSPropertyID::kMarginTop:
       return a.MarginTop() == b.MarginTop();
-    case CSSPropertyMaxHeight:
+    case CSSPropertyID::kMaxHeight:
       return a.MaxHeight() == b.MaxHeight();
-    case CSSPropertyMaxWidth:
+    case CSSPropertyID::kMaxWidth:
       return a.MaxWidth() == b.MaxWidth();
-    case CSSPropertyMinHeight:
+    case CSSPropertyID::kMinHeight:
       return a.MinHeight() == b.MinHeight();
-    case CSSPropertyMinWidth:
+    case CSSPropertyID::kMinWidth:
       return a.MinWidth() == b.MinWidth();
-    case CSSPropertyObjectPosition:
+    case CSSPropertyID::kObjectPosition:
       return a.ObjectPosition() == b.ObjectPosition();
-    case CSSPropertyOffsetAnchor:
+    case CSSPropertyID::kOffsetAnchor:
       return a.OffsetAnchor() == b.OffsetAnchor();
-    case CSSPropertyOffsetDistance:
+    case CSSPropertyID::kOffsetDistance:
       return a.OffsetDistance() == b.OffsetDistance();
-    case CSSPropertyOffsetPath:
+    case CSSPropertyID::kOffsetPath:
       return DataEquivalent(a.OffsetPath(), b.OffsetPath());
-    case CSSPropertyOffsetPosition:
+    case CSSPropertyID::kOffsetPosition:
       return a.OffsetPosition() == b.OffsetPosition();
-    case CSSPropertyOffsetRotate:
+    case CSSPropertyID::kOffsetRotate:
       return a.OffsetRotate() == b.OffsetRotate();
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kOpacity:
       return a.Opacity() == b.Opacity();
-    case CSSPropertyOrder:
+    case CSSPropertyID::kOrder:
       return a.Order() == b.Order();
-    case CSSPropertyOrphans:
+    case CSSPropertyID::kOrphans:
       return a.Orphans() == b.Orphans();
-    case CSSPropertyOutlineColor:
+    case CSSPropertyID::kOutlineColor:
       return a.OutlineColor() == b.OutlineColor() &&
              a.VisitedLinkOutlineColor() == b.VisitedLinkOutlineColor();
-    case CSSPropertyOutlineOffset:
+    case CSSPropertyID::kOutlineOffset:
       return a.OutlineOffset() == b.OutlineOffset();
-    case CSSPropertyOutlineWidth:
+    case CSSPropertyID::kOutlineWidth:
       return a.OutlineWidth() == b.OutlineWidth();
-    case CSSPropertyPaddingBottom:
+    case CSSPropertyID::kPaddingBottom:
       return a.PaddingBottom() == b.PaddingBottom();
-    case CSSPropertyPaddingLeft:
+    case CSSPropertyID::kPaddingLeft:
       return a.PaddingLeft() == b.PaddingLeft();
-    case CSSPropertyPaddingRight:
+    case CSSPropertyID::kPaddingRight:
       return a.PaddingRight() == b.PaddingRight();
-    case CSSPropertyPaddingTop:
+    case CSSPropertyID::kPaddingTop:
       return a.PaddingTop() == b.PaddingTop();
-    case CSSPropertyRight:
+    case CSSPropertyID::kRight:
       return a.Right() == b.Right();
-    case CSSPropertyShapeImageThreshold:
+    case CSSPropertyID::kShapeImageThreshold:
       return a.ShapeImageThreshold() == b.ShapeImageThreshold();
-    case CSSPropertyShapeMargin:
+    case CSSPropertyID::kShapeMargin:
       return a.ShapeMargin() == b.ShapeMargin();
-    case CSSPropertyShapeOutside:
+    case CSSPropertyID::kShapeOutside:
       return DataEquivalent(a.ShapeOutside(), b.ShapeOutside());
-    case CSSPropertyStopColor:
+    case CSSPropertyID::kStopColor:
       return a.StopColor() == b.StopColor();
-    case CSSPropertyStopOpacity:
+    case CSSPropertyID::kStopOpacity:
       return a.StopOpacity() == b.StopOpacity();
-    case CSSPropertyStroke: {
+    case CSSPropertyID::kStroke: {
       const SVGComputedStyle& a_svg = a.SvgStyle();
       const SVGComputedStyle& b_svg = b.SvgStyle();
       return a_svg.StrokePaint().EqualTypeOrColor(b_svg.StrokePaint()) &&
              a_svg.VisitedLinkStrokePaint().EqualTypeOrColor(
                  b_svg.VisitedLinkStrokePaint());
     }
-    case CSSPropertyStrokeDasharray:
+    case CSSPropertyID::kStrokeDasharray:
       return a.StrokeDashArray() == b.StrokeDashArray();
-    case CSSPropertyStrokeDashoffset:
+    case CSSPropertyID::kStrokeDashoffset:
       return a.StrokeDashOffset() == b.StrokeDashOffset();
-    case CSSPropertyStrokeMiterlimit:
+    case CSSPropertyID::kStrokeMiterlimit:
       return a.StrokeMiterLimit() == b.StrokeMiterLimit();
-    case CSSPropertyStrokeOpacity:
+    case CSSPropertyID::kStrokeOpacity:
       return a.StrokeOpacity() == b.StrokeOpacity();
-    case CSSPropertyStrokeWidth:
+    case CSSPropertyID::kStrokeWidth:
       return a.StrokeWidth() == b.StrokeWidth();
-    case CSSPropertyTextDecorationColor:
+    case CSSPropertyID::kTextDecorationColor:
       return a.TextDecorationColor() == b.TextDecorationColor() &&
              a.VisitedLinkTextDecorationColor() ==
                  b.VisitedLinkTextDecorationColor();
-    case CSSPropertyTextDecorationSkipInk:
+    case CSSPropertyID::kTextDecorationSkipInk:
       return a.TextDecorationSkipInk() == b.TextDecorationSkipInk();
-    case CSSPropertyTextIndent:
+    case CSSPropertyID::kTextIndent:
       return a.TextIndent() == b.TextIndent();
-    case CSSPropertyTextShadow:
+    case CSSPropertyID::kTextShadow:
       return DataEquivalent(a.TextShadow(), b.TextShadow());
-    case CSSPropertyTextSizeAdjust:
+    case CSSPropertyID::kTextSizeAdjust:
       return a.GetTextSizeAdjust() == b.GetTextSizeAdjust();
-    case CSSPropertyTop:
+    case CSSPropertyID::kTop:
       return a.Top() == b.Top();
-    case CSSPropertyVerticalAlign:
+    case CSSPropertyID::kVerticalAlign:
       return a.VerticalAlign() == b.VerticalAlign() &&
              (a.VerticalAlign() != EVerticalAlign::kLength ||
               a.GetVerticalAlignLength() == b.GetVerticalAlignLength());
-    case CSSPropertyVisibility:
+    case CSSPropertyID::kVisibility:
       return a.Visibility() == b.Visibility();
-    case CSSPropertyWebkitBorderHorizontalSpacing:
+    case CSSPropertyID::kWebkitBorderHorizontalSpacing:
       return a.HorizontalBorderSpacing() == b.HorizontalBorderSpacing();
-    case CSSPropertyWebkitBorderVerticalSpacing:
+    case CSSPropertyID::kWebkitBorderVerticalSpacing:
       return a.VerticalBorderSpacing() == b.VerticalBorderSpacing();
-    case CSSPropertyClipPath:
+    case CSSPropertyID::kClipPath:
       return DataEquivalent(a.ClipPath(), b.ClipPath());
-    case CSSPropertyColumnCount:
+    case CSSPropertyID::kColumnCount:
       return a.ColumnCount() == b.ColumnCount();
-    case CSSPropertyColumnGap:
+    case CSSPropertyID::kColumnGap:
       return a.ColumnGap() == b.ColumnGap();
-    case CSSPropertyRowGap:
+    case CSSPropertyID::kRowGap:
       return a.RowGap() == b.RowGap();
-    case CSSPropertyColumnRuleColor:
+    case CSSPropertyID::kColumnRuleColor:
       return a.ColumnRuleColor() == b.ColumnRuleColor() &&
              a.VisitedLinkColumnRuleColor() == b.VisitedLinkColumnRuleColor();
-    case CSSPropertyColumnRuleWidth:
+    case CSSPropertyID::kColumnRuleWidth:
       return a.ColumnRuleWidth() == b.ColumnRuleWidth();
-    case CSSPropertyColumnWidth:
+    case CSSPropertyID::kColumnWidth:
       return a.ColumnWidth() == b.ColumnWidth();
-    case CSSPropertyFilter:
+    case CSSPropertyID::kFilter:
       return a.Filter() == b.Filter();
-    case CSSPropertyBackdropFilter:
+    case CSSPropertyID::kBackdropFilter:
       return a.BackdropFilter() == b.BackdropFilter();
-    case CSSPropertyWebkitMaskBoxImageOutset:
+    case CSSPropertyID::kWebkitMaskBoxImageOutset:
       return a.MaskBoxImageOutset() == b.MaskBoxImageOutset();
-    case CSSPropertyWebkitMaskBoxImageSlice:
+    case CSSPropertyID::kWebkitMaskBoxImageSlice:
       return a.MaskBoxImageSlices() == b.MaskBoxImageSlices();
-    case CSSPropertyWebkitMaskBoxImageSource:
+    case CSSPropertyID::kWebkitMaskBoxImageSource:
       return DataEquivalent(a.MaskBoxImageSource(), b.MaskBoxImageSource());
-    case CSSPropertyWebkitMaskBoxImageWidth:
+    case CSSPropertyID::kWebkitMaskBoxImageWidth:
       return a.MaskBoxImageWidth() == b.MaskBoxImageWidth();
-    case CSSPropertyWebkitMaskImage:
+    case CSSPropertyID::kWebkitMaskImage:
       return DataEquivalent(a.MaskImage(), b.MaskImage());
-    case CSSPropertyWebkitMaskPositionX:
-      return FillLayersEqual<CSSPropertyWebkitMaskPositionX>(a.MaskLayers(),
+    case CSSPropertyID::kWebkitMaskPositionX:
+      return FillLayersEqual<CSSPropertyID::kWebkitMaskPositionX>(
+          a.MaskLayers(), b.MaskLayers());
+    case CSSPropertyID::kWebkitMaskPositionY:
+      return FillLayersEqual<CSSPropertyID::kWebkitMaskPositionY>(
+          a.MaskLayers(), b.MaskLayers());
+    case CSSPropertyID::kWebkitMaskSize:
+      return FillLayersEqual<CSSPropertyID::kWebkitMaskSize>(a.MaskLayers(),
                                                              b.MaskLayers());
-    case CSSPropertyWebkitMaskPositionY:
-      return FillLayersEqual<CSSPropertyWebkitMaskPositionY>(a.MaskLayers(),
-                                                             b.MaskLayers());
-    case CSSPropertyWebkitMaskSize:
-      return FillLayersEqual<CSSPropertyWebkitMaskSize>(a.MaskLayers(),
-                                                        b.MaskLayers());
-    case CSSPropertyPerspective:
+    case CSSPropertyID::kPerspective:
       return a.Perspective() == b.Perspective();
-    case CSSPropertyPerspectiveOrigin:
+    case CSSPropertyID::kPerspectiveOrigin:
       return a.PerspectiveOriginX() == b.PerspectiveOriginX() &&
              a.PerspectiveOriginY() == b.PerspectiveOriginY();
-    case CSSPropertyWebkitTextStrokeColor:
+    case CSSPropertyID::kWebkitTextStrokeColor:
       return a.TextStrokeColor() == b.TextStrokeColor() &&
              a.VisitedLinkTextStrokeColor() == b.VisitedLinkTextStrokeColor();
-    case CSSPropertyTransform:
+    case CSSPropertyID::kTransform:
       return a.Transform() == b.Transform();
-    case CSSPropertyTranslate:
+    case CSSPropertyID::kTranslate:
       return DataEquivalent<TransformOperation>(a.Translate(), b.Translate());
-    case CSSPropertyRotate:
+    case CSSPropertyID::kRotate:
       return DataEquivalent<TransformOperation>(a.Rotate(), b.Rotate());
-    case CSSPropertyScale:
+    case CSSPropertyID::kScale:
       return DataEquivalent<TransformOperation>(a.Scale(), b.Scale());
-    case CSSPropertyTransformOrigin:
+    case CSSPropertyID::kTransformOrigin:
       return a.TransformOriginX() == b.TransformOriginX() &&
              a.TransformOriginY() == b.TransformOriginY() &&
              a.TransformOriginZ() == b.TransformOriginZ();
-    case CSSPropertyWebkitPerspectiveOriginX:
+    case CSSPropertyID::kWebkitPerspectiveOriginX:
       return a.PerspectiveOriginX() == b.PerspectiveOriginX();
-    case CSSPropertyWebkitPerspectiveOriginY:
+    case CSSPropertyID::kWebkitPerspectiveOriginY:
       return a.PerspectiveOriginY() == b.PerspectiveOriginY();
-    case CSSPropertyWebkitTransformOriginX:
+    case CSSPropertyID::kWebkitTransformOriginX:
       return a.TransformOriginX() == b.TransformOriginX();
-    case CSSPropertyWebkitTransformOriginY:
+    case CSSPropertyID::kWebkitTransformOriginY:
       return a.TransformOriginY() == b.TransformOriginY();
-    case CSSPropertyWebkitTransformOriginZ:
+    case CSSPropertyID::kWebkitTransformOriginZ:
       return a.TransformOriginZ() == b.TransformOriginZ();
-    case CSSPropertyWidows:
+    case CSSPropertyID::kWidows:
       return a.Widows() == b.Widows();
-    case CSSPropertyWidth:
+    case CSSPropertyID::kWidth:
       return a.Width() == b.Width();
-    case CSSPropertyWordSpacing:
+    case CSSPropertyID::kWordSpacing:
       return a.WordSpacing() == b.WordSpacing();
-    case CSSPropertyD:
+    case CSSPropertyID::kD:
       return DataEquivalent(a.SvgStyle().D(), b.SvgStyle().D());
-    case CSSPropertyCx:
+    case CSSPropertyID::kCx:
       return a.SvgStyle().Cx() == b.SvgStyle().Cx();
-    case CSSPropertyCy:
+    case CSSPropertyID::kCy:
       return a.SvgStyle().Cy() == b.SvgStyle().Cy();
-    case CSSPropertyX:
+    case CSSPropertyID::kX:
       return a.SvgStyle().X() == b.SvgStyle().X();
-    case CSSPropertyY:
+    case CSSPropertyID::kY:
       return a.SvgStyle().Y() == b.SvgStyle().Y();
-    case CSSPropertyR:
+    case CSSPropertyID::kR:
       return a.SvgStyle().R() == b.SvgStyle().R();
-    case CSSPropertyRx:
+    case CSSPropertyID::kRx:
       return a.SvgStyle().Rx() == b.SvgStyle().Rx();
-    case CSSPropertyRy:
+    case CSSPropertyID::kRy:
       return a.SvgStyle().Ry() == b.SvgStyle().Ry();
-    case CSSPropertyZIndex:
+    case CSSPropertyID::kZIndex:
       return a.HasAutoZIndex() == b.HasAutoZIndex() &&
              (a.HasAutoZIndex() || a.ZIndex() == b.ZIndex());
     default:
diff --git a/third_party/blink/renderer/core/css/css_property_name.cc b/third_party/blink/renderer/core/css/css_property_name.cc
index 6aa0bbc..85b789e 100644
--- a/third_party/blink/renderer/core/css/css_property_name.cc
+++ b/third_party/blink/renderer/core/css/css_property_name.cc
@@ -24,7 +24,7 @@
 bool CSSPropertyName::operator==(const CSSPropertyName& other) const {
   if (property_id_ != other.property_id_)
     return false;
-  if (property_id_ != CSSPropertyVariable)
+  if (property_id_ != CSSPropertyID::kVariable)
     return true;
   return custom_property_name_ == other.custom_property_name_;
 }
diff --git a/third_party/blink/renderer/core/css/css_property_name.h b/third_party/blink/renderer/core/css/css_property_name.h
index 0135d94..2c2d62f 100644
--- a/third_party/blink/renderer/core/css/css_property_name.h
+++ b/third_party/blink/renderer/core/css/css_property_name.h
@@ -20,21 +20,21 @@
  public:
   explicit CSSPropertyName(CSSPropertyID property_id)
       : property_id_(property_id) {
-    DCHECK_NE(property_id, CSSPropertyInvalid);
-    DCHECK_NE(property_id, CSSPropertyVariable);
+    DCHECK_NE(property_id, CSSPropertyID::kInvalid);
+    DCHECK_NE(property_id, CSSPropertyID::kVariable);
   }
 
   explicit CSSPropertyName(const AtomicString& custom_property_name)
-      : property_id_(CSSPropertyVariable),
+      : property_id_(CSSPropertyID::kVariable),
         custom_property_name_(custom_property_name) {
     DCHECK(!custom_property_name.IsNull());
   }
 
   static base::Optional<CSSPropertyName> From(const String& value) {
     const CSSPropertyID property_id = cssPropertyID(value);
-    if (property_id == CSSPropertyInvalid)
+    if (property_id == CSSPropertyID::kInvalid)
       return base::nullopt;
-    if (property_id == CSSPropertyVariable)
+    if (property_id == CSSPropertyID::kVariable)
       return base::make_optional(CSSPropertyName(AtomicString(value)));
     return base::make_optional(CSSPropertyName(property_id));
   }
@@ -46,7 +46,9 @@
 
   CSSPropertyID Id() const { return property_id_; }
 
-  bool IsCustomProperty() const { return property_id_ == CSSPropertyVariable; }
+  bool IsCustomProperty() const {
+    return property_id_ == CSSPropertyID::kVariable;
+  }
 
   AtomicString ToAtomicString() const;
 
diff --git a/third_party/blink/renderer/core/css/css_property_name_test.cc b/third_party/blink/renderer/core/css/css_property_name_test.cc
index 5feb490..d39af37 100644
--- a/third_party/blink/renderer/core/css/css_property_name_test.cc
+++ b/third_party/blink/renderer/core/css/css_property_name_test.cc
@@ -9,18 +9,18 @@
 namespace blink {
 
 TEST(CSSPropertyNameTest, IdStandardProperty) {
-  CSSPropertyName name(CSSPropertyFontSize);
-  EXPECT_EQ(CSSPropertyFontSize, name.Id());
+  CSSPropertyName name(CSSPropertyID::kFontSize);
+  EXPECT_EQ(CSSPropertyID::kFontSize, name.Id());
 }
 
 TEST(CSSPropertyNameTest, IdCustomProperty) {
   CSSPropertyName name(AtomicString("--x"));
-  EXPECT_EQ(CSSPropertyVariable, name.Id());
+  EXPECT_EQ(CSSPropertyID::kVariable, name.Id());
   EXPECT_TRUE(name.IsCustomProperty());
 }
 
 TEST(CSSPropertyNameTest, GetNameStandardProperty) {
-  CSSPropertyName name(CSSPropertyFontSize);
+  CSSPropertyName name(CSSPropertyID::kFontSize);
   EXPECT_EQ(AtomicString("font-size"), name.ToAtomicString());
 }
 
@@ -31,11 +31,11 @@
 
 TEST(CSSPropertyNameTest, OperatorEquals) {
   EXPECT_EQ(CSSPropertyName("--x"), CSSPropertyName("--x"));
-  EXPECT_EQ(CSSPropertyName(CSSPropertyColor),
-            CSSPropertyName(CSSPropertyColor));
+  EXPECT_EQ(CSSPropertyName(CSSPropertyID::kColor),
+            CSSPropertyName(CSSPropertyID::kColor));
   EXPECT_NE(CSSPropertyName("--x"), CSSPropertyName("--y"));
-  EXPECT_NE(CSSPropertyName(CSSPropertyColor),
-            CSSPropertyName(CSSPropertyBackgroundColor));
+  EXPECT_NE(CSSPropertyName(CSSPropertyID::kColor),
+            CSSPropertyName(CSSPropertyID::kBackgroundColor));
 }
 
 TEST(CSSPropertyNameTest, From) {
@@ -44,13 +44,14 @@
   EXPECT_FALSE(CSSPropertyName::From("notaproperty"));
   EXPECT_FALSE(CSSPropertyName::From("-not-a-property"));
 
-  EXPECT_EQ(*CSSPropertyName::From("color"), CSSPropertyName(CSSPropertyColor));
+  EXPECT_EQ(*CSSPropertyName::From("color"),
+            CSSPropertyName(CSSPropertyID::kColor));
   EXPECT_EQ(*CSSPropertyName::From("--x"), CSSPropertyName("--x"));
 }
 
 TEST(CSSPropertyNameTest, FromNativeCSSProperty) {
   CSSPropertyName name = GetCSSPropertyFontSize().GetCSSPropertyName();
-  EXPECT_EQ(CSSPropertyName(CSSPropertyFontSize), name);
+  EXPECT_EQ(CSSPropertyName(CSSPropertyID::kFontSize), name);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/css/css_property_value.cc b/third_party/blink/renderer/core/css/css_property_value.cc
index 4250b2b..4cd5c54c4 100644
--- a/third_party/blink/renderer/core/css/css_property_value.cc
+++ b/third_party/blink/renderer/core/css/css_property_value.cc
@@ -38,7 +38,7 @@
 
 CSSPropertyID CSSPropertyValueMetadata::ShorthandID() const {
   if (!is_set_from_shorthand_)
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
 
   Vector<StylePropertyShorthand, 4> shorthands;
   getMatchingShorthandsForLonghand(Property().PropertyID(), &shorthands);
@@ -49,7 +49,7 @@
 }
 
 CSSPropertyName CSSPropertyValue::Name() const {
-  if (Id() != CSSPropertyVariable)
+  if (Id() != CSSPropertyID::kVariable)
     return CSSPropertyName(Id());
   return CSSPropertyName(
       To<CSSCustomPropertyDeclaration>(value_.Get())->GetName());
diff --git a/third_party/blink/renderer/core/css/css_property_value_set.cc b/third_party/blink/renderer/core/css/css_property_value_set.cc
index 430b35f..a28a3fc 100644
--- a/third_party/blink/renderer/core/css/css_property_value_set.cc
+++ b/third_party/blink/renderer/core/css/css_property_value_set.cc
@@ -60,7 +60,7 @@
 }
 
 CSSPropertyName CSSPropertyValueSet::PropertyReference::Name() const {
-  if (Id() != CSSPropertyVariable)
+  if (Id() != CSSPropertyID::kVariable)
     return CSSPropertyName(Id());
   return CSSPropertyName(To<CSSCustomPropertyDeclaration>(Value()).GetName());
 }
@@ -115,7 +115,7 @@
 }
 
 static uint16_t GetConvertedCSSPropertyID(const AtomicString&) {
-  return static_cast<uint16_t>(CSSPropertyVariable);
+  return static_cast<uint16_t>(CSSPropertyID::kVariable);
 }
 
 static uint16_t GetConvertedCSSPropertyID(AtRuleDescriptorID descriptor_id) {
@@ -344,7 +344,7 @@
     CSSPropertyID property_id) const {
   int found_property_index = FindPropertyIndex(property_id);
   if (found_property_index == -1)
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   return PropertyAt(found_property_index).ShorthandID();
 }
 
diff --git a/third_party/blink/renderer/core/css/css_property_value_set_test.cc b/third_party/blink/renderer/core/css/css_property_value_set_test.cc
index f7fe54e..2f4d297 100644
--- a/third_party/blink/renderer/core/css/css_property_value_set_test.cc
+++ b/third_party/blink/renderer/core/css/css_property_value_set_test.cc
@@ -44,22 +44,22 @@
   MutableCSSPropertyValueSet& set1 = rule1->MutableProperties();
 
   EXPECT_EQ(3u, set0.PropertyCount());
-  EXPECT_EQ("red", set0.GetPropertyValue(CSSPropertyColor));
+  EXPECT_EQ("red", set0.GetPropertyValue(CSSPropertyID::kColor));
   EXPECT_EQ("foo", set0.GetPropertyValue(AtomicString("--x")));
   EXPECT_EQ("foo", set0.GetPropertyValue(AtomicString("--y")));
   EXPECT_EQ(3u, set1.PropertyCount());
-  EXPECT_EQ("green", set1.GetPropertyValue(CSSPropertyColor));
+  EXPECT_EQ("green", set1.GetPropertyValue(CSSPropertyID::kColor));
   EXPECT_EQ("bar", set1.GetPropertyValue(AtomicString("--x")));
   EXPECT_EQ("bar", set1.GetPropertyValue(AtomicString("--y")));
 
   set0.MergeAndOverrideOnConflict(&set1);
 
   EXPECT_EQ(3u, set0.PropertyCount());
-  EXPECT_EQ("green", set0.GetPropertyValue(CSSPropertyColor));
+  EXPECT_EQ("green", set0.GetPropertyValue(CSSPropertyID::kColor));
   EXPECT_EQ("bar", set0.GetPropertyValue(AtomicString("--x")));
   EXPECT_EQ("bar", set0.GetPropertyValue(AtomicString("--y")));
   EXPECT_EQ(3u, set1.PropertyCount());
-  EXPECT_EQ("green", set1.GetPropertyValue(CSSPropertyColor));
+  EXPECT_EQ("green", set1.GetPropertyValue(CSSPropertyID::kColor));
   EXPECT_EQ("bar", set1.GetPropertyValue(AtomicString("--x")));
   EXPECT_EQ("bar", set1.GetPropertyValue(AtomicString("--y")));
 }
diff --git a/third_party/blink/renderer/core/css/css_style_declaration.cc b/third_party/blink/renderer/core/css/css_style_declaration.cc
index de06ca8..c39a7202 100644
--- a/third_party/blink/renderer/core/css/css_style_declaration.cc
+++ b/third_party/blink/renderer/core/css/css_style_declaration.cc
@@ -81,7 +81,7 @@
 CSSPropertyID ParseCSSPropertyID(const AtomicString& property_name) {
   unsigned length = property_name.length();
   if (!length)
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
 
   StringBuilder builder;
   builder.ReserveCapacity(length);
@@ -92,7 +92,7 @@
   if (HasCSSPropertyNamePrefix(property_name, "webkit"))
     builder.Append('-');
   else if (IsASCIIUpper(property_name[0]))
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
 
   bool has_seen_upper = IsASCIIUpper(property_name[i]);
 
@@ -114,7 +114,7 @@
   // Reject names containing both dashes and upper-case characters, such as
   // "border-rightColor".
   if (has_seen_dash && has_seen_upper)
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
 
   String prop_name = builder.ToString();
   return unresolvedCSSPropertyID(prop_name);
@@ -137,8 +137,8 @@
     return iter->value;
 
   CSSPropertyID unresolved_property = ParseCSSPropertyID(name);
-  if (unresolved_property == CSSPropertyVariable)
-    unresolved_property = CSSPropertyInvalid;
+  if (unresolved_property == CSSPropertyID::kVariable)
+    unresolved_property = CSSPropertyID::kInvalid;
   map.insert(name, unresolved_property);
   DCHECK(
       !isValidCSSPropertyID(unresolved_property) ||
diff --git a/third_party/blink/renderer/core/css/css_style_declaration.h b/third_party/blink/renderer/core/css/css_style_declaration.h
index 2a8cbf5..8292a45e 100644
--- a/third_party/blink/renderer/core/css/css_style_declaration.h
+++ b/third_party/blink/renderer/core/css/css_style_declaration.h
@@ -44,11 +44,11 @@
   ~CSSStyleDeclaration() override = default;
 
   virtual CSSRule* parentRule() const = 0;
-  String cssFloat() { return GetPropertyValueInternal(CSSPropertyFloat); }
+  String cssFloat() { return GetPropertyValueInternal(CSSPropertyID::kFloat); }
   void setCSSFloat(const ExecutionContext* execution_context,
                    const String& value,
                    ExceptionState& exception_state) {
-    SetPropertyInternal(CSSPropertyFloat, String(), value, false,
+    SetPropertyInternal(CSSPropertyID::kFloat, String(), value, false,
                         execution_context->GetSecureContextMode(),
                         exception_state);
   }
diff --git a/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc b/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc
index 1c0f69e..5235de2 100644
--- a/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc
+++ b/third_party/blink/renderer/core/css/cssom/computed_style_property_map.cc
@@ -233,7 +233,7 @@
   // Special cases for properties where CSSProperty::CSSValueFromComputedStyle
   // doesn't return the correct computed value
   switch (property_id) {
-    case CSSPropertyTransform:
+    case CSSPropertyID::kTransform:
       return ComputedTransform(*style);
     default:
       return CSSProperty::Get(property_id)
@@ -266,7 +266,7 @@
   for (const CSSProperty* property :
        CSSComputedStyleDeclaration::ComputableProperties()) {
     DCHECK(property);
-    DCHECK(!property->IDEquals(CSSPropertyVariable));
+    DCHECK(!property->IDEquals(CSSPropertyID::kVariable));
     const CSSValue* value = property->CSSValueFromComputedStyle(
         *style, nullptr /* layout_object */, StyledNode(), false);
     if (value)
diff --git a/third_party/blink/renderer/core/css/cssom/css_style_value.cc b/third_party/blink/renderer/core/css/cssom/css_style_value.cc
index 68a7650..8a25124 100644
--- a/third_party/blink/renderer/core/css/cssom/css_style_value.cc
+++ b/third_party/blink/renderer/core/css/cssom/css_style_value.cc
@@ -26,17 +26,17 @@
     ExceptionState& exception_state) {
   const CSSPropertyID property_id = cssPropertyID(property_name);
 
-  if (property_id == CSSPropertyInvalid) {
+  if (property_id == CSSPropertyID::kInvalid) {
     exception_state.ThrowTypeError("Invalid property name");
     return CSSStyleValueVector();
   }
 
-  AtomicString custom_property_name = property_id == CSSPropertyVariable
+  AtomicString custom_property_name = property_id == CSSPropertyID::kVariable
                                           ? AtomicString(property_name)
                                           : g_null_atom;
 
   const PropertyRegistration* registration =
-      (property_id == CSSPropertyVariable)
+      (property_id == CSSPropertyID::kVariable)
           ? PropertyRegistration::From(execution_context, custom_property_name)
           : nullptr;
 
diff --git a/third_party/blink/renderer/core/css/cssom/css_unit_value.cc b/third_party/blink/renderer/core/css/cssom/css_unit_value.cc
index 9a5559e5..608ecd9 100644
--- a/third_party/blink/renderer/core/css/cssom/css_unit_value.cc
+++ b/third_party/blink/renderer/core/css/cssom/css_unit_value.cc
@@ -49,38 +49,38 @@
 
   // For non-length properties and special cases.
   switch (property_id) {
-    case CSSPropertyVariable:
+    case CSSPropertyID::kVariable:
       if (match && match->IsInteger())
         return round(value) != value;
       return false;
-    case CSSPropertyOrder:
-    case CSSPropertyZIndex:
+    case CSSPropertyID::kOrder:
+    case CSSPropertyID::kZIndex:
       return round(value) != value;
-    case CSSPropertyTabSize:
+    case CSSPropertyID::kTabSize:
       return value < 0 || (unit == CSSPrimitiveValue::UnitType::kNumber &&
                            round(value) != value);
-    case CSSPropertyOrphans:
-    case CSSPropertyWidows:
-    case CSSPropertyColumnCount:
+    case CSSPropertyID::kOrphans:
+    case CSSPropertyID::kWidows:
+    case CSSPropertyID::kColumnCount:
       return round(value) != value || value < 1;
-    case CSSPropertyBlockSize:
-    case CSSPropertyColumnRuleWidth:
-    case CSSPropertyFlexGrow:
-    case CSSPropertyFlexShrink:
-    case CSSPropertyFontSize:
-    case CSSPropertyFontSizeAdjust:
-    case CSSPropertyFontStretch:
-    case CSSPropertyInlineSize:
-    case CSSPropertyLineHeightStep:
-    case CSSPropertyMaxBlockSize:
-    case CSSPropertyMaxInlineSize:
-    case CSSPropertyMinBlockSize:
-    case CSSPropertyMinInlineSize:
-    case CSSPropertyR:
-    case CSSPropertyRx:
-    case CSSPropertyRy:
+    case CSSPropertyID::kBlockSize:
+    case CSSPropertyID::kColumnRuleWidth:
+    case CSSPropertyID::kFlexGrow:
+    case CSSPropertyID::kFlexShrink:
+    case CSSPropertyID::kFontSize:
+    case CSSPropertyID::kFontSizeAdjust:
+    case CSSPropertyID::kFontStretch:
+    case CSSPropertyID::kInlineSize:
+    case CSSPropertyID::kLineHeightStep:
+    case CSSPropertyID::kMaxBlockSize:
+    case CSSPropertyID::kMaxInlineSize:
+    case CSSPropertyID::kMinBlockSize:
+    case CSSPropertyID::kMinInlineSize:
+    case CSSPropertyID::kR:
+    case CSSPropertyID::kRx:
+    case CSSPropertyID::kRy:
       return value < 0;
-    case CSSPropertyFontWeight:
+    case CSSPropertyID::kFontWeight:
       return value < 0 || value > 1000;
     default:
       return false;
diff --git a/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc b/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc
index fe58765..958aac7 100644
--- a/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc
+++ b/third_party/blink/renderer/core/css/cssom/declared_style_property_map.cc
@@ -66,7 +66,7 @@
   auto* variable_data =
       To<CSSVariableReferenceValue>(value).VariableDataValue();
   GetStyleRule()->MutableProperties().SetProperty(
-      CSSPropertyVariable,
+      CSSPropertyID::kVariable,
       *CSSCustomPropertyDeclaration::Create(property_name, variable_data));
 }
 
diff --git a/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc b/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc
index 67bf7281..b8e9e77 100644
--- a/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc
+++ b/third_party/blink/renderer/core/css/cssom/inline_style_property_map.cc
@@ -52,7 +52,7 @@
   auto* variable_data =
       To<CSSVariableReferenceValue>(value).VariableDataValue();
   owner_element_->SetInlineStyleProperty(
-      CSSPropertyVariable,
+      CSSPropertyID::kVariable,
       *CSSCustomPropertyDeclaration::Create(property_name, variable_data));
 }
 
diff --git a/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map.cc b/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map.cc
index d5b646d..8c92cb4 100644
--- a/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map.cc
+++ b/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map.cc
@@ -71,8 +71,8 @@
   DCHECK(IsMainThread());
   for (const auto& property_id : native_properties) {
     // Silently drop shorthand properties.
-    DCHECK_NE(property_id, CSSPropertyInvalid);
-    DCHECK_NE(property_id, CSSPropertyVariable);
+    DCHECK_NE(property_id, CSSPropertyID::kInvalid);
+    DCHECK_NE(property_id, CSSPropertyID::kVariable);
     if (CSSProperty::Get(property_id).IsShorthand())
       continue;
     std::unique_ptr<CrossThreadStyleValue> value =
@@ -121,7 +121,7 @@
     const String& property_name,
     ExceptionState& exception_state) const {
   CSSPropertyID property_id = cssPropertyID(property_name);
-  if (property_id == CSSPropertyInvalid) {
+  if (property_id == CSSPropertyID::kInvalid) {
     exception_state.ThrowTypeError("Invalid propertyName: " + property_name);
     return CSSStyleValueVector();
   }
diff --git a/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc b/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc
index 0d5d7ff9..79e1101 100644
--- a/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc
+++ b/third_party/blink/renderer/core/css/cssom/paint_worklet_style_property_map_test.cc
@@ -153,8 +153,9 @@
 };
 
 TEST_F(PaintWorkletStylePropertyMapTest, NativePropertyAccessors) {
-  Vector<CSSPropertyID> native_properties(
-      {CSSPropertyColor, CSSPropertyAlignItems, CSSPropertyBackground});
+  Vector<CSSPropertyID> native_properties({CSSPropertyID::kColor,
+                                           CSSPropertyID::kAlignItems,
+                                           CSSPropertyID::kBackground});
   Vector<AtomicString> empty_custom_properties;
   GetDocument().documentElement()->style()->setProperty(
       &GetDocument(), "color", "rgb(0, 255, 0)", "", ASSERT_NO_EXCEPTION);
@@ -212,8 +213,9 @@
 // This test ensures that Blink::PaintWorkletInput can be safely passed cross
 // threads and no information is lost.
 TEST_F(PaintWorkletStylePropertyMapTest, PassValuesCrossThread) {
-  Vector<CSSPropertyID> native_properties(
-      {CSSPropertyColor, CSSPropertyAlignItems, CSSPropertyDisplay});
+  Vector<CSSPropertyID> native_properties({CSSPropertyID::kColor,
+                                           CSSPropertyID::kAlignItems,
+                                           CSSPropertyID::kDisplay});
   GetDocument().documentElement()->style()->setProperty(
       &GetDocument(), "color", "rgb(0, 255, 0)", "", ASSERT_NO_EXCEPTION);
   GetDocument().documentElement()->style()->setProperty(
diff --git a/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.cc b/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.cc
index 0c60272d..aa9baf7 100644
--- a/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.cc
+++ b/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map.cc
@@ -29,7 +29,7 @@
 
   for (const auto& property_id : native_properties) {
     // Silently drop shorthand properties.
-    DCHECK_NE(property_id, CSSPropertyInvalid);
+    DCHECK_NE(property_id, CSSPropertyID::kInvalid);
     if (CSSProperty::Get(property_id).IsShorthand())
       continue;
 
@@ -49,7 +49,7 @@
     const Document& document,
     const ComputedStyle& style) {
   for (const auto& property_id : native_values_.Keys()) {
-    DCHECK_NE(property_id, CSSPropertyInvalid);
+    DCHECK_NE(property_id, CSSPropertyID::kInvalid);
     UpdateNativeProperty(style, property_id);
   }
 
diff --git a/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc b/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc
index cb34c4b2c..5de2d95f 100644
--- a/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc
+++ b/third_party/blink/renderer/core/css/cssom/prepopulated_computed_style_property_map_test.cc
@@ -50,7 +50,7 @@
 
 TEST_F(PrepopulatedComputedStylePropertyMapTest, NativePropertyAccessors) {
   Vector<CSSPropertyID> native_properties(
-      {CSSPropertyColor, CSSPropertyAlignItems});
+      {CSSPropertyID::kColor, CSSPropertyID::kAlignItems});
   Vector<AtomicString> empty_custom_properties;
 
   UpdateAllLifecyclePhasesForTest();
@@ -127,7 +127,7 @@
 
 TEST_F(PrepopulatedComputedStylePropertyMapTest, WidthBeingAuto) {
   SetElementWithStyle("width:auto");
-  const CSSValue* value = GetNativeValue(CSSPropertyWidth);
+  const CSSValue* value = GetNativeValue(CSSPropertyID::kWidth);
   EXPECT_EQ("auto", value->CssText());
 }
 
diff --git a/third_party/blink/renderer/core/css/cssom/style_property_map.cc b/third_party/blink/renderer/core/css/cssom/style_property_map.cc
index 4e905bb..f37b5f9 100644
--- a/third_party/blink/renderer/core/css/cssom/style_property_map.cc
+++ b/third_party/blink/renderer/core/css/cssom/style_property_map.cc
@@ -31,7 +31,7 @@
   // in all cases. See https://github.com/w3c/css-houdini-drafts/issues/823
   // For now we only consider a custom property list-valued if it has a single
   // syntax component that is repeatable (e.g. <length>+).
-  if (property.IDEquals(CSSPropertyVariable) && registration) {
+  if (property.IDEquals(CSSPropertyID::kVariable) && registration) {
     const auto& components = registration->Syntax().Components();
     return components.size() == 1 && components[0].IsRepeatable();
   }
@@ -110,7 +110,7 @@
     const PropertyRegistration* registration,
     const CSSStyleValue& style_value,
     const ExecutionContext& execution_context) {
-  DCHECK_EQ(property.IDEquals(CSSPropertyVariable),
+  DCHECK_EQ(property.IDEquals(CSSPropertyID::kVariable),
             !custom_property_name.IsNull());
 
   const CSSSyntaxComponent* syntax_component = nullptr;
@@ -123,9 +123,9 @@
   }
 
   if (style_value.GetType() == CSSStyleValue::kUnknownType &&
-      // Registered custom properties must enter the CSSPropertyVariable
+      // Registered custom properties must enter the CSSPropertyID::kVariable
       // switch-case below, for proper parsing according to registered syntax.
-      !(property_id == CSSPropertyVariable && registration)) {
+      !(property_id == CSSPropertyID::kVariable && registration)) {
     return CSSParser::ParseSingleValue(
         property.PropertyID(), style_value.toString(),
         CSSParserContext::Create(execution_context));
@@ -135,7 +135,7 @@
   // TODO(https://crbug.com/545324): Move this into a method on
   // CSSProperty when there are more of these cases.
   switch (property_id) {
-    case CSSPropertyVariable:
+    case CSSPropertyID::kVariable:
       if (registration &&
           style_value.GetType() != CSSStyleValue::kUnparsedType) {
         CSSParserContext* context = CSSParserContext::Create(execution_context);
@@ -144,10 +144,10 @@
         return CreateVariableReferenceValue(string, *context);
       }
       break;
-    case CSSPropertyBorderBottomLeftRadius:
-    case CSSPropertyBorderBottomRightRadius:
-    case CSSPropertyBorderTopLeftRadius:
-    case CSSPropertyBorderTopRightRadius: {
+    case CSSPropertyID::kBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
+    case CSSPropertyID::kBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopRightRadius: {
       // level 1 only accept single <length-percentages>, but border-radius-*
       // expects pairs.
       const auto* value = style_value.ToCSSValue();
@@ -157,7 +157,7 @@
       }
       break;
     }
-    case CSSPropertyContain: {
+    case CSSPropertyID::kContain: {
       // level 1 only accepts single values, which are stored internally
       // as a single element list.
       const auto* value = style_value.ToCSSValue();
@@ -169,9 +169,9 @@
       }
       break;
     }
-    case CSSPropertyFontVariantEastAsian:
-    case CSSPropertyFontVariantLigatures:
-    case CSSPropertyFontVariantNumeric: {
+    case CSSPropertyID::kFontVariantEastAsian:
+    case CSSPropertyID::kFontVariantLigatures:
+    case CSSPropertyID::kFontVariantNumeric: {
       // level 1 only accept single keywords, but font-variant-* store
       // them as a list
       if (const auto* value =
@@ -188,7 +188,7 @@
       }
       break;
     }
-    case CSSPropertyGridAutoFlow: {
+    case CSSPropertyID::kGridAutoFlow: {
       // level 1 only accepts single keywords
       const auto* value = style_value.ToCSSValue();
       // single keywords are wrapped in a list.
@@ -199,7 +199,7 @@
       }
       break;
     }
-    case CSSPropertyOffsetRotate: {
+    case CSSPropertyID::kOffsetRotate: {
       // level 1 only accepts single values, which are stored internally
       // as a single element list.
       const auto* value = style_value.ToCSSValue();
@@ -211,7 +211,7 @@
       }
       break;
     }
-    case CSSPropertyPaintOrder: {
+    case CSSPropertyID::kPaintOrder: {
       // level 1 only accepts single keywords
       const auto* value = style_value.ToCSSValue();
       // only 'normal' is stored as an identifier, the other keywords are
@@ -225,7 +225,7 @@
       }
       break;
     }
-    case CSSPropertyTextDecorationLine: {
+    case CSSPropertyID::kTextDecorationLine: {
       // level 1 only accepts single keywords
       const auto* value = style_value.ToCSSValue();
       // only 'none' is stored as an identifier, the other keywords are
@@ -239,7 +239,7 @@
       }
       break;
     }
-    case CSSPropertyTextIndent: {
+    case CSSPropertyID::kTextIndent: {
       // level 1 only accepts single values, which are stored internally
       // as a single element list.
       const auto* value = style_value.ToCSSValue();
@@ -250,8 +250,8 @@
       }
       break;
     }
-    case CSSPropertyTransitionProperty:
-    case CSSPropertyTouchAction: {
+    case CSSPropertyID::kTransitionProperty:
+    case CSSPropertyID::kTouchAction: {
       // level 1 only accepts single keywords, which are stored internally
       // as a single element list
       const auto* value = style_value.ToCSSValue();
@@ -276,7 +276,7 @@
     const CSSStyleValueOrString& value,
     const ExecutionContext& execution_context) {
   DCHECK(!IsListValuedProperty(property, registration));
-  DCHECK_EQ(property.IDEquals(CSSPropertyVariable),
+  DCHECK_EQ(property.IDEquals(CSSPropertyID::kVariable),
             !custom_property_name.IsNull());
 
   if (value.IsCSSStyleValue()) {
@@ -305,7 +305,7 @@
     const HeapVector<CSSStyleValueOrString>& values,
     const ExecutionContext& execution_context) {
   DCHECK(IsListValuedProperty(property, registration));
-  DCHECK_EQ(property.IDEquals(CSSPropertyVariable),
+  DCHECK_EQ(property.IDEquals(CSSPropertyID::kVariable),
             !custom_property_name.IsNull());
   if (values.IsEmpty())
     return nullptr;
@@ -318,7 +318,7 @@
   if (style_values.IsEmpty())
     return nullptr;
 
-  if (property.IDEquals(CSSPropertyVariable) && registration) {
+  if (property.IDEquals(CSSPropertyID::kVariable) && registration) {
     CSSParserContext* context = CSSParserContext::Create(execution_context);
     return CreateVariableReferenceValue(property, custom_property_name,
                                         *registration, style_values, *context);
@@ -346,7 +346,7 @@
                            const HeapVector<CSSStyleValueOrString>& values,
                            ExceptionState& exception_state) {
   const CSSPropertyID property_id = cssPropertyID(property_name);
-  if (property_id == CSSPropertyInvalid) {
+  if (property_id == CSSPropertyID::kInvalid) {
     exception_state.ThrowTypeError("Invalid propertyName: " + property_name);
     return;
   }
@@ -380,13 +380,14 @@
     return;
   }
 
-  AtomicString custom_property_name = (property_id == CSSPropertyVariable)
+  AtomicString custom_property_name = (property_id == CSSPropertyID::kVariable)
                                           ? AtomicString(property_name)
                                           : g_null_atom;
 
   const PropertyRegistration* registration = nullptr;
 
-  if (property_id == CSSPropertyVariable && IsA<Document>(execution_context)) {
+  if (property_id == CSSPropertyID::kVariable &&
+      IsA<Document>(execution_context)) {
     const PropertyRegistry* registry =
         To<Document>(*execution_context).GetPropertyRegistry();
     if (registry) {
@@ -410,7 +411,7 @@
     return;
   }
 
-  if (property_id == CSSPropertyVariable)
+  if (property_id == CSSPropertyID::kVariable)
     SetCustomProperty(custom_property_name, *result);
   else
     SetProperty(property_id, *result);
@@ -425,14 +426,14 @@
 
   const CSSPropertyID property_id = cssPropertyID(property_name);
 
-  if (property_id == CSSPropertyInvalid) {
+  if (property_id == CSSPropertyID::kInvalid) {
     exception_state.ThrowTypeError("Invalid propertyName: " + property_name);
     return;
   }
 
   const CSSProperty& property = CSSProperty::Get(property_id);
 
-  if (property_id == CSSPropertyVariable) {
+  if (property_id == CSSPropertyID::kVariable) {
     AtomicString custom_property_name(property_name);
 
     const PropertyRegistration* registration =
@@ -509,12 +510,12 @@
 void StylePropertyMap::remove(const String& property_name,
                               ExceptionState& exception_state) {
   CSSPropertyID property_id = cssPropertyID(property_name);
-  if (property_id == CSSPropertyInvalid) {
+  if (property_id == CSSPropertyID::kInvalid) {
     exception_state.ThrowTypeError("Invalid property name: " + property_name);
     return;
   }
 
-  if (property_id == CSSPropertyVariable) {
+  if (property_id == CSSPropertyID::kVariable) {
     RemoveCustomProperty(AtomicString(property_name));
   } else {
     RemoveProperty(property_id);
diff --git a/third_party/blink/renderer/core/css/cssom/style_value_factory.cc b/third_party/blink/renderer/core/css/cssom/style_value_factory.cc
index 54d70e80..2c12998 100644
--- a/third_party/blink/renderer/core/css/cssom/style_value_factory.cc
+++ b/third_party/blink/renderer/core/css/cssom/style_value_factory.cc
@@ -64,10 +64,10 @@
   // FIXME: We should enforce/document what the possible CSSValue structures
   // are for each property.
   switch (property_id) {
-    case CSSPropertyBorderBottomLeftRadius:
-    case CSSPropertyBorderBottomRightRadius:
-    case CSSPropertyBorderTopLeftRadius:
-    case CSSPropertyBorderTopRightRadius: {
+    case CSSPropertyID::kBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
+    case CSSPropertyID::kBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopRightRadius: {
       // border-radius-* are always stored as pairs, but when both values are
       // the same, we should reify as a single value.
       if (const auto* pair = DynamicTo<CSSValuePair>(value)) {
@@ -77,26 +77,26 @@
       }
       return nullptr;
     }
-    case CSSPropertyCaretColor: {
+    case CSSPropertyID::kCaretColor: {
       // caret-color also supports 'auto'
       auto* identifier_value = DynamicTo<CSSIdentifierValue>(value);
       if (identifier_value && identifier_value->GetValueID() == CSSValueAuto)
         return CSSKeywordValue::Create("auto");
       FALLTHROUGH;
     }
-    case CSSPropertyBackgroundColor:
-    case CSSPropertyBorderBottomColor:
-    case CSSPropertyBorderLeftColor:
-    case CSSPropertyBorderRightColor:
-    case CSSPropertyBorderTopColor:
-    case CSSPropertyColor:
-    case CSSPropertyColumnRuleColor:
-    case CSSPropertyFloodColor:
-    case CSSPropertyLightingColor:
-    case CSSPropertyOutlineColor:
-    case CSSPropertyStopColor:
-    case CSSPropertyTextDecorationColor:
-    case CSSPropertyWebkitTextEmphasisColor: {
+    case CSSPropertyID::kBackgroundColor:
+    case CSSPropertyID::kBorderBottomColor:
+    case CSSPropertyID::kBorderLeftColor:
+    case CSSPropertyID::kBorderRightColor:
+    case CSSPropertyID::kBorderTopColor:
+    case CSSPropertyID::kColor:
+    case CSSPropertyID::kColumnRuleColor:
+    case CSSPropertyID::kFloodColor:
+    case CSSPropertyID::kLightingColor:
+    case CSSPropertyID::kOutlineColor:
+    case CSSPropertyID::kStopColor:
+    case CSSPropertyID::kTextDecorationColor:
+    case CSSPropertyID::kWebkitTextEmphasisColor: {
       // Only 'currentcolor' is supported.
       auto* identifier_value = DynamicTo<CSSIdentifierValue>(value);
       if (identifier_value &&
@@ -105,7 +105,7 @@
       return CSSUnsupportedStyleValue::Create(CSSPropertyName(property_id),
                                               value);
     }
-    case CSSPropertyContain: {
+    case CSSPropertyID::kContain: {
       if (value.IsIdentifierValue())
         return CreateStyleValue(value);
 
@@ -115,9 +115,9 @@
         return CreateStyleValue(value_list.Item(0));
       return nullptr;
     }
-    case CSSPropertyFontVariantEastAsian:
-    case CSSPropertyFontVariantLigatures:
-    case CSSPropertyFontVariantNumeric: {
+    case CSSPropertyID::kFontVariantEastAsian:
+    case CSSPropertyID::kFontVariantLigatures:
+    case CSSPropertyID::kFontVariantNumeric: {
       // Only single keywords are supported in level 1.
       if (const auto* value_list = DynamicTo<CSSValueList>(value)) {
         if (value_list->length() != 1U)
@@ -126,33 +126,33 @@
       }
       return CreateStyleValue(value);
     }
-    case CSSPropertyGridAutoFlow: {
+    case CSSPropertyID::kGridAutoFlow: {
       const auto& value_list = To<CSSValueList>(value);
       // Only single keywords are supported in level 1.
       if (value_list.length() == 1U)
         return CreateStyleValue(value_list.Item(0));
       return nullptr;
     }
-    case CSSPropertyTransform:
+    case CSSPropertyID::kTransform:
       return CSSTransformValue::FromCSSValue(value);
-    case CSSPropertyOffsetAnchor:
-    case CSSPropertyOffsetPosition:
+    case CSSPropertyID::kOffsetAnchor:
+    case CSSPropertyID::kOffsetPosition:
       // offset-anchor and offset-position can be 'auto'
       if (value.IsIdentifierValue())
         return CreateStyleValue(value);
       FALLTHROUGH;
-    case CSSPropertyObjectPosition:
-    case CSSPropertyPerspectiveOrigin:
-    case CSSPropertyTransformOrigin:
+    case CSSPropertyID::kObjectPosition:
+    case CSSPropertyID::kPerspectiveOrigin:
+    case CSSPropertyID::kTransformOrigin:
       return CSSPositionValue::FromCSSValue(value);
-    case CSSPropertyOffsetRotate: {
+    case CSSPropertyID::kOffsetRotate: {
       const auto& value_list = To<CSSValueList>(value);
       // Only single keywords are supported in level 1.
       if (value_list.length() == 1U)
         return CreateStyleValue(value_list.Item(0));
       return nullptr;
     }
-    case CSSPropertyAlignItems: {
+    case CSSPropertyID::kAlignItems: {
       // Computed align-items is a ValueList of either length 1 or 2.
       // Typed OM level 1 can't support "pairs", so we only return
       // a Typed OM object for length 1 lists.
@@ -163,7 +163,7 @@
       }
       return CreateStyleValue(value);
     }
-    case CSSPropertyTextDecorationLine: {
+    case CSSPropertyID::kTextDecorationLine: {
       if (value.IsIdentifierValue())
         return CreateStyleValue(value);
 
@@ -173,7 +173,7 @@
         return CreateStyleValue(value_list.Item(0));
       return nullptr;
     }
-    case CSSPropertyTextIndent: {
+    case CSSPropertyID::kTextIndent: {
       if (value.IsIdentifierValue())
         return CreateStyleValue(value);
 
@@ -183,15 +183,15 @@
         return CreateStyleValue(value_list.Item(0));
       return nullptr;
     }
-    case CSSPropertyTransitionProperty:
-    case CSSPropertyTouchAction: {
+    case CSSPropertyID::kTransitionProperty:
+    case CSSPropertyID::kTouchAction: {
       const auto& value_list = To<CSSValueList>(value);
       // Only single values are supported in level 1.
       if (value_list.length() == 1U)
         return CreateStyleValue(value_list.Item(0));
       return nullptr;
     }
-    case CSSPropertyWillChange: {
+    case CSSPropertyID::kWillChange: {
       // Only 'auto' is supported, which can be stored as an identifier or list.
       if (value.IsIdentifierValue())
         return CreateStyleValue(value);
@@ -213,13 +213,13 @@
 
 CSSStyleValue* CreateStyleValueWithProperty(CSSPropertyID property_id,
                                             const CSSValue& value) {
-  DCHECK_NE(property_id, CSSPropertyInvalid);
+  DCHECK_NE(property_id, CSSPropertyID::kInvalid);
 
   if (CSSStyleValue* style_value = CreateStyleValueWithoutProperty(value))
     return style_value;
 
   if (!CSSOMTypes::IsPropertySupported(property_id)) {
-    DCHECK_NE(property_id, CSSPropertyVariable);
+    DCHECK_NE(property_id, CSSPropertyID::kVariable);
     return CSSUnsupportedStyleValue::Create(CSSPropertyName(property_id),
                                             value);
   }
@@ -246,14 +246,15 @@
     const PropertyRegistration* registration,
     const String& css_text,
     const CSSParserContext* parser_context) {
-  DCHECK_NE(property_id, CSSPropertyInvalid);
-  DCHECK_EQ(property_id == CSSPropertyVariable, !custom_property_name.IsNull());
+  DCHECK_NE(property_id, CSSPropertyID::kInvalid);
+  DCHECK_EQ(property_id == CSSPropertyID::kVariable,
+            !custom_property_name.IsNull());
   CSSTokenizer tokenizer(css_text);
   const auto tokens = tokenizer.TokenizeToEOF();
   const CSSParserTokenRange range(tokens);
 
   HeapVector<CSSPropertyValue, 256> parsed_properties;
-  if (property_id != CSSPropertyVariable &&
+  if (property_id != CSSPropertyID::kVariable &&
       CSSPropertyParser::ParseValue(property_id, false, range, parser_context,
                                     parsed_properties,
                                     StyleRule::RuleType::kStyle)) {
@@ -275,7 +276,7 @@
     return result;
   }
 
-  if (property_id == CSSPropertyVariable && registration) {
+  if (property_id == CSSPropertyID::kVariable && registration) {
     const bool is_animation_tainted = false;
     const CSSValue* value = registration->Syntax().Parse(tokens, parser_context,
                                                          is_animation_tainted);
@@ -286,7 +287,7 @@
         CSSPropertyName(custom_property_name), *value);
   }
 
-  if ((property_id == CSSPropertyVariable && !tokens.IsEmpty()) ||
+  if ((property_id == CSSPropertyID::kVariable && !tokens.IsEmpty()) ||
       CSSVariableParser::ContainsValidVariableReferences(range)) {
     const auto variable_data = CSSVariableData::Create(
         range, false /* is_animation_tainted */,
@@ -363,13 +364,13 @@
       // they may be. Therefore we must ignore "IsRepeated" for custom
       // properties.
       (!CSSProperty::Get(property_id).IsRepeated() &&
-       property_id != CSSPropertyVariable) ||
+       property_id != CSSPropertyID::kVariable) ||
       // Note: CSSTransformComponent is parsed as CSSFunctionValue, which is a
       // CSSValueList. We do not yet support such CSSFunctionValues, however.
       // TODO(andruud): Make CSSTransformComponent a subclass of CSSStyleValue,
       // once TypedOM spec is updated.
       // https://github.com/w3c/css-houdini-drafts/issues/290
-      (property_id == CSSPropertyVariable &&
+      (property_id == CSSPropertyID::kVariable &&
        CSSTransformComponent::FromCSSValue(css_value))) {
     return UnsupportedCSSValue(name, css_value);
   }
diff --git a/third_party/blink/renderer/core/css/dom_window_css.cc b/third_party/blink/renderer/core/css/dom_window_css.cc
index 8573d78..6ef12e3 100644
--- a/third_party/blink/renderer/core/css/dom_window_css.cc
+++ b/third_party/blink/renderer/core/css/dom_window_css.cc
@@ -43,9 +43,9 @@
                             const String& property,
                             const String& value) {
   CSSPropertyID unresolved_property = unresolvedCSSPropertyID(property);
-  if (unresolved_property == CSSPropertyInvalid)
+  if (unresolved_property == CSSPropertyID::kInvalid)
     return false;
-  if (unresolved_property == CSSPropertyVariable) {
+  if (unresolved_property == CSSPropertyID::kVariable) {
     MutableCSSPropertyValueSet* dummy_style =
         MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
     bool is_animation_tainted = false;
diff --git a/third_party/blink/renderer/core/css/element_rule_collector.cc b/third_party/blink/renderer/core/css/element_rule_collector.cc
index ea245fbd..93cfa43 100644
--- a/third_party/blink/renderer/core/css/element_rule_collector.cc
+++ b/third_party/blink/renderer/core/css/element_rule_collector.cc
@@ -349,7 +349,7 @@
       return;
     if ((dynamic_pseudo == kPseudoIdBefore ||
          dynamic_pseudo == kPseudoIdAfter) &&
-        !rule_data->Rule()->Properties().HasProperty(CSSPropertyContent))
+        !rule_data->Rule()->Properties().HasProperty(CSSPropertyID::kContent))
       return;
     style_->SetHasPseudoStyle(dynamic_pseudo);
   } else {
diff --git a/third_party/blink/renderer/core/css/font_face_cache_test.cc b/third_party/blink/renderer/core/css/font_face_cache_test.cc
index 0cc922c..d5df1cb 100644
--- a/third_party/blink/renderer/core/css/font_face_cache_test.cc
+++ b/third_party/blink/renderer/core/css/font_face_cache_test.cc
@@ -73,9 +73,9 @@
   MutableCSSPropertyValueSet* font_face_descriptor =
       MutableCSSPropertyValueSet::Create(properties, base::size(properties));
 
-  font_face_descriptor->SetProperty(CSSPropertyFontStretch, stretch);
-  font_face_descriptor->SetProperty(CSSPropertyFontStyle, style);
-  font_face_descriptor->SetProperty(CSSPropertyFontWeight, weight);
+  font_face_descriptor->SetProperty(CSSPropertyID::kFontStretch, stretch);
+  font_face_descriptor->SetProperty(CSSPropertyID::kFontStyle, style);
+  font_face_descriptor->SetProperty(CSSPropertyID::kFontWeight, weight);
 
   StyleRuleFontFace* style_rule_font_face =
       StyleRuleFontFace::Create(font_face_descriptor);
diff --git a/third_party/blink/renderer/core/css/font_face_set_document.cc b/third_party/blink/renderer/core/css/font_face_set_document.cc
index 8c76092..1a5eea64 100644
--- a/third_party/blink/renderer/core/css/font_face_set_document.cc
+++ b/third_party/blink/renderer/core/css/font_face_set_document.cc
@@ -142,12 +142,12 @@
   // CanvasRenderingContext2D.
   MutableCSSPropertyValueSet* parsed_style =
       MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-  CSSParser::ParseValue(parsed_style, CSSPropertyFont, font_string, true,
+  CSSParser::ParseValue(parsed_style, CSSPropertyID::kFont, font_string, true,
                         GetDocument()->GetSecureContextMode());
   if (parsed_style->IsEmpty())
     return false;
 
-  String font_value = parsed_style->GetPropertyValue(CSSPropertyFont);
+  String font_value = parsed_style->GetPropertyValue(CSSPropertyID::kFont);
   if (font_value == "inherit" || font_value == "initial")
     return false;
 
diff --git a/third_party/blink/renderer/core/css/font_face_set_worker.cc b/third_party/blink/renderer/core/css/font_face_set_worker.cc
index 270f40a..52a3106 100644
--- a/third_party/blink/renderer/core/css/font_face_set_worker.cc
+++ b/third_party/blink/renderer/core/css/font_face_set_worker.cc
@@ -76,12 +76,12 @@
   // CanvasRenderingContext2D.
   MutableCSSPropertyValueSet* parsed_style =
       MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-  CSSParser::ParseValue(parsed_style, CSSPropertyFont, font_string, true,
+  CSSParser::ParseValue(parsed_style, CSSPropertyID::kFont, font_string, true,
                         GetExecutionContext()->GetSecureContextMode());
   if (parsed_style->IsEmpty())
     return false;
 
-  String font_value = parsed_style->GetPropertyValue(CSSPropertyFont);
+  String font_value = parsed_style->GetPropertyValue(CSSPropertyID::kFont);
   if (font_value == "inherit" || font_value == "initial")
     return false;
 
diff --git a/third_party/blink/renderer/core/css/parser/css_lazy_parsing_test.cc b/third_party/blink/renderer/core/css/parser/css_lazy_parsing_test.cc
index 0ad37e1..66f5db02 100644
--- a/third_party/blink/renderer/core/css/parser/css_lazy_parsing_test.cc
+++ b/third_party/blink/renderer/core/css/parser/css_lazy_parsing_test.cc
@@ -133,8 +133,8 @@
               cached_contents_->SingleOwnerDocument());
     UseCounter& use_counter1 =
         dummy_holder->GetDocument().Loader()->GetUseCounter();
-    EXPECT_TRUE(use_counter1.IsCounted(CSSPropertyBackgroundColor));
-    EXPECT_FALSE(use_counter1.IsCounted(CSSPropertyColor));
+    EXPECT_TRUE(use_counter1.IsCounted(CSSPropertyID::kBackgroundColor));
+    EXPECT_FALSE(use_counter1.IsCounted(CSSPropertyID::kColor));
 
     // Change owner document.
     cached_contents_->UnregisterClient(sheet);
@@ -160,8 +160,8 @@
   UseCounter& use_counter2 =
       dummy_holder2->GetDocument().Loader()->GetUseCounter();
   EXPECT_TRUE(sheet2);
-  EXPECT_TRUE(use_counter2.IsCounted(CSSPropertyColor));
-  EXPECT_FALSE(use_counter2.IsCounted(CSSPropertyBackgroundColor));
+  EXPECT_TRUE(use_counter2.IsCounted(CSSPropertyID::kColor));
+  EXPECT_FALSE(use_counter2.IsCounted(CSSPropertyID::kBackgroundColor));
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/css/parser/css_parser.cc b/third_party/blink/renderer/core/css/parser/css_parser.cc
index c14a5f4..135aa51 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser.cc
+++ b/third_party/blink/renderer/core/css/parser/css_parser.cc
@@ -236,7 +236,7 @@
     // context mode. If a function/unit/etc will require a secure context check
     // in the future, plumbing will need to be added.
     value = ParseSingleValue(
-        CSSPropertyColor, string,
+        CSSPropertyID::kColor, string,
         StrictCSSParserContext(SecureContextMode::kInsecureContext));
   }
 
diff --git a/third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc b/third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
index 45e7ba7..df16031 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
+++ b/third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
@@ -28,62 +28,62 @@
 static inline bool IsSimpleLengthPropertyID(CSSPropertyID property_id,
                                             bool& accepts_negative_numbers) {
   switch (property_id) {
-    case CSSPropertyBlockSize:
-    case CSSPropertyInlineSize:
-    case CSSPropertyMinBlockSize:
-    case CSSPropertyMinInlineSize:
-    case CSSPropertyFontSize:
-    case CSSPropertyHeight:
-    case CSSPropertyWidth:
-    case CSSPropertyMinHeight:
-    case CSSPropertyMinWidth:
-    case CSSPropertyPaddingBottom:
-    case CSSPropertyPaddingLeft:
-    case CSSPropertyPaddingRight:
-    case CSSPropertyPaddingTop:
-    case CSSPropertyScrollMarginBlockEnd:
-    case CSSPropertyScrollMarginBlockStart:
-    case CSSPropertyScrollMarginBottom:
-    case CSSPropertyScrollMarginInlineEnd:
-    case CSSPropertyScrollMarginInlineStart:
-    case CSSPropertyScrollMarginLeft:
-    case CSSPropertyScrollMarginRight:
-    case CSSPropertyScrollMarginTop:
-    case CSSPropertyScrollPaddingBlockEnd:
-    case CSSPropertyScrollPaddingBlockStart:
-    case CSSPropertyScrollPaddingBottom:
-    case CSSPropertyScrollPaddingInlineEnd:
-    case CSSPropertyScrollPaddingInlineStart:
-    case CSSPropertyScrollPaddingLeft:
-    case CSSPropertyScrollPaddingRight:
-    case CSSPropertyScrollPaddingTop:
-    case CSSPropertyPaddingBlockEnd:
-    case CSSPropertyPaddingBlockStart:
-    case CSSPropertyPaddingInlineEnd:
-    case CSSPropertyPaddingInlineStart:
-    case CSSPropertyShapeMargin:
-    case CSSPropertyR:
-    case CSSPropertyRx:
-    case CSSPropertyRy:
+    case CSSPropertyID::kBlockSize:
+    case CSSPropertyID::kInlineSize:
+    case CSSPropertyID::kMinBlockSize:
+    case CSSPropertyID::kMinInlineSize:
+    case CSSPropertyID::kFontSize:
+    case CSSPropertyID::kHeight:
+    case CSSPropertyID::kWidth:
+    case CSSPropertyID::kMinHeight:
+    case CSSPropertyID::kMinWidth:
+    case CSSPropertyID::kPaddingBottom:
+    case CSSPropertyID::kPaddingLeft:
+    case CSSPropertyID::kPaddingRight:
+    case CSSPropertyID::kPaddingTop:
+    case CSSPropertyID::kScrollMarginBlockEnd:
+    case CSSPropertyID::kScrollMarginBlockStart:
+    case CSSPropertyID::kScrollMarginBottom:
+    case CSSPropertyID::kScrollMarginInlineEnd:
+    case CSSPropertyID::kScrollMarginInlineStart:
+    case CSSPropertyID::kScrollMarginLeft:
+    case CSSPropertyID::kScrollMarginRight:
+    case CSSPropertyID::kScrollMarginTop:
+    case CSSPropertyID::kScrollPaddingBlockEnd:
+    case CSSPropertyID::kScrollPaddingBlockStart:
+    case CSSPropertyID::kScrollPaddingBottom:
+    case CSSPropertyID::kScrollPaddingInlineEnd:
+    case CSSPropertyID::kScrollPaddingInlineStart:
+    case CSSPropertyID::kScrollPaddingLeft:
+    case CSSPropertyID::kScrollPaddingRight:
+    case CSSPropertyID::kScrollPaddingTop:
+    case CSSPropertyID::kPaddingBlockEnd:
+    case CSSPropertyID::kPaddingBlockStart:
+    case CSSPropertyID::kPaddingInlineEnd:
+    case CSSPropertyID::kPaddingInlineStart:
+    case CSSPropertyID::kShapeMargin:
+    case CSSPropertyID::kR:
+    case CSSPropertyID::kRx:
+    case CSSPropertyID::kRy:
       accepts_negative_numbers = false;
       return true;
-    case CSSPropertyBottom:
-    case CSSPropertyCx:
-    case CSSPropertyCy:
-    case CSSPropertyLeft:
-    case CSSPropertyMarginBottom:
-    case CSSPropertyMarginLeft:
-    case CSSPropertyMarginRight:
-    case CSSPropertyMarginTop:
-    case CSSPropertyOffsetDistance:
-    case CSSPropertyRight:
-    case CSSPropertyTop:
-    case CSSPropertyMarginBlockEnd:
-    case CSSPropertyMarginBlockStart:
-    case CSSPropertyMarginInlineEnd:
-    case CSSPropertyMarginInlineStart:
-    case CSSPropertyX:
-    case CSSPropertyY:
+    case CSSPropertyID::kBottom:
+    case CSSPropertyID::kCx:
+    case CSSPropertyID::kCy:
+    case CSSPropertyID::kLeft:
+    case CSSPropertyID::kMarginBottom:
+    case CSSPropertyID::kMarginLeft:
+    case CSSPropertyID::kMarginRight:
+    case CSSPropertyID::kMarginTop:
+    case CSSPropertyID::kOffsetDistance:
+    case CSSPropertyID::kRight:
+    case CSSPropertyID::kTop:
+    case CSSPropertyID::kMarginBlockEnd:
+    case CSSPropertyID::kMarginBlockStart:
+    case CSSPropertyID::kMarginInlineEnd:
+    case CSSPropertyID::kMarginInlineStart:
+    case CSSPropertyID::kX:
+    case CSSPropertyID::kY:
       accepts_negative_numbers = true;
       return true;
     default:
@@ -157,28 +157,28 @@
 
 static inline bool IsColorPropertyID(CSSPropertyID property_id) {
   switch (property_id) {
-    case CSSPropertyCaretColor:
-    case CSSPropertyColor:
-    case CSSPropertyBackgroundColor:
-    case CSSPropertyBorderBottomColor:
-    case CSSPropertyBorderLeftColor:
-    case CSSPropertyBorderRightColor:
-    case CSSPropertyBorderTopColor:
-    case CSSPropertyFill:
-    case CSSPropertyFloodColor:
-    case CSSPropertyLightingColor:
-    case CSSPropertyOutlineColor:
-    case CSSPropertyStopColor:
-    case CSSPropertyStroke:
-    case CSSPropertyBorderBlockEndColor:
-    case CSSPropertyBorderBlockStartColor:
-    case CSSPropertyBorderInlineEndColor:
-    case CSSPropertyBorderInlineStartColor:
-    case CSSPropertyColumnRuleColor:
-    case CSSPropertyWebkitTextEmphasisColor:
-    case CSSPropertyWebkitTextFillColor:
-    case CSSPropertyWebkitTextStrokeColor:
-    case CSSPropertyTextDecorationColor:
+    case CSSPropertyID::kCaretColor:
+    case CSSPropertyID::kColor:
+    case CSSPropertyID::kBackgroundColor:
+    case CSSPropertyID::kBorderBottomColor:
+    case CSSPropertyID::kBorderLeftColor:
+    case CSSPropertyID::kBorderRightColor:
+    case CSSPropertyID::kBorderTopColor:
+    case CSSPropertyID::kFill:
+    case CSSPropertyID::kFloodColor:
+    case CSSPropertyID::kLightingColor:
+    case CSSPropertyID::kOutlineColor:
+    case CSSPropertyID::kStopColor:
+    case CSSPropertyID::kStroke:
+    case CSSPropertyID::kBorderBlockEndColor:
+    case CSSPropertyID::kBorderBlockStartColor:
+    case CSSPropertyID::kBorderInlineEndColor:
+    case CSSPropertyID::kBorderInlineStartColor:
+    case CSSPropertyID::kColumnRuleColor:
+    case CSSPropertyID::kWebkitTextEmphasisColor:
+    case CSSPropertyID::kWebkitTextFillColor:
+    case CSSPropertyID::kWebkitTextStrokeColor:
+    case CSSPropertyID::kTextDecorationColor:
       return true;
     default:
       return false;
@@ -552,191 +552,192 @@
 
   // For range checks, enum ordering is defined by CSSValueKeywords.in.
   switch (property_id) {
-    case CSSPropertyAlignmentBaseline:
+    case CSSPropertyID::kAlignmentBaseline:
       return value_id == CSSValueAuto || value_id == CSSValueAlphabetic ||
              value_id == CSSValueBaseline || value_id == CSSValueMiddle ||
              (value_id >= CSSValueBeforeEdge &&
               value_id <= CSSValueMathematical);
-    case CSSPropertyAll:
+    case CSSPropertyID::kAll:
       return false;  // Only accepts css-wide keywords
-    case CSSPropertyBackgroundRepeatX:
-    case CSSPropertyBackgroundRepeatY:
+    case CSSPropertyID::kBackgroundRepeatX:
+    case CSSPropertyID::kBackgroundRepeatY:
       return value_id == CSSValueRepeat || value_id == CSSValueNoRepeat;
-    case CSSPropertyBorderCollapse:
+    case CSSPropertyID::kBorderCollapse:
       return value_id == CSSValueCollapse || value_id == CSSValueSeparate;
-    case CSSPropertyBorderTopStyle:
-    case CSSPropertyBorderRightStyle:
-    case CSSPropertyBorderBottomStyle:
-    case CSSPropertyBorderLeftStyle:
-    case CSSPropertyBorderBlockEndStyle:
-    case CSSPropertyBorderBlockStartStyle:
-    case CSSPropertyBorderInlineEndStyle:
-    case CSSPropertyBorderInlineStartStyle:
-    case CSSPropertyColumnRuleStyle:
+    case CSSPropertyID::kBorderTopStyle:
+    case CSSPropertyID::kBorderRightStyle:
+    case CSSPropertyID::kBorderBottomStyle:
+    case CSSPropertyID::kBorderLeftStyle:
+    case CSSPropertyID::kBorderBlockEndStyle:
+    case CSSPropertyID::kBorderBlockStartStyle:
+    case CSSPropertyID::kBorderInlineEndStyle:
+    case CSSPropertyID::kBorderInlineStartStyle:
+    case CSSPropertyID::kColumnRuleStyle:
       return value_id >= CSSValueNone && value_id <= CSSValueDouble;
-    case CSSPropertyBoxSizing:
+    case CSSPropertyID::kBoxSizing:
       return value_id == CSSValueBorderBox || value_id == CSSValueContentBox;
-    case CSSPropertyBufferedRendering:
+    case CSSPropertyID::kBufferedRendering:
       return value_id == CSSValueAuto || value_id == CSSValueDynamic ||
              value_id == CSSValueStatic;
-    case CSSPropertyCaptionSide:
+    case CSSPropertyID::kCaptionSide:
       return value_id == CSSValueTop || value_id == CSSValueBottom;
-    case CSSPropertyClear:
+    case CSSPropertyID::kClear:
       return value_id == CSSValueNone || value_id == CSSValueLeft ||
              value_id == CSSValueRight || value_id == CSSValueBoth ||
              (RuntimeEnabledFeatures::CSSLogicalEnabled() &&
               (value_id == CSSValueInlineStart ||
                value_id == CSSValueInlineEnd));
-    case CSSPropertyClipRule:
-    case CSSPropertyFillRule:
+    case CSSPropertyID::kClipRule:
+    case CSSPropertyID::kFillRule:
       return value_id == CSSValueNonzero || value_id == CSSValueEvenodd;
-    case CSSPropertyColorInterpolation:
-    case CSSPropertyColorInterpolationFilters:
+    case CSSPropertyID::kColorInterpolation:
+    case CSSPropertyID::kColorInterpolationFilters:
       return value_id == CSSValueAuto || value_id == CSSValueSRGB ||
              value_id == CSSValueLinearrgb;
-    case CSSPropertyColorRendering:
+    case CSSPropertyID::kColorRendering:
       return value_id == CSSValueAuto || value_id == CSSValueOptimizespeed ||
              value_id == CSSValueOptimizequality;
-    case CSSPropertyDirection:
+    case CSSPropertyID::kDirection:
       return value_id == CSSValueLtr || value_id == CSSValueRtl;
-    case CSSPropertyDisplay:
+    case CSSPropertyID::kDisplay:
       return (value_id >= CSSValueInline && value_id <= CSSValueInlineFlex) ||
              value_id == CSSValueWebkitFlex ||
              value_id == CSSValueWebkitInlineFlex || value_id == CSSValueNone ||
              value_id == CSSValueGrid || value_id == CSSValueInlineGrid ||
              value_id == CSSValueContents;
-    case CSSPropertyDominantBaseline:
+    case CSSPropertyID::kDominantBaseline:
       return value_id == CSSValueAuto || value_id == CSSValueAlphabetic ||
              value_id == CSSValueMiddle ||
              (value_id >= CSSValueUseScript && value_id <= CSSValueResetSize) ||
              (value_id >= CSSValueCentral && value_id <= CSSValueMathematical);
-    case CSSPropertyEmptyCells:
+    case CSSPropertyID::kEmptyCells:
       return value_id == CSSValueShow || value_id == CSSValueHide;
-    case CSSPropertyFloat:
+    case CSSPropertyID::kFloat:
       return value_id == CSSValueLeft || value_id == CSSValueRight ||
              (RuntimeEnabledFeatures::CSSLogicalEnabled() &&
               (value_id == CSSValueInlineStart ||
                value_id == CSSValueInlineEnd)) ||
              value_id == CSSValueNone;
-    case CSSPropertyImageRendering:
+    case CSSPropertyID::kImageRendering:
       return value_id == CSSValueAuto ||
              value_id == CSSValueWebkitOptimizeContrast ||
              value_id == CSSValuePixelated;
-    case CSSPropertyIsolation:
+    case CSSPropertyID::kIsolation:
       return value_id == CSSValueAuto || value_id == CSSValueIsolate;
-    case CSSPropertyListStylePosition:
+    case CSSPropertyID::kListStylePosition:
       return value_id == CSSValueInside || value_id == CSSValueOutside;
-    case CSSPropertyListStyleType:
+    case CSSPropertyID::kListStyleType:
       return (value_id >= CSSValueDisc && value_id <= CSSValueKatakanaIroha) ||
              value_id == CSSValueNone;
-    case CSSPropertyMaskType:
+    case CSSPropertyID::kMaskType:
       return value_id == CSSValueLuminance || value_id == CSSValueAlpha;
-    case CSSPropertyObjectFit:
+    case CSSPropertyID::kObjectFit:
       return value_id == CSSValueFill || value_id == CSSValueContain ||
              value_id == CSSValueCover || value_id == CSSValueNone ||
              value_id == CSSValueScaleDown;
-    case CSSPropertyOutlineStyle:
+    case CSSPropertyID::kOutlineStyle:
       return value_id == CSSValueAuto || value_id == CSSValueNone ||
              (value_id >= CSSValueInset && value_id <= CSSValueDouble);
-    case CSSPropertyOverflowAnchor:
+    case CSSPropertyID::kOverflowAnchor:
       return value_id == CSSValueVisible || value_id == CSSValueNone ||
              value_id == CSSValueAuto;
-    case CSSPropertyOverflowWrap:
+    case CSSPropertyID::kOverflowWrap:
       return value_id == CSSValueNormal || value_id == CSSValueBreakWord;
-    case CSSPropertyOverflowX:
+    case CSSPropertyID::kOverflowX:
       return value_id == CSSValueVisible || value_id == CSSValueHidden ||
              value_id == CSSValueScroll || value_id == CSSValueAuto ||
              value_id == CSSValueOverlay;
-    case CSSPropertyOverflowY:
+    case CSSPropertyID::kOverflowY:
       return value_id == CSSValueVisible || value_id == CSSValueHidden ||
              value_id == CSSValueScroll || value_id == CSSValueAuto ||
              value_id == CSSValueOverlay || value_id == CSSValueWebkitPagedX ||
              value_id == CSSValueWebkitPagedY;
-    case CSSPropertyBreakAfter:
-    case CSSPropertyBreakBefore:
+    case CSSPropertyID::kBreakAfter:
+    case CSSPropertyID::kBreakBefore:
       return value_id == CSSValueAuto || value_id == CSSValueAvoid ||
              value_id == CSSValueAvoidPage || value_id == CSSValuePage ||
              value_id == CSSValueLeft || value_id == CSSValueRight ||
              value_id == CSSValueRecto || value_id == CSSValueVerso ||
              value_id == CSSValueAvoidColumn || value_id == CSSValueColumn;
-    case CSSPropertyBreakInside:
+    case CSSPropertyID::kBreakInside:
       return value_id == CSSValueAuto || value_id == CSSValueAvoid ||
              value_id == CSSValueAvoidPage || value_id == CSSValueAvoidColumn;
-    case CSSPropertyPointerEvents:
+    case CSSPropertyID::kPointerEvents:
       return value_id == CSSValueVisible || value_id == CSSValueNone ||
              value_id == CSSValueAll || value_id == CSSValueAuto ||
              (value_id >= CSSValueVisiblepainted &&
               value_id <= CSSValueBoundingBox);
-    case CSSPropertyPosition:
+    case CSSPropertyID::kPosition:
       return value_id == CSSValueStatic || value_id == CSSValueRelative ||
              value_id == CSSValueAbsolute || value_id == CSSValueFixed ||
              value_id == CSSValueSticky;
-    case CSSPropertyResize:
+    case CSSPropertyID::kResize:
       return value_id == CSSValueNone || value_id == CSSValueBoth ||
              value_id == CSSValueHorizontal || value_id == CSSValueVertical ||
              (RuntimeEnabledFeatures::CSSLogicalEnabled() &&
               (value_id == CSSValueBlock || value_id == CSSValueInline)) ||
              value_id == CSSValueAuto;
-    case CSSPropertyScrollBehavior:
+    case CSSPropertyID::kScrollBehavior:
       return value_id == CSSValueAuto || value_id == CSSValueSmooth;
-    case CSSPropertyShapeRendering:
+    case CSSPropertyID::kShapeRendering:
       return value_id == CSSValueAuto || value_id == CSSValueOptimizespeed ||
              value_id == CSSValueCrispedges ||
              value_id == CSSValueGeometricprecision;
-    case CSSPropertySpeak:
+    case CSSPropertyID::kSpeak:
       return value_id == CSSValueNone || value_id == CSSValueNormal ||
              value_id == CSSValueSpellOut || value_id == CSSValueDigits ||
              value_id == CSSValueLiteralPunctuation ||
              value_id == CSSValueNoPunctuation;
-    case CSSPropertyStrokeLinejoin:
+    case CSSPropertyID::kStrokeLinejoin:
       return value_id == CSSValueMiter || value_id == CSSValueRound ||
              value_id == CSSValueBevel;
-    case CSSPropertyStrokeLinecap:
+    case CSSPropertyID::kStrokeLinecap:
       return value_id == CSSValueButt || value_id == CSSValueRound ||
              value_id == CSSValueSquare;
-    case CSSPropertyTableLayout:
+    case CSSPropertyID::kTableLayout:
       return value_id == CSSValueAuto || value_id == CSSValueFixed;
-    case CSSPropertyTextAlign:
+    case CSSPropertyID::kTextAlign:
       return (value_id >= CSSValueWebkitAuto &&
               value_id <= CSSValueInternalCenter) ||
              value_id == CSSValueStart || value_id == CSSValueEnd;
-    case CSSPropertyTextAlignLast:
+    case CSSPropertyID::kTextAlignLast:
       return (value_id >= CSSValueLeft && value_id <= CSSValueJustify) ||
              value_id == CSSValueStart || value_id == CSSValueEnd ||
              value_id == CSSValueAuto;
-    case CSSPropertyTextAnchor:
+    case CSSPropertyID::kTextAnchor:
       return value_id == CSSValueStart || value_id == CSSValueMiddle ||
              value_id == CSSValueEnd;
-    case CSSPropertyTextCombineUpright:
+    case CSSPropertyID::kTextCombineUpright:
       return value_id == CSSValueNone || value_id == CSSValueAll;
-    case CSSPropertyTextDecorationStyle:
+    case CSSPropertyID::kTextDecorationStyle:
       return value_id == CSSValueSolid || value_id == CSSValueDouble ||
              value_id == CSSValueDotted || value_id == CSSValueDashed ||
              value_id == CSSValueWavy;
-    case CSSPropertyTextDecorationSkipInk:
+    case CSSPropertyID::kTextDecorationSkipInk:
       return value_id == CSSValueAuto || value_id == CSSValueNone;
-    case CSSPropertyTextJustify:
+    case CSSPropertyID::kTextJustify:
       DCHECK(RuntimeEnabledFeatures::CSS3TextEnabled());
       return value_id == CSSValueInterWord || value_id == CSSValueDistribute ||
              value_id == CSSValueAuto || value_id == CSSValueNone;
-    case CSSPropertyTextOrientation:
+    case CSSPropertyID::kTextOrientation:
       return value_id == CSSValueMixed || value_id == CSSValueUpright ||
              value_id == CSSValueSideways || value_id == CSSValueSidewaysRight;
-    case CSSPropertyWebkitTextOrientation:
+    case CSSPropertyID::kWebkitTextOrientation:
       return value_id == CSSValueSideways ||
              value_id == CSSValueSidewaysRight ||
              value_id == CSSValueVerticalRight || value_id == CSSValueUpright;
-    case CSSPropertyTextOverflow:
+    case CSSPropertyID::kTextOverflow:
       return value_id == CSSValueClip || value_id == CSSValueEllipsis;
-    case CSSPropertyTextRendering:
+    case CSSPropertyID::kTextRendering:
       return value_id == CSSValueAuto || value_id == CSSValueOptimizespeed ||
              value_id == CSSValueOptimizelegibility ||
              value_id == CSSValueGeometricprecision;
-    case CSSPropertyTextTransform:  // capitalize | uppercase | lowercase | none
+    case CSSPropertyID::kTextTransform:  // capitalize | uppercase | lowercase |
+                                         // none
       return (value_id >= CSSValueCapitalize &&
               value_id <= CSSValueLowercase) ||
              value_id == CSSValueNone;
-    case CSSPropertyUnicodeBidi:
+    case CSSPropertyID::kUnicodeBidi:
       return value_id == CSSValueNormal || value_id == CSSValueEmbed ||
              value_id == CSSValueBidiOverride ||
              value_id == CSSValueWebkitIsolate ||
@@ -745,20 +746,20 @@
              value_id == CSSValueIsolate ||
              value_id == CSSValueIsolateOverride ||
              value_id == CSSValuePlaintext;
-    case CSSPropertyVectorEffect:
+    case CSSPropertyID::kVectorEffect:
       return value_id == CSSValueNone || value_id == CSSValueNonScalingStroke;
-    case CSSPropertyVisibility:
+    case CSSPropertyID::kVisibility:
       return value_id == CSSValueVisible || value_id == CSSValueHidden ||
              value_id == CSSValueCollapse;
-    case CSSPropertyWebkitAppRegion:
+    case CSSPropertyID::kWebkitAppRegion:
       return (value_id >= CSSValueDrag && value_id <= CSSValueNoDrag) ||
              value_id == CSSValueNone;
-    case CSSPropertyWebkitAppearance:
+    case CSSPropertyID::kWebkitAppearance:
       return (value_id >= CSSValueCheckbox && value_id <= CSSValueTextarea) ||
              value_id == CSSValueNone;
-    case CSSPropertyBackfaceVisibility:
+    case CSSPropertyID::kBackfaceVisibility:
       return value_id == CSSValueVisible || value_id == CSSValueHidden;
-    case CSSPropertyMixBlendMode:
+    case CSSPropertyID::kMixBlendMode:
       return value_id == CSSValueNormal || value_id == CSSValueMultiply ||
              value_id == CSSValueScreen || value_id == CSSValueOverlay ||
              value_id == CSSValueDarken || value_id == CSSValueLighten ||
@@ -767,128 +768,128 @@
              value_id == CSSValueDifference || value_id == CSSValueExclusion ||
              value_id == CSSValueHue || value_id == CSSValueSaturation ||
              value_id == CSSValueColor || value_id == CSSValueLuminosity;
-    case CSSPropertyWebkitBoxAlign:
+    case CSSPropertyID::kWebkitBoxAlign:
       return value_id == CSSValueStretch || value_id == CSSValueStart ||
              value_id == CSSValueEnd || value_id == CSSValueCenter ||
              value_id == CSSValueBaseline;
-    case CSSPropertyWebkitBoxDecorationBreak:
+    case CSSPropertyID::kWebkitBoxDecorationBreak:
       return value_id == CSSValueClone || value_id == CSSValueSlice;
-    case CSSPropertyWebkitBoxDirection:
+    case CSSPropertyID::kWebkitBoxDirection:
       return value_id == CSSValueNormal || value_id == CSSValueReverse;
-    case CSSPropertyWebkitBoxOrient:
+    case CSSPropertyID::kWebkitBoxOrient:
       return value_id == CSSValueHorizontal || value_id == CSSValueVertical ||
              value_id == CSSValueInlineAxis || value_id == CSSValueBlockAxis;
-    case CSSPropertyWebkitBoxPack:
+    case CSSPropertyID::kWebkitBoxPack:
       return value_id == CSSValueStart || value_id == CSSValueEnd ||
              value_id == CSSValueCenter || value_id == CSSValueJustify;
-    case CSSPropertyColumnFill:
+    case CSSPropertyID::kColumnFill:
       return value_id == CSSValueAuto || value_id == CSSValueBalance;
-    case CSSPropertyAlignContent:
+    case CSSPropertyID::kAlignContent:
       // FIXME: Per CSS alignment, this property should accept an optional
       // <overflow-position>. We should share this parsing code with
       // 'justify-self'.
       return value_id == CSSValueFlexStart || value_id == CSSValueFlexEnd ||
              value_id == CSSValueCenter || value_id == CSSValueSpaceBetween ||
              value_id == CSSValueSpaceAround || value_id == CSSValueStretch;
-    case CSSPropertyAlignItems:
+    case CSSPropertyID::kAlignItems:
       // FIXME: Per CSS alignment, this property should accept the same
       // arguments as 'justify-self' so we should share its parsing code.
       return value_id == CSSValueFlexStart || value_id == CSSValueFlexEnd ||
              value_id == CSSValueCenter || value_id == CSSValueBaseline ||
              value_id == CSSValueStretch;
-    case CSSPropertyAlignSelf:
+    case CSSPropertyID::kAlignSelf:
       // FIXME: Per CSS alignment, this property should accept the same
       // arguments as 'justify-self' so we should share its parsing code.
       return value_id == CSSValueAuto || value_id == CSSValueFlexStart ||
              value_id == CSSValueFlexEnd || value_id == CSSValueCenter ||
              value_id == CSSValueBaseline || value_id == CSSValueStretch;
-    case CSSPropertyFlexDirection:
+    case CSSPropertyID::kFlexDirection:
       return value_id == CSSValueRow || value_id == CSSValueRowReverse ||
              value_id == CSSValueColumn || value_id == CSSValueColumnReverse;
-    case CSSPropertyFlexWrap:
+    case CSSPropertyID::kFlexWrap:
       return value_id == CSSValueNowrap || value_id == CSSValueWrap ||
              value_id == CSSValueWrapReverse;
-    case CSSPropertyHyphens:
+    case CSSPropertyID::kHyphens:
 #if defined(OS_ANDROID) || defined(OS_MACOSX)
       return value_id == CSSValueAuto || value_id == CSSValueNone ||
              value_id == CSSValueManual;
 #else
       return value_id == CSSValueNone || value_id == CSSValueManual;
 #endif
-    case CSSPropertyJustifyContent:
+    case CSSPropertyID::kJustifyContent:
       // FIXME: Per CSS alignment, this property should accept an optional
       // <overflow-position>. We should share this parsing code with
       // 'justify-self'.
       return value_id == CSSValueFlexStart || value_id == CSSValueFlexEnd ||
              value_id == CSSValueCenter || value_id == CSSValueSpaceBetween ||
              value_id == CSSValueSpaceAround;
-    case CSSPropertyFontKerning:
+    case CSSPropertyID::kFontKerning:
       return value_id == CSSValueAuto || value_id == CSSValueNormal ||
              value_id == CSSValueNone;
-    case CSSPropertyWebkitFontSmoothing:
+    case CSSPropertyID::kWebkitFontSmoothing:
       return value_id == CSSValueAuto || value_id == CSSValueNone ||
              value_id == CSSValueAntialiased ||
              value_id == CSSValueSubpixelAntialiased;
-    case CSSPropertyLineBreak:
+    case CSSPropertyID::kLineBreak:
       return value_id == CSSValueAuto || value_id == CSSValueLoose ||
              value_id == CSSValueNormal || value_id == CSSValueStrict;
-    case CSSPropertyWebkitLineBreak:
+    case CSSPropertyID::kWebkitLineBreak:
       return value_id == CSSValueAuto || value_id == CSSValueLoose ||
              value_id == CSSValueNormal || value_id == CSSValueStrict ||
              value_id == CSSValueAfterWhiteSpace;
-    case CSSPropertyWebkitMarginAfterCollapse:
-    case CSSPropertyWebkitMarginBeforeCollapse:
-    case CSSPropertyWebkitMarginBottomCollapse:
-    case CSSPropertyWebkitMarginTopCollapse:
+    case CSSPropertyID::kWebkitMarginAfterCollapse:
+    case CSSPropertyID::kWebkitMarginBeforeCollapse:
+    case CSSPropertyID::kWebkitMarginBottomCollapse:
+    case CSSPropertyID::kWebkitMarginTopCollapse:
       return value_id == CSSValueCollapse || value_id == CSSValueSeparate ||
              value_id == CSSValueDiscard;
-    case CSSPropertyWebkitPrintColorAdjust:
+    case CSSPropertyID::kWebkitPrintColorAdjust:
       return value_id == CSSValueExact || value_id == CSSValueEconomy;
-    case CSSPropertyWebkitRtlOrdering:
+    case CSSPropertyID::kWebkitRtlOrdering:
       return value_id == CSSValueLogical || value_id == CSSValueVisual;
-    case CSSPropertyWebkitRubyPosition:
+    case CSSPropertyID::kWebkitRubyPosition:
       return value_id == CSSValueBefore || value_id == CSSValueAfter;
-    case CSSPropertyWebkitTextCombine:
+    case CSSPropertyID::kWebkitTextCombine:
       return value_id == CSSValueNone || value_id == CSSValueHorizontal;
-    case CSSPropertyWebkitTextSecurity:
+    case CSSPropertyID::kWebkitTextSecurity:
       return value_id == CSSValueDisc || value_id == CSSValueCircle ||
              value_id == CSSValueSquare || value_id == CSSValueNone;
-    case CSSPropertyTransformBox:
+    case CSSPropertyID::kTransformBox:
       return value_id == CSSValueFillBox || value_id == CSSValueViewBox;
-    case CSSPropertyTransformStyle:
+    case CSSPropertyID::kTransformStyle:
       return value_id == CSSValueFlat || value_id == CSSValuePreserve3d;
-    case CSSPropertyWebkitUserDrag:
+    case CSSPropertyID::kWebkitUserDrag:
       return value_id == CSSValueAuto || value_id == CSSValueNone ||
              value_id == CSSValueElement;
-    case CSSPropertyWebkitUserModify:
+    case CSSPropertyID::kWebkitUserModify:
       return value_id == CSSValueReadOnly || value_id == CSSValueReadWrite ||
              value_id == CSSValueReadWritePlaintextOnly;
-    case CSSPropertyUserSelect:
+    case CSSPropertyID::kUserSelect:
       return value_id == CSSValueAuto || value_id == CSSValueNone ||
              value_id == CSSValueText || value_id == CSSValueAll;
-    case CSSPropertyWebkitWritingMode:
+    case CSSPropertyID::kWebkitWritingMode:
       return value_id >= CSSValueHorizontalTb && value_id <= CSSValueVerticalLr;
-    case CSSPropertyWritingMode:
+    case CSSPropertyID::kWritingMode:
       return value_id == CSSValueHorizontalTb ||
              value_id == CSSValueVerticalRl || value_id == CSSValueVerticalLr ||
              value_id == CSSValueLrTb || value_id == CSSValueRlTb ||
              value_id == CSSValueTbRl || value_id == CSSValueLr ||
              value_id == CSSValueRl || value_id == CSSValueTb;
-    case CSSPropertyWhiteSpace:
+    case CSSPropertyID::kWhiteSpace:
       return value_id == CSSValueNormal || value_id == CSSValuePre ||
              value_id == CSSValuePreWrap || value_id == CSSValuePreLine ||
              value_id == CSSValueNowrap ||
              (RuntimeEnabledFeatures::CSS3TextBreakSpacesEnabled() &&
               value_id == CSSValueBreakSpaces);
-    case CSSPropertyWordBreak:
+    case CSSPropertyID::kWordBreak:
       return value_id == CSSValueNormal || value_id == CSSValueBreakAll ||
              value_id == CSSValueKeepAll || value_id == CSSValueBreakWord;
-    case CSSPropertyScrollSnapStop:
+    case CSSPropertyID::kScrollSnapStop:
       return value_id == CSSValueNormal || value_id == CSSValueAlways;
-    case CSSPropertyOverscrollBehaviorX:
+    case CSSPropertyID::kOverscrollBehaviorX:
       return value_id == CSSValueAuto || value_id == CSSValueContain ||
              value_id == CSSValueNone;
-    case CSSPropertyOverscrollBehaviorY:
+    case CSSPropertyID::kOverscrollBehaviorY:
       return value_id == CSSValueAuto || value_id == CSSValueContain ||
              value_id == CSSValueNone;
     default:
@@ -899,110 +900,110 @@
 
 bool CSSParserFastPaths::IsKeywordPropertyID(CSSPropertyID property_id) {
   switch (property_id) {
-    case CSSPropertyAlignmentBaseline:
-    case CSSPropertyAll:
-    case CSSPropertyMixBlendMode:
-    case CSSPropertyIsolation:
-    case CSSPropertyBackgroundRepeatX:
-    case CSSPropertyBackgroundRepeatY:
-    case CSSPropertyBorderBottomStyle:
-    case CSSPropertyBorderCollapse:
-    case CSSPropertyBorderLeftStyle:
-    case CSSPropertyBorderRightStyle:
-    case CSSPropertyBorderTopStyle:
-    case CSSPropertyBoxSizing:
-    case CSSPropertyBufferedRendering:
-    case CSSPropertyCaptionSide:
-    case CSSPropertyClear:
-    case CSSPropertyClipRule:
-    case CSSPropertyColorInterpolation:
-    case CSSPropertyColorInterpolationFilters:
-    case CSSPropertyColorRendering:
-    case CSSPropertyDirection:
-    case CSSPropertyDisplay:
-    case CSSPropertyDominantBaseline:
-    case CSSPropertyEmptyCells:
-    case CSSPropertyFillRule:
-    case CSSPropertyFloat:
-    case CSSPropertyHyphens:
-    case CSSPropertyImageRendering:
-    case CSSPropertyListStylePosition:
-    case CSSPropertyListStyleType:
-    case CSSPropertyMaskType:
-    case CSSPropertyObjectFit:
-    case CSSPropertyOutlineStyle:
-    case CSSPropertyOverflowAnchor:
-    case CSSPropertyOverflowWrap:
-    case CSSPropertyOverflowX:
-    case CSSPropertyOverflowY:
-    case CSSPropertyBreakAfter:
-    case CSSPropertyBreakBefore:
-    case CSSPropertyBreakInside:
-    case CSSPropertyPointerEvents:
-    case CSSPropertyPosition:
-    case CSSPropertyResize:
-    case CSSPropertyScrollBehavior:
-    case CSSPropertyOverscrollBehaviorX:
-    case CSSPropertyOverscrollBehaviorY:
-    case CSSPropertyShapeRendering:
-    case CSSPropertySpeak:
-    case CSSPropertyStrokeLinecap:
-    case CSSPropertyStrokeLinejoin:
-    case CSSPropertyTableLayout:
-    case CSSPropertyTextAlign:
-    case CSSPropertyTextAlignLast:
-    case CSSPropertyTextAnchor:
-    case CSSPropertyTextCombineUpright:
-    case CSSPropertyTextDecorationStyle:
-    case CSSPropertyTextDecorationSkipInk:
-    case CSSPropertyTextJustify:
-    case CSSPropertyTextOrientation:
-    case CSSPropertyWebkitTextOrientation:
-    case CSSPropertyTextOverflow:
-    case CSSPropertyTextRendering:
-    case CSSPropertyTextTransform:
-    case CSSPropertyUnicodeBidi:
-    case CSSPropertyVectorEffect:
-    case CSSPropertyVisibility:
-    case CSSPropertyWebkitAppRegion:
-    case CSSPropertyWebkitAppearance:
-    case CSSPropertyBackfaceVisibility:
-    case CSSPropertyBorderBlockEndStyle:
-    case CSSPropertyBorderBlockStartStyle:
-    case CSSPropertyBorderInlineEndStyle:
-    case CSSPropertyBorderInlineStartStyle:
-    case CSSPropertyWebkitBoxAlign:
-    case CSSPropertyWebkitBoxDecorationBreak:
-    case CSSPropertyWebkitBoxDirection:
-    case CSSPropertyWebkitBoxOrient:
-    case CSSPropertyWebkitBoxPack:
-    case CSSPropertyColumnFill:
-    case CSSPropertyColumnRuleStyle:
-    case CSSPropertyFlexDirection:
-    case CSSPropertyFlexWrap:
-    case CSSPropertyFontKerning:
-    case CSSPropertyWebkitFontSmoothing:
-    case CSSPropertyLineBreak:
-    case CSSPropertyWebkitLineBreak:
-    case CSSPropertyWebkitMarginAfterCollapse:
-    case CSSPropertyWebkitMarginBeforeCollapse:
-    case CSSPropertyWebkitMarginBottomCollapse:
-    case CSSPropertyWebkitMarginTopCollapse:
-    case CSSPropertyWebkitPrintColorAdjust:
-    case CSSPropertyWebkitRtlOrdering:
-    case CSSPropertyWebkitRubyPosition:
-    case CSSPropertyWebkitTextCombine:
-    case CSSPropertyWebkitTextSecurity:
-    case CSSPropertyTransformBox:
-    case CSSPropertyTransformStyle:
-    case CSSPropertyWebkitUserDrag:
-    case CSSPropertyWebkitUserModify:
-    case CSSPropertyUserSelect:
-    case CSSPropertyWebkitWritingMode:
-    case CSSPropertyWhiteSpace:
-    case CSSPropertyWordBreak:
-    case CSSPropertyWritingMode:
-    case CSSPropertyScrollSnapStop:
+    case CSSPropertyID::kAlignmentBaseline:
+    case CSSPropertyID::kAll:
+    case CSSPropertyID::kMixBlendMode:
+    case CSSPropertyID::kIsolation:
+    case CSSPropertyID::kBackgroundRepeatX:
+    case CSSPropertyID::kBackgroundRepeatY:
+    case CSSPropertyID::kBorderBottomStyle:
+    case CSSPropertyID::kBorderCollapse:
+    case CSSPropertyID::kBorderLeftStyle:
+    case CSSPropertyID::kBorderRightStyle:
+    case CSSPropertyID::kBorderTopStyle:
+    case CSSPropertyID::kBoxSizing:
+    case CSSPropertyID::kBufferedRendering:
+    case CSSPropertyID::kCaptionSide:
+    case CSSPropertyID::kClear:
+    case CSSPropertyID::kClipRule:
+    case CSSPropertyID::kColorInterpolation:
+    case CSSPropertyID::kColorInterpolationFilters:
+    case CSSPropertyID::kColorRendering:
+    case CSSPropertyID::kDirection:
+    case CSSPropertyID::kDisplay:
+    case CSSPropertyID::kDominantBaseline:
+    case CSSPropertyID::kEmptyCells:
+    case CSSPropertyID::kFillRule:
+    case CSSPropertyID::kFloat:
+    case CSSPropertyID::kHyphens:
+    case CSSPropertyID::kImageRendering:
+    case CSSPropertyID::kListStylePosition:
+    case CSSPropertyID::kListStyleType:
+    case CSSPropertyID::kMaskType:
+    case CSSPropertyID::kObjectFit:
+    case CSSPropertyID::kOutlineStyle:
+    case CSSPropertyID::kOverflowAnchor:
+    case CSSPropertyID::kOverflowWrap:
+    case CSSPropertyID::kOverflowX:
+    case CSSPropertyID::kOverflowY:
+    case CSSPropertyID::kBreakAfter:
+    case CSSPropertyID::kBreakBefore:
+    case CSSPropertyID::kBreakInside:
+    case CSSPropertyID::kPointerEvents:
+    case CSSPropertyID::kPosition:
+    case CSSPropertyID::kResize:
+    case CSSPropertyID::kScrollBehavior:
+    case CSSPropertyID::kOverscrollBehaviorX:
+    case CSSPropertyID::kOverscrollBehaviorY:
+    case CSSPropertyID::kShapeRendering:
+    case CSSPropertyID::kSpeak:
+    case CSSPropertyID::kStrokeLinecap:
+    case CSSPropertyID::kStrokeLinejoin:
+    case CSSPropertyID::kTableLayout:
+    case CSSPropertyID::kTextAlign:
+    case CSSPropertyID::kTextAlignLast:
+    case CSSPropertyID::kTextAnchor:
+    case CSSPropertyID::kTextCombineUpright:
+    case CSSPropertyID::kTextDecorationStyle:
+    case CSSPropertyID::kTextDecorationSkipInk:
+    case CSSPropertyID::kTextJustify:
+    case CSSPropertyID::kTextOrientation:
+    case CSSPropertyID::kWebkitTextOrientation:
+    case CSSPropertyID::kTextOverflow:
+    case CSSPropertyID::kTextRendering:
+    case CSSPropertyID::kTextTransform:
+    case CSSPropertyID::kUnicodeBidi:
+    case CSSPropertyID::kVectorEffect:
+    case CSSPropertyID::kVisibility:
+    case CSSPropertyID::kWebkitAppRegion:
+    case CSSPropertyID::kWebkitAppearance:
+    case CSSPropertyID::kBackfaceVisibility:
+    case CSSPropertyID::kBorderBlockEndStyle:
+    case CSSPropertyID::kBorderBlockStartStyle:
+    case CSSPropertyID::kBorderInlineEndStyle:
+    case CSSPropertyID::kBorderInlineStartStyle:
+    case CSSPropertyID::kWebkitBoxAlign:
+    case CSSPropertyID::kWebkitBoxDecorationBreak:
+    case CSSPropertyID::kWebkitBoxDirection:
+    case CSSPropertyID::kWebkitBoxOrient:
+    case CSSPropertyID::kWebkitBoxPack:
+    case CSSPropertyID::kColumnFill:
+    case CSSPropertyID::kColumnRuleStyle:
+    case CSSPropertyID::kFlexDirection:
+    case CSSPropertyID::kFlexWrap:
+    case CSSPropertyID::kFontKerning:
+    case CSSPropertyID::kWebkitFontSmoothing:
+    case CSSPropertyID::kLineBreak:
+    case CSSPropertyID::kWebkitLineBreak:
+    case CSSPropertyID::kWebkitMarginAfterCollapse:
+    case CSSPropertyID::kWebkitMarginBeforeCollapse:
+    case CSSPropertyID::kWebkitMarginBottomCollapse:
+    case CSSPropertyID::kWebkitMarginTopCollapse:
+    case CSSPropertyID::kWebkitPrintColorAdjust:
+    case CSSPropertyID::kWebkitRtlOrdering:
+    case CSSPropertyID::kWebkitRubyPosition:
+    case CSSPropertyID::kWebkitTextCombine:
+    case CSSPropertyID::kWebkitTextSecurity:
+    case CSSPropertyID::kTransformBox:
+    case CSSPropertyID::kTransformStyle:
+    case CSSPropertyID::kWebkitUserDrag:
+    case CSSPropertyID::kWebkitUserModify:
+    case CSSPropertyID::kUserSelect:
+    case CSSPropertyID::kWebkitWritingMode:
+    case CSSPropertyID::kWhiteSpace:
+    case CSSPropertyID::kWordBreak:
+    case CSSPropertyID::kWritingMode:
+    case CSSPropertyID::kScrollSnapStop:
       return true;
     default:
       return false;
@@ -1011,7 +1012,7 @@
 
 bool CSSParserFastPaths::IsPartialKeywordPropertyID(CSSPropertyID property_id) {
   switch (property_id) {
-    case CSSPropertyDisplay:
+    case CSSPropertyID::kDisplay:
       return true;
     default:
       return false;
@@ -1259,7 +1260,7 @@
                                       const String& string) {
   DCHECK(!string.IsEmpty());
 
-  if (property_id != CSSPropertyTransform)
+  if (property_id != CSSPropertyID::kTransform)
     return nullptr;
   if (string.Is8Bit())
     return ParseSimpleTransformList(string.Characters8(), string.length());
diff --git a/third_party/blink/renderer/core/css/parser/css_parser_fast_paths_test.cc b/third_party/blink/renderer/core/css/parser/css_parser_fast_paths_test.cc
index dd5e45e..69d068e 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser_fast_paths_test.cc
+++ b/third_party/blink/renderer/core/css/parser/css_parser_fast_paths_test.cc
@@ -15,55 +15,56 @@
 
 TEST(CSSParserFastPathsTest, ParseKeyword) {
   CSSValue* value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyFloat, "left", kHTMLStandardMode);
+      CSSPropertyID::kFloat, "left", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   CSSIdentifierValue* identifier_value = To<CSSIdentifierValue>(value);
   EXPECT_EQ(CSSValueLeft, identifier_value->GetValueID());
-  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyFloat, "foo",
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kFloat, "foo",
                                               kHTMLStandardMode);
   ASSERT_EQ(nullptr, value);
 }
 
 TEST(CSSParserFastPathsTest, ParseCSSWideKeywords) {
   CSSValue* value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyMarginTop, "inherit", kHTMLStandardMode);
+      CSSPropertyID::kMarginTop, "inherit", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   EXPECT_TRUE(value->IsInheritedValue());
-  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyMarginRight, "InHeriT",
-                                              kHTMLStandardMode);
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kMarginRight,
+                                              "InHeriT", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   EXPECT_TRUE(value->IsInheritedValue());
-  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyMarginBottom,
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kMarginBottom,
                                               "initial", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   EXPECT_TRUE(value->IsInitialValue());
-  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyMarginLeft, "IniTiaL",
-                                              kHTMLStandardMode);
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kMarginLeft,
+                                              "IniTiaL", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   EXPECT_TRUE(value->IsInitialValue());
-  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyMarginTop, "unset",
-                                              kHTMLStandardMode);
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kMarginTop,
+                                              "unset", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   EXPECT_TRUE(value->IsUnsetValue());
-  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyMarginLeft, "unsEt",
-                                              kHTMLStandardMode);
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kMarginLeft,
+                                              "unsEt", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   EXPECT_TRUE(value->IsUnsetValue());
   // Fast path doesn't handle short hands.
-  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyMargin, "initial",
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kMargin, "initial",
                                               kHTMLStandardMode);
   ASSERT_EQ(nullptr, value);
 }
 
 TEST(CSSParserFastPathsTest, ParseTransform) {
   CSSValue* value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyTransform, "translate(5.5px, 5px)", kHTMLStandardMode);
+      CSSPropertyID::kTransform, "translate(5.5px, 5px)", kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   ASSERT_TRUE(value->IsValueList());
   ASSERT_EQ("translate(5.5px, 5px)", value->CssText());
 
-  value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyTransform, "translate3d(5px, 5px, 10.1px)", kHTMLStandardMode);
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kTransform,
+                                              "translate3d(5px, 5px, 10.1px)",
+                                              kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   ASSERT_TRUE(value->IsValueList());
   ASSERT_EQ("translate3d(5px, 5px, 10.1px)", value->CssText());
@@ -84,7 +85,7 @@
       "scale3d(0.5, 1, 0.7) "
       "matrix3d(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)";
   CSSValue* value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyTransform, kComplexTransform, kHTMLStandardMode);
+      CSSPropertyID::kTransform, kComplexTransform, kHTMLStandardMode);
   ASSERT_NE(nullptr, value);
   ASSERT_TRUE(value->IsValueList());
   ASSERT_EQ(kComplexTransformNormalized, value->CssText());
@@ -92,19 +93,20 @@
 
 TEST(CSSParserFastPathsTest, ParseTransformNotFastPath) {
   CSSValue* value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyTransform, "rotateX(1deg)", kHTMLStandardMode);
+      CSSPropertyID::kTransform, "rotateX(1deg)", kHTMLStandardMode);
   ASSERT_EQ(nullptr, value);
-  value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyTransform, "translateZ(1px) rotateX(1deg)", kHTMLStandardMode);
+  value = CSSParserFastPaths::MaybeParseValue(CSSPropertyID::kTransform,
+                                              "translateZ(1px) rotateX(1deg)",
+                                              kHTMLStandardMode);
   ASSERT_EQ(nullptr, value);
 }
 
 TEST(CSSParserFastPathsTest, ParseInvalidTransform) {
   CSSValue* value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyTransform, "rotateX(1deg", kHTMLStandardMode);
+      CSSPropertyID::kTransform, "rotateX(1deg", kHTMLStandardMode);
   ASSERT_EQ(nullptr, value);
   value = CSSParserFastPaths::MaybeParseValue(
-      CSSPropertyTransform, "translateZ(1px) (1px, 1px) rotateX(1deg",
+      CSSPropertyID::kTransform, "translateZ(1px) (1px, 1px) rotateX(1deg",
       kHTMLStandardMode);
   ASSERT_EQ(nullptr, value);
 }
diff --git a/third_party/blink/renderer/core/css/parser/css_parser_impl.cc b/third_party/blink/renderer/core/css/parser/css_parser_impl.cc
index f0ff14ba..aa3ab80 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser_impl.cc
+++ b/third_party/blink/renderer/core/css/parser/css_parser_impl.cc
@@ -140,7 +140,7 @@
     const CSSPropertyValue& property = input[i];
     if (property.IsImportant() != important)
       continue;
-    if (property.Id() == CSSPropertyVariable) {
+    if (property.Id() == CSSPropertyID::kVariable) {
       const AtomicString& name =
           To<CSSCustomPropertyDeclaration>(property.Value())->GetName();
       if (seen_custom_properties.Contains(name))
@@ -788,7 +788,7 @@
       block, kFontFeatureRuleList, [&font_display](StyleRuleBase* rule) {
         const CSSValue* value =
             To<StyleRuleFontFace>(rule)->Properties().GetPropertyCSSValue(
-                CSSPropertyFontDisplay);
+                CSSPropertyID::kFontDisplay);
         if (value)
           font_display = To<CSSIdentifierValue>(value);
       });
@@ -1014,7 +1014,7 @@
 
   size_t properties_count = parsed_properties_.size();
 
-  CSSPropertyID unresolved_property = CSSPropertyInvalid;
+  CSSPropertyID unresolved_property = CSSPropertyID::kInvalid;
   AtRuleDescriptorID atrule_id = AtRuleDescriptorID::Invalid;
   if (rule_type == StyleRule::kFontFace) {
     if (important)  // Invalid
@@ -1030,7 +1030,7 @@
   if (important && rule_type == StyleRule::kKeyframe)
     return;
 
-  if (unresolved_property == CSSPropertyVariable) {
+  if (unresolved_property == CSSPropertyID::kVariable) {
     if (rule_type != StyleRule::kStyle && rule_type != StyleRule::kKeyframe)
       return;
     AtomicString variable_name = lhs.Value().ToAtomicString();
@@ -1038,7 +1038,7 @@
     ConsumeVariableValue(
         range.MakeSubRange(&range.Peek(), declaration_value_end), variable_name,
         important, is_animation_tainted);
-  } else if (unresolved_property != CSSPropertyInvalid) {
+  } else if (unresolved_property != CSSPropertyID::kInvalid) {
     if (style_sheet_ && style_sheet_->SingleOwnerDocument())
       Deprecation::WarnOnDeprecatedProperties(
           style_sheet_->SingleOwnerDocument()->GetFrame(), unresolved_property);
@@ -1063,7 +1063,7 @@
               variable_name, range, is_animation_tainted, *context_)) {
     parsed_properties_.push_back(
         CSSPropertyValue(GetCSSPropertyVariable(), *value, important));
-    context_->Count(context_->Mode(), CSSPropertyVariable);
+    context_->Count(context_->Mode(), CSSPropertyID::kVariable);
   }
 }
 
diff --git a/third_party/blink/renderer/core/css/parser/css_parser_local_context.cc b/third_party/blink/renderer/core/css/parser/css_parser_local_context.cc
index 6ac7694..3805e75 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser_local_context.cc
+++ b/third_party/blink/renderer/core/css/parser/css_parser_local_context.cc
@@ -9,7 +9,7 @@
 CSSParserLocalContext::CSSParserLocalContext()
     : use_alias_parsing_(false),
       is_animation_tainted_(false),
-      current_shorthand_(CSSPropertyInvalid),
+      current_shorthand_(CSSPropertyID::kInvalid),
       variable_mode_(VariableMode::kTyped) {}
 
 CSSParserLocalContext CSSParserLocalContext::WithAliasParsing(
diff --git a/third_party/blink/renderer/core/css/parser/css_parser_local_context_test.cc b/third_party/blink/renderer/core/css/parser/css_parser_local_context_test.cc
index 4fbcac6..1041395f 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser_local_context_test.cc
+++ b/third_party/blink/renderer/core/css/parser/css_parser_local_context_test.cc
@@ -13,7 +13,8 @@
 TEST(CSSParserLocalContextTest, Constructor) {
   EXPECT_FALSE(CSSParserLocalContext().UseAliasParsing());
   EXPECT_FALSE(CSSParserLocalContext().IsAnimationTainted());
-  EXPECT_EQ(CSSPropertyInvalid, CSSParserLocalContext().CurrentShorthand());
+  EXPECT_EQ(CSSPropertyID::kInvalid,
+            CSSParserLocalContext().CurrentShorthand());
   EXPECT_EQ(VariableMode::kTyped, CSSParserLocalContext().GetVariableMode());
 }
 
@@ -31,7 +32,7 @@
 
 TEST(CSSParserLocalContextTest, WithCurrentShorthand) {
   const CSSParserLocalContext context;
-  const CSSPropertyID shorthand = CSSPropertyBackground;
+  const CSSPropertyID shorthand = CSSPropertyID::kBackground;
   EXPECT_EQ(shorthand,
             context.WithCurrentShorthand(shorthand).CurrentShorthand());
 }
@@ -46,14 +47,14 @@
   CSSParserLocalContext context;
   context = context.WithAliasParsing(true);
   context = context.WithAnimationTainted(true);
-  context = context.WithCurrentShorthand(CSSPropertyBackground);
+  context = context.WithCurrentShorthand(CSSPropertyID::kBackground);
   context = context.WithVariableMode(VariableMode::kUntyped);
 
   // WithAliasParsing only changes that member.
   {
     auto local_context = context.WithAliasParsing(false);
     EXPECT_FALSE(local_context.UseAliasParsing());
-    EXPECT_EQ(CSSPropertyBackground, local_context.CurrentShorthand());
+    EXPECT_EQ(CSSPropertyID::kBackground, local_context.CurrentShorthand());
     EXPECT_TRUE(local_context.IsAnimationTainted());
     EXPECT_EQ(VariableMode::kUntyped, local_context.GetVariableMode());
   }
@@ -62,16 +63,16 @@
   {
     auto local_context = context.WithAnimationTainted(false);
     EXPECT_TRUE(local_context.UseAliasParsing());
-    EXPECT_EQ(CSSPropertyBackground, local_context.CurrentShorthand());
+    EXPECT_EQ(CSSPropertyID::kBackground, local_context.CurrentShorthand());
     EXPECT_FALSE(local_context.IsAnimationTainted());
     EXPECT_EQ(VariableMode::kUntyped, local_context.GetVariableMode());
   }
 
   // WithCurrentShorthand only changes that member.
   {
-    auto local_context = context.WithCurrentShorthand(CSSPropertyPadding);
+    auto local_context = context.WithCurrentShorthand(CSSPropertyID::kPadding);
     EXPECT_TRUE(local_context.UseAliasParsing());
-    EXPECT_EQ(CSSPropertyPadding, local_context.CurrentShorthand());
+    EXPECT_EQ(CSSPropertyID::kPadding, local_context.CurrentShorthand());
     EXPECT_TRUE(local_context.IsAnimationTainted());
     EXPECT_EQ(VariableMode::kUntyped, local_context.GetVariableMode());
   }
@@ -80,7 +81,7 @@
   {
     auto local_context = context.WithVariableMode(VariableMode::kTyped);
     EXPECT_TRUE(local_context.UseAliasParsing());
-    EXPECT_EQ(CSSPropertyBackground, local_context.CurrentShorthand());
+    EXPECT_EQ(CSSPropertyID::kBackground, local_context.CurrentShorthand());
     EXPECT_TRUE(local_context.IsAnimationTainted());
     EXPECT_EQ(VariableMode::kTyped, local_context.GetVariableMode());
   }
diff --git a/third_party/blink/renderer/core/css/parser/css_property_parser.cc b/third_party/blink/renderer/core/css/parser/css_property_parser.cc
index 2b322f9..6d830f48 100644
--- a/third_party/blink/renderer/core/css/parser/css_property_parser.cc
+++ b/third_party/blink/renderer/core/css/parser/css_property_parser.cc
@@ -74,7 +74,7 @@
     const CSSParserContext* context) {
   DCHECK(context);
   CSSPropertyParser parser(range, context, nullptr);
-  const CSSValue* value = ParseLonghand(property, CSSPropertyInvalid,
+  const CSSValue* value = ParseLonghand(property, CSSPropertyID::kInvalid,
                                         *parser.context_, parser.range_);
   if (!value || !parser.range_.AtEnd())
     return nullptr;
@@ -107,10 +107,11 @@
       return true;
   } else {
     if (const CSSValue* parsed_value = ParseLonghand(
-            unresolved_property, CSSPropertyInvalid, *context_, range_)) {
+            unresolved_property, CSSPropertyID::kInvalid, *context_, range_)) {
       if (range_.AtEnd()) {
-        AddProperty(property_id, CSSPropertyInvalid, *parsed_value, important,
-                    IsImplicitProperty::kNotImplicit, *parsed_properties_);
+        AddProperty(property_id, CSSPropertyID::kInvalid, *parsed_value,
+                    important, IsImplicitProperty::kNotImplicit,
+                    *parsed_properties_);
         return true;
       }
     }
@@ -129,7 +130,7 @@
       AddExpandedPropertyForValue(property_id, pending_value, important,
                                   *parsed_properties_);
     } else {
-      AddProperty(property_id, CSSPropertyInvalid, *variable, important,
+      AddProperty(property_id, CSSPropertyID::kInvalid, *variable, important,
                   IsImplicitProperty::kNotImplicit, *parsed_properties_);
     }
     return true;
@@ -142,18 +143,18 @@
 static CSSPropertyID UnresolvedCSSPropertyID(const CharacterType* property_name,
                                              unsigned length) {
   if (length == 0)
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   if (length >= 2 && property_name[0] == '-' && property_name[1] == '-')
-    return CSSPropertyVariable;
+    return CSSPropertyID::kVariable;
   if (length > maxCSSPropertyNameLength)
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
 
   char buffer[maxCSSPropertyNameLength + 1];  // 1 for null character
 
   for (unsigned i = 0; i != length; ++i) {
     CharacterType c = property_name[i];
     if (c == 0 || c >= 0x7F)
-      return CSSPropertyInvalid;  // illegal character
+      return CSSPropertyID::kInvalid;  // illegal character
     buffer[i] = ToASCIILower(c);
   }
   buffer[length] = '\0';
@@ -161,10 +162,10 @@
   const char* name = buffer;
   const Property* hash_table_entry = FindProperty(name, length);
   if (!hash_table_entry)
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   CSSPropertyID property = static_cast<CSSPropertyID>(hash_table_entry->id);
   if (!CSSProperty::Get(resolveCSSPropertyID(property)).IsEnabled())
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   return property;
 }
 
@@ -233,7 +234,7 @@
   if (!shorthand.length()) {
     if (!CSSProperty::Get(property).IsProperty())
       return false;
-    AddProperty(property, CSSPropertyInvalid, *value, important,
+    AddProperty(property, CSSPropertyID::kInvalid, *value, important,
                 IsImplicitProperty::kNotImplicit, *parsed_properties_);
   } else {
     AddExpandedPropertyForValue(property, *value, important,
@@ -249,17 +250,17 @@
     CSSParserMode css_parser_mode) {
   CSSValueID id = range.Peek().Id();
   switch (prop_id) {
-    case CSSPropertyMinWidth:
-    case CSSPropertyMaxWidth:
-    case CSSPropertyMinHeight:
-    case CSSPropertyMaxHeight:
+    case CSSPropertyID::kMinWidth:
+    case CSSPropertyID::kMaxWidth:
+    case CSSPropertyID::kMinHeight:
+    case CSSPropertyID::kMaxHeight:
       if (id == CSSValueAuto || id == CSSValueInternalExtendToZoom)
         return ConsumeIdent(range);
       return ConsumeLengthOrPercent(range, css_parser_mode,
                                     kValueRangeNonNegative);
-    case CSSPropertyMinZoom:
-    case CSSPropertyMaxZoom:
-    case CSSPropertyZoom: {
+    case CSSPropertyID::kMinZoom:
+    case CSSPropertyID::kMaxZoom:
+    case CSSPropertyID::kZoom: {
       if (id == CSSValueAuto)
         return ConsumeIdent(range);
       CSSValue* parsed_value = ConsumeNumber(range, kValueRangeNonNegative);
@@ -267,12 +268,12 @@
         return parsed_value;
       return ConsumePercent(range, kValueRangeNonNegative);
     }
-    case CSSPropertyUserZoom:
+    case CSSPropertyID::kUserZoom:
       return ConsumeIdent<CSSValueZoom, CSSValueFixed>(range);
-    case CSSPropertyOrientation:
+    case CSSPropertyID::kOrientation:
       return ConsumeIdent<CSSValueAuto, CSSValuePortrait, CSSValueLandscape>(
           range);
-    case CSSPropertyViewportFit:
+    case CSSPropertyID::kViewportFit:
       return ConsumeIdent<CSSValueAuto, CSSValueContain, CSSValueCover>(range);
     default:
       NOTREACHED();
@@ -289,61 +290,61 @@
          IsUASheetBehavior(context_->Mode()));
 
   switch (prop_id) {
-    case CSSPropertyWidth: {
+    case CSSPropertyID::kWidth: {
       CSSValue* min_width = ConsumeSingleViewportDescriptor(
-          range_, CSSPropertyMinWidth, context_->Mode());
+          range_, CSSPropertyID::kMinWidth, context_->Mode());
       if (!min_width)
         return false;
       CSSValue* max_width = min_width;
       if (!range_.AtEnd()) {
-        max_width = ConsumeSingleViewportDescriptor(range_, CSSPropertyMaxWidth,
-                                                    context_->Mode());
+        max_width = ConsumeSingleViewportDescriptor(
+            range_, CSSPropertyID::kMaxWidth, context_->Mode());
       }
       if (!max_width || !range_.AtEnd())
         return false;
-      AddProperty(CSSPropertyMinWidth, CSSPropertyInvalid, *min_width,
+      AddProperty(CSSPropertyID::kMinWidth, CSSPropertyID::kInvalid, *min_width,
                   important, IsImplicitProperty::kNotImplicit,
                   *parsed_properties_);
-      AddProperty(CSSPropertyMaxWidth, CSSPropertyInvalid, *max_width,
+      AddProperty(CSSPropertyID::kMaxWidth, CSSPropertyID::kInvalid, *max_width,
                   important, IsImplicitProperty::kNotImplicit,
                   *parsed_properties_);
       return true;
     }
-    case CSSPropertyHeight: {
+    case CSSPropertyID::kHeight: {
       CSSValue* min_height = ConsumeSingleViewportDescriptor(
-          range_, CSSPropertyMinHeight, context_->Mode());
+          range_, CSSPropertyID::kMinHeight, context_->Mode());
       if (!min_height)
         return false;
       CSSValue* max_height = min_height;
       if (!range_.AtEnd()) {
         max_height = ConsumeSingleViewportDescriptor(
-            range_, CSSPropertyMaxHeight, context_->Mode());
+            range_, CSSPropertyID::kMaxHeight, context_->Mode());
       }
       if (!max_height || !range_.AtEnd())
         return false;
-      AddProperty(CSSPropertyMinHeight, CSSPropertyInvalid, *min_height,
-                  important, IsImplicitProperty::kNotImplicit,
+      AddProperty(CSSPropertyID::kMinHeight, CSSPropertyID::kInvalid,
+                  *min_height, important, IsImplicitProperty::kNotImplicit,
                   *parsed_properties_);
-      AddProperty(CSSPropertyMaxHeight, CSSPropertyInvalid, *max_height,
-                  important, IsImplicitProperty::kNotImplicit,
+      AddProperty(CSSPropertyID::kMaxHeight, CSSPropertyID::kInvalid,
+                  *max_height, important, IsImplicitProperty::kNotImplicit,
                   *parsed_properties_);
       return true;
     }
-    case CSSPropertyViewportFit:
-    case CSSPropertyMinWidth:
-    case CSSPropertyMaxWidth:
-    case CSSPropertyMinHeight:
-    case CSSPropertyMaxHeight:
-    case CSSPropertyMinZoom:
-    case CSSPropertyMaxZoom:
-    case CSSPropertyZoom:
-    case CSSPropertyUserZoom:
-    case CSSPropertyOrientation: {
+    case CSSPropertyID::kViewportFit:
+    case CSSPropertyID::kMinWidth:
+    case CSSPropertyID::kMaxWidth:
+    case CSSPropertyID::kMinHeight:
+    case CSSPropertyID::kMaxHeight:
+    case CSSPropertyID::kMinZoom:
+    case CSSPropertyID::kMaxZoom:
+    case CSSPropertyID::kZoom:
+    case CSSPropertyID::kUserZoom:
+    case CSSPropertyID::kOrientation: {
       CSSValue* parsed_value =
           ConsumeSingleViewportDescriptor(range_, prop_id, context_->Mode());
       if (!parsed_value || !range_.AtEnd())
         return false;
-      AddProperty(prop_id, CSSPropertyInvalid, *parsed_value, important,
+      AddProperty(prop_id, CSSPropertyID::kInvalid, *parsed_value, important,
                   IsImplicitProperty::kNotImplicit, *parsed_properties_);
       return true;
     }
@@ -363,9 +364,10 @@
   if (!parsed_value)
     return false;
 
-  AddProperty(resolved_property, CSSPropertyInvalid /* current_shorthand */,
-              *parsed_value, false /* important */,
-              IsImplicitProperty::kNotImplicit, *parsed_properties_);
+  AddProperty(resolved_property,
+              CSSPropertyID::kInvalid /* current_shorthand */, *parsed_value,
+              false /* important */, IsImplicitProperty::kNotImplicit,
+              *parsed_properties_);
   return true;
 }
 
diff --git a/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc b/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc
index 189c4da2d..aacdeba 100644
--- a/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc
+++ b/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc
@@ -1073,7 +1073,8 @@
     }
     if (!result_style) {
       result_style = css_property_parser_helpers::ParseLonghand(
-          CSSPropertyBorderLeftStyle, CSSPropertyBorder, context, range);
+          CSSPropertyID::kBorderLeftStyle, CSSPropertyID::kBorder, context,
+          range);
       if (result_style)
         continue;
     }
@@ -1796,7 +1797,7 @@
   if (!context.IsUseCounterRecordingEnabled())
     return;
   switch (property) {
-    case CSSPropertyWebkitAppearance: {
+    case CSSPropertyID::kWebkitAppearance: {
       WebFeature feature;
       if (value_id == CSSValueNone) {
         feature = WebFeature::kCSSValueAppearanceNone;
@@ -1839,7 +1840,7 @@
       break;
     }
 
-    case CSSPropertyWebkitUserModify: {
+    case CSSPropertyID::kWebkitUserModify: {
       switch (value_id) {
         case CSSValueReadOnly:
           context.Count(WebFeature::kCSSValueUserModifyReadOnly);
@@ -1855,7 +1856,7 @@
       }
       break;
     }
-    case CSSPropertyDisplay:
+    case CSSPropertyID::kDisplay:
       if (value_id == CSSValueContents)
         context.Count(WebFeature::kCSSValueDisplayContents);
       break;
diff --git a/third_party/blink/renderer/core/css/parser/css_property_parser_test.cc b/third_party/blink/renderer/core/css/parser/css_property_parser_test.cc
index 8a8e72c..9b4c9ec 100644
--- a/third_party/blink/renderer/core/css/parser/css_property_parser_test.cc
+++ b/third_party/blink/renderer/core/css/parser/css_property_parser_test.cc
@@ -41,7 +41,7 @@
 
 TEST(CSSPropertyParserTest, CSSPaint_Functions) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, "paint(foo, func1(1px, 3px), red)",
+      CSSPropertyID::kBackgroundImage, "paint(foo, func1(1px, 3px), red)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   ASSERT_TRUE(value);
   ASSERT_TRUE(value->IsValueList());
@@ -50,7 +50,7 @@
 
 TEST(CSSPropertyParserTest, CSSPaint_NoArguments) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, "paint(foo)",
+      CSSPropertyID::kBackgroundImage, "paint(foo)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   ASSERT_TRUE(value);
   ASSERT_TRUE(value->IsValueList());
@@ -59,7 +59,7 @@
 
 TEST(CSSPropertyParserTest, CSSPaint_ValidArguments) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, "paint(bar, 10px, red)",
+      CSSPropertyID::kBackgroundImage, "paint(bar, 10px, red)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   ASSERT_TRUE(value);
   ASSERT_TRUE(value->IsValueList());
@@ -68,7 +68,7 @@
 
 TEST(CSSPropertyParserTest, CSSPaint_InvalidFormat) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, "paint(foo bar)",
+      CSSPropertyID::kBackgroundImage, "paint(foo bar)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   // Illegal format should not be parsed.
   ASSERT_FALSE(value);
@@ -76,7 +76,7 @@
 
 TEST(CSSPropertyParserTest, CSSPaint_TrailingComma) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, "paint(bar, 10px, red,)",
+      CSSPropertyID::kBackgroundImage, "paint(bar, 10px, red,)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   ASSERT_FALSE(value);
 }
@@ -84,42 +84,42 @@
 TEST(CSSPropertyParserTest, CSSPaint_PaintArgumentsDiabled) {
   ScopedCSSPaintAPIArgumentsForTest css_paint_api_arguments(false);
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundImage, "paint(bar, 10px, red)",
+      CSSPropertyID::kBackgroundImage, "paint(bar, 10px, red)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   ASSERT_FALSE(value);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit1) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns, "repeat(999, 20px)",
+      CSSPropertyID::kGridTemplateColumns, "repeat(999, 20px)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 999);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit2) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows, "repeat(999, 20px)",
+      CSSPropertyID::kGridTemplateRows, "repeat(999, 20px)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 999);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit3) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns, "repeat(1000000, 10%)",
+      CSSPropertyID::kGridTemplateColumns, "repeat(1000000, 10%)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit4) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows, "repeat(1000000, 10%)",
+      CSSPropertyID::kGridTemplateRows, "repeat(1000000, 10%)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit5) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns,
+      CSSPropertyID::kGridTemplateColumns,
       "repeat(1000000, [first] min-content [last])",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
@@ -127,7 +127,7 @@
 
 TEST(CSSPropertyParserTest, GridTrackLimit6) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows,
+      CSSPropertyID::kGridTemplateRows,
       "repeat(1000000, [first] min-content [last])",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
@@ -135,21 +135,21 @@
 
 TEST(CSSPropertyParserTest, GridTrackLimit7) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns, "repeat(1000001, auto)",
+      CSSPropertyID::kGridTemplateColumns, "repeat(1000001, auto)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit8) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows, "repeat(1000001, auto)",
+      CSSPropertyID::kGridTemplateRows, "repeat(1000001, auto)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit9) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns,
+      CSSPropertyID::kGridTemplateColumns,
       "repeat(400000, 2em minmax(10px, max-content) 0.5fr)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 999);
@@ -157,7 +157,7 @@
 
 TEST(CSSPropertyParserTest, GridTrackLimit10) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows,
+      CSSPropertyID::kGridTemplateRows,
       "repeat(400000, 2em minmax(10px, max-content) 0.5fr)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 999);
@@ -165,7 +165,7 @@
 
 TEST(CSSPropertyParserTest, GridTrackLimit11) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns,
+      CSSPropertyID::kGridTemplateColumns,
       "repeat(600000, [first] 3vh 10% 2fr [nav] 10px auto 1fr 6em [last])",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 994);
@@ -173,7 +173,7 @@
 
 TEST(CSSPropertyParserTest, GridTrackLimit12) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows,
+      CSSPropertyID::kGridTemplateRows,
       "repeat(600000, [first] 3vh 10% 2fr [nav] 10px auto 1fr 6em [last])",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 994);
@@ -181,21 +181,23 @@
 
 TEST(CSSPropertyParserTest, GridTrackLimit13) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns, "repeat(100000000000000000000, 10% 1fr)",
+      CSSPropertyID::kGridTemplateColumns,
+      "repeat(100000000000000000000, 10% 1fr)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit14) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows, "repeat(100000000000000000000, 10% 1fr)",
+      CSSPropertyID::kGridTemplateRows,
+      "repeat(100000000000000000000, 10% 1fr)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 1000);
 }
 
 TEST(CSSPropertyParserTest, GridTrackLimit15) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateColumns,
+      CSSPropertyID::kGridTemplateColumns,
       "repeat(100000000000000000000, 10% 5em 1fr auto auto 15px min-content)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 994);
@@ -203,7 +205,7 @@
 
 TEST(CSSPropertyParserTest, GridTrackLimit16) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridTemplateRows,
+      CSSPropertyID::kGridTemplateRows,
       "repeat(100000000000000000000, 10% 5em 1fr auto auto 15px min-content)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_EQ(ComputeNumberOfTracks(To<CSSValueList>(value)), 994);
@@ -219,7 +221,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit1) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridColumnStart, "999",
+      CSSPropertyID::kGridColumnStart, "999",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), 999);
@@ -227,7 +229,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit2) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridColumnEnd, "1000000",
+      CSSPropertyID::kGridColumnEnd, "1000000",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), 1000);
@@ -235,7 +237,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit3) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridRowStart, "1000001",
+      CSSPropertyID::kGridRowStart, "1000001",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), 1000);
@@ -243,7 +245,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit4) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridRowEnd, "5000000000",
+      CSSPropertyID::kGridRowEnd, "5000000000",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), 1000);
@@ -251,7 +253,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit5) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridColumnStart, "-999",
+      CSSPropertyID::kGridColumnStart, "-999",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), -999);
@@ -259,7 +261,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit6) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridColumnEnd, "-1000000",
+      CSSPropertyID::kGridColumnEnd, "-1000000",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), -1000);
@@ -267,7 +269,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit7) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridRowStart, "-1000001",
+      CSSPropertyID::kGridRowStart, "-1000001",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), -1000);
@@ -275,7 +277,7 @@
 
 TEST(CSSPropertyParserTest, GridPositionLimit8) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyGridRowEnd, "-5000000000",
+      CSSPropertyID::kGridRowEnd, "-5000000000",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   DCHECK(value);
   EXPECT_EQ(GetGridPositionInteger(*value), -1000);
@@ -283,7 +285,7 @@
 
 TEST(CSSPropertyParserTest, ColorFunction) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundColor, "rgba(0, 0, 0, 1)",
+      CSSPropertyID::kBackgroundColor, "rgba(0, 0, 0, 1)",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   ASSERT_TRUE(value);
   EXPECT_EQ(Color::kBlack, To<cssvalue::CSSColorValue>(*value).Value());
@@ -291,7 +293,7 @@
 
 TEST(CSSPropertyParserTest, IncompleteColor) {
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyBackgroundColor, "rgba(123 45",
+      CSSPropertyID::kBackgroundColor, "rgba(123 45",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   ASSERT_FALSE(value);
 }
@@ -304,24 +306,26 @@
       kHTMLStandardMode, SecureContextMode::kSecureContext,
       CSSParserContext::kLiveProfile, doc);
 
-  CSSParser::ParseSingleValue(CSSPropertyClipPath,
+  CSSParser::ParseSingleValue(CSSPropertyID::kClipPath,
                               "ellipse(1px 2px at invalid)", context);
 
   EXPECT_FALSE(
       UseCounter::IsCounted(*doc, WebFeature::kBasicShapeEllipseTwoRadius));
-  CSSParser::ParseSingleValue(CSSPropertyClipPath, "ellipse(1px 2px)", context);
+  CSSParser::ParseSingleValue(CSSPropertyID::kClipPath, "ellipse(1px 2px)",
+                              context);
   EXPECT_TRUE(
       UseCounter::IsCounted(*doc, WebFeature::kBasicShapeEllipseTwoRadius));
 
   EXPECT_FALSE(
       UseCounter::IsCounted(*doc, WebFeature::kBasicShapeEllipseOneRadius));
-  CSSParser::ParseSingleValue(CSSPropertyClipPath, "ellipse(1px)", context);
+  CSSParser::ParseSingleValue(CSSPropertyID::kClipPath, "ellipse(1px)",
+                              context);
   EXPECT_TRUE(
       UseCounter::IsCounted(*doc, WebFeature::kBasicShapeEllipseOneRadius));
 
   EXPECT_FALSE(
       UseCounter::IsCounted(*doc, WebFeature::kBasicShapeEllipseNoRadius));
-  CSSParser::ParseSingleValue(CSSPropertyClipPath, "ellipse()", context);
+  CSSParser::ParseSingleValue(CSSPropertyID::kClipPath, "ellipse()", context);
   EXPECT_TRUE(
       UseCounter::IsCounted(*doc, WebFeature::kBasicShapeEllipseNoRadius));
 }
@@ -329,7 +333,7 @@
 TEST(CSSPropertyParserTest, ScrollCustomizationPropertySingleValue) {
   RuntimeEnabledFeatures::SetScrollCustomizationEnabled(true);
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyScrollCustomization, "pan-down",
+      CSSPropertyID::kScrollCustomization, "pan-down",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   const auto* list = To<CSSValueList>(value);
   EXPECT_EQ(1U, list->length());
@@ -340,7 +344,7 @@
 TEST(CSSPropertyParserTest, ScrollCustomizationPropertyTwoValuesCombined) {
   RuntimeEnabledFeatures::SetScrollCustomizationEnabled(true);
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyScrollCustomization, "pan-left pan-y",
+      CSSPropertyID::kScrollCustomization, "pan-left pan-y",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   const auto* list = To<CSSValueList>(value);
   EXPECT_EQ(2U, list->length());
@@ -353,19 +357,19 @@
   // We expect exactly one property value per coordinate.
   RuntimeEnabledFeatures::SetScrollCustomizationEnabled(true);
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyScrollCustomization, "pan-left pan-right",
+      CSSPropertyID::kScrollCustomization, "pan-left pan-right",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_FALSE(value);
   value = CSSParser::ParseSingleValue(
-      CSSPropertyScrollCustomization, "pan-up pan-down",
+      CSSPropertyID::kScrollCustomization, "pan-up pan-down",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_FALSE(value);
   value = CSSParser::ParseSingleValue(
-      CSSPropertyScrollCustomization, "pan-x pan-left",
+      CSSPropertyID::kScrollCustomization, "pan-x pan-left",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_FALSE(value);
   value = CSSParser::ParseSingleValue(
-      CSSPropertyScrollCustomization, "pan-x pan-x",
+      CSSPropertyID::kScrollCustomization, "pan-x pan-x",
       StrictCSSParserContext(SecureContextMode::kSecureContext));
   EXPECT_FALSE(value);
 }
@@ -406,19 +410,21 @@
 }
 
 TEST(CSSPropertyParserTest, DropViewportDescriptor) {
+  EXPECT_FALSE(IsValidPropertyValueForStyleRule(CSSPropertyID::kOrientation,
+                                                "portrait"));
   EXPECT_FALSE(
-      IsValidPropertyValueForStyleRule(CSSPropertyOrientation, "portrait"));
-  EXPECT_FALSE(
-      IsValidPropertyValueForStyleRule(CSSPropertyOrientation, "inherit"));
-  EXPECT_FALSE(
-      IsValidPropertyValueForStyleRule(CSSPropertyOrientation, "var(--dummy)"));
+      IsValidPropertyValueForStyleRule(CSSPropertyID::kOrientation, "inherit"));
+  EXPECT_FALSE(IsValidPropertyValueForStyleRule(CSSPropertyID::kOrientation,
+                                                "var(--dummy)"));
 }
 
 TEST(CSSPropertyParserTest, DropFontfaceDescriptor) {
-  EXPECT_FALSE(IsValidPropertyValueForStyleRule(CSSPropertySrc, "url(blah)"));
-  EXPECT_FALSE(IsValidPropertyValueForStyleRule(CSSPropertySrc, "inherit"));
   EXPECT_FALSE(
-      IsValidPropertyValueForStyleRule(CSSPropertySrc, "var(--dummy)"));
+      IsValidPropertyValueForStyleRule(CSSPropertyID::kSrc, "url(blah)"));
+  EXPECT_FALSE(
+      IsValidPropertyValueForStyleRule(CSSPropertyID::kSrc, "inherit"));
+  EXPECT_FALSE(
+      IsValidPropertyValueForStyleRule(CSSPropertyID::kSrc, "var(--dummy)"));
 }
 
 class CSSPropertyUseCounterTest : public ::testing::Test {
@@ -451,80 +457,80 @@
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyXUnitlessUseCount) {
   WebFeature feature = WebFeature::kSVGGeometryPropertyHasNonZeroUnitlessValue;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyX, "0");
+  ParseProperty(CSSPropertyID::kX, "0");
   // Unitless zero should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyX, "42");
+  ParseProperty(CSSPropertyID::kX, "42");
   EXPECT_TRUE(IsCounted(feature));
 }
 
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyYUnitlessUseCount) {
   WebFeature feature = WebFeature::kSVGGeometryPropertyHasNonZeroUnitlessValue;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyY, "0");
+  ParseProperty(CSSPropertyID::kY, "0");
   // Unitless zero should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyY, "42");
+  ParseProperty(CSSPropertyID::kY, "42");
   EXPECT_TRUE(IsCounted(feature));
 }
 
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyRUnitlessUseCount) {
   WebFeature feature = WebFeature::kSVGGeometryPropertyHasNonZeroUnitlessValue;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyR, "0");
+  ParseProperty(CSSPropertyID::kR, "0");
   // Unitless zero should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyR, "42");
+  ParseProperty(CSSPropertyID::kR, "42");
   EXPECT_TRUE(IsCounted(feature));
 }
 
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyRxUnitlessUseCount) {
   WebFeature feature = WebFeature::kSVGGeometryPropertyHasNonZeroUnitlessValue;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyRx, "0");
+  ParseProperty(CSSPropertyID::kRx, "0");
   // Unitless zero should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyRx, "42");
+  ParseProperty(CSSPropertyID::kRx, "42");
   EXPECT_TRUE(IsCounted(feature));
 }
 
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyRyUnitlessUseCount) {
   WebFeature feature = WebFeature::kSVGGeometryPropertyHasNonZeroUnitlessValue;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyRy, "0");
+  ParseProperty(CSSPropertyID::kRy, "0");
   // Unitless zero should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyRy, "42");
+  ParseProperty(CSSPropertyID::kRy, "42");
   EXPECT_TRUE(IsCounted(feature));
 }
 
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyCxUnitlessUseCount) {
   WebFeature feature = WebFeature::kSVGGeometryPropertyHasNonZeroUnitlessValue;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyCx, "0");
+  ParseProperty(CSSPropertyID::kCx, "0");
   // Unitless zero should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyCx, "42");
+  ParseProperty(CSSPropertyID::kCx, "42");
   EXPECT_TRUE(IsCounted(feature));
 }
 
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyCyUnitlessUseCount) {
   WebFeature feature = WebFeature::kSVGGeometryPropertyHasNonZeroUnitlessValue;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyCy, "0");
+  ParseProperty(CSSPropertyID::kCy, "0");
   // Unitless zero should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyCy, "42");
+  ParseProperty(CSSPropertyID::kCy, "42");
   EXPECT_TRUE(IsCounted(feature));
 }
 
 TEST_F(CSSPropertyUseCounterTest, CSSPropertyAnimationNameCustomIdentUseCount) {
   WebFeature feature = WebFeature::kDefaultInCustomIdent;
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyAnimationName, "initial");
+  ParseProperty(CSSPropertyID::kAnimationName, "initial");
   // css-wide keywords in custom ident other than default should not register.
   EXPECT_FALSE(IsCounted(feature));
-  ParseProperty(CSSPropertyAnimationName, "default");
+  ParseProperty(CSSPropertyID::kAnimationName, "default");
   EXPECT_TRUE(IsCounted(feature));
 }
 
diff --git a/third_party/blink/renderer/core/css/parser/sizes_calc_parser_test.cc b/third_party/blink/renderer/core/css/parser/sizes_calc_parser_test.cc
index f1e416b..a9ea072 100644
--- a/third_party/blink/renderer/core/css/parser/sizes_calc_parser_test.cc
+++ b/third_party/blink/renderer/core/css/parser/sizes_calc_parser_test.cc
@@ -28,7 +28,7 @@
                           unsigned viewport_height) {
   CSSLengthArray length_array;
   const CSSValue* css_value = CSSParser::ParseSingleValue(
-      CSSPropertyLeft, text,
+      CSSPropertyID::kLeft, text,
       StrictCSSParserContext(SecureContextMode::kInsecureContext));
   const auto* primitive_value = To<CSSPrimitiveValue>(css_value);
   if (primitive_value)
diff --git a/third_party/blink/renderer/core/css/properties/computed_style_utils.cc b/third_party/blink/renderer/core/css/properties/computed_style_utils.cc
index 160c1da..1f2afd8 100644
--- a/third_party/blink/renderer/core/css/properties/computed_style_utils.cc
+++ b/third_party/blink/renderer/core/css/properties/computed_style_utils.cc
@@ -172,16 +172,16 @@
     const ComputedStyle& style) {
   CSSValueList* position_list = CSSValueList::CreateSpaceSeparated();
   if (layer.IsBackgroundXOriginSet()) {
-    DCHECK(property.IDEquals(CSSPropertyBackgroundPosition) ||
-           property.IDEquals(CSSPropertyWebkitMaskPosition));
+    DCHECK(property.IDEquals(CSSPropertyID::kBackgroundPosition) ||
+           property.IDEquals(CSSPropertyID::kWebkitMaskPosition));
     position_list->Append(
         *CSSIdentifierValue::Create(layer.BackgroundXOrigin()));
   }
   position_list->Append(
       *ZoomAdjustedPixelValueForLength(layer.PositionX(), style));
   if (layer.IsBackgroundYOriginSet()) {
-    DCHECK(property.IDEquals(CSSPropertyBackgroundPosition) ||
-           property.IDEquals(CSSPropertyWebkitMaskPosition));
+    DCHECK(property.IDEquals(CSSPropertyID::kBackgroundPosition) ||
+           property.IDEquals(CSSPropertyID::kWebkitMaskPosition));
     position_list->Append(
         *CSSIdentifierValue::Create(layer.BackgroundYOrigin()));
   }
@@ -519,19 +519,19 @@
   std::pair<const Length*, const Length*> positions;
   bool is_horizontal_property;
   switch (property.PropertyID()) {
-    case CSSPropertyLeft:
+    case CSSPropertyID::kLeft:
       positions = std::make_pair(&style.Left(), &style.Right());
       is_horizontal_property = true;
       break;
-    case CSSPropertyRight:
+    case CSSPropertyID::kRight:
       positions = std::make_pair(&style.Right(), &style.Left());
       is_horizontal_property = true;
       break;
-    case CSSPropertyTop:
+    case CSSPropertyID::kTop:
       positions = std::make_pair(&style.Top(), &style.Bottom());
       is_horizontal_property = false;
       break;
-    case CSSPropertyBottom:
+    case CSSPropertyID::kBottom:
       positions = std::make_pair(&style.Bottom(), &style.Top());
       is_horizontal_property = false;
       break;
@@ -610,17 +610,17 @@
       LayoutUnit position;
 
       switch (property.PropertyID()) {
-        case CSSPropertyLeft:
+        case CSSPropertyID::kLeft:
           position = client_offset.Width() - layout_box->MarginLeft();
           break;
-        case CSSPropertyTop:
+        case CSSPropertyID::kTop:
           position = client_offset.Height() - layout_box->MarginTop();
           break;
-        case CSSPropertyRight:
+        case CSSPropertyID::kRight:
           position = container->ClientWidth() - layout_box->MarginRight() -
                      (layout_box->OffsetWidth() + client_offset.Width());
           break;
-        case CSSPropertyBottom:
+        case CSSPropertyID::kBottom:
           position = container->ClientHeight() - layout_box->MarginBottom() -
                      (layout_box->OffsetHeight() + client_offset.Height());
           break;
@@ -2279,7 +2279,8 @@
     auto* identifier_value = DynamicTo<CSSIdentifierValue>(value);
     if (shorthand_case == kAllNormal && identifier_value &&
         identifier_value->GetValueID() == CSSValueNone &&
-        shorthand.properties()[i]->IDEquals(CSSPropertyFontVariantLigatures)) {
+        shorthand.properties()[i]->IDEquals(
+            CSSPropertyID::kFontVariantLigatures)) {
       shorthand_case = kNoneLigatures;
     } else if (!(identifier_value &&
                  identifier_value->GetValueID() == CSSValueNormal)) {
diff --git a/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc b/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
index 2d1a4b7..38827236 100644
--- a/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
+++ b/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
@@ -753,36 +753,36 @@
                                      CSSParserTokenRange& range,
                                      const CSSParserContext& context) {
   switch (resolved_property) {
-    case CSSPropertyBackgroundClip:
+    case CSSPropertyID::kBackgroundClip:
       return ConsumeBackgroundBox(range);
-    case CSSPropertyBackgroundAttachment:
+    case CSSPropertyID::kBackgroundAttachment:
       return ConsumeBackgroundAttachment(range);
-    case CSSPropertyBackgroundOrigin:
+    case CSSPropertyID::kBackgroundOrigin:
       return ConsumeBackgroundBox(range);
-    case CSSPropertyBackgroundImage:
-    case CSSPropertyWebkitMaskImage:
+    case CSSPropertyID::kBackgroundImage:
+    case CSSPropertyID::kWebkitMaskImage:
       return css_property_parser_helpers::ConsumeImageOrNone(range, &context);
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyWebkitMaskPositionX:
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kWebkitMaskPositionX:
       return ConsumePositionLonghand<CSSValueLeft, CSSValueRight>(
           range, context.Mode());
-    case CSSPropertyBackgroundPositionY:
-    case CSSPropertyWebkitMaskPositionY:
+    case CSSPropertyID::kBackgroundPositionY:
+    case CSSPropertyID::kWebkitMaskPositionY:
       return ConsumePositionLonghand<CSSValueTop, CSSValueBottom>(
           range, context.Mode());
-    case CSSPropertyBackgroundSize:
+    case CSSPropertyID::kBackgroundSize:
       return ConsumeBackgroundSize(range, context,
                                    WebFeature::kNegativeBackgroundSize,
                                    ParsingStyle::kNotLegacy);
-    case CSSPropertyWebkitMaskSize:
+    case CSSPropertyID::kWebkitMaskSize:
       return ConsumeBackgroundSize(range, context,
                                    WebFeature::kNegativeMaskSize,
                                    ParsingStyle::kNotLegacy);
-    case CSSPropertyBackgroundColor:
+    case CSSPropertyID::kBackgroundColor:
       return css_property_parser_helpers::ConsumeColor(range, context.Mode());
-    case CSSPropertyWebkitMaskClip:
+    case CSSPropertyID::kWebkitMaskClip:
       return ConsumePrefixedBackgroundBox(range, AllowTextValue::kAllow);
-    case CSSPropertyWebkitMaskOrigin:
+    case CSSPropertyID::kWebkitMaskOrigin:
       return ConsumePrefixedBackgroundBox(range, AllowTextValue::kForbid);
     default:
       break;
@@ -806,11 +806,11 @@
                            const CSSParserLocalContext& local_context,
                            HeapVector<CSSPropertyValue, 256>& properties) {
   CSSPropertyID shorthand_id = local_context.CurrentShorthand();
-  DCHECK(shorthand_id == CSSPropertyBackground ||
-         shorthand_id == CSSPropertyWebkitMask);
+  DCHECK(shorthand_id == CSSPropertyID::kBackground ||
+         shorthand_id == CSSPropertyID::kWebkitMask);
   const StylePropertyShorthand& shorthand =
-      shorthand_id == CSSPropertyBackground ? backgroundShorthand()
-                                            : webkitMaskShorthand();
+      shorthand_id == CSSPropertyID::kBackground ? backgroundShorthand()
+                                                 : webkitMaskShorthand();
 
   const unsigned longhand_count = shorthand.length();
   CSSValue* longhands[10] = {nullptr};
@@ -829,45 +829,45 @@
         CSSValue* value = nullptr;
         CSSValue* value_y = nullptr;
         const CSSProperty& property = *shorthand.properties()[i];
-        if (property.IDEquals(CSSPropertyBackgroundRepeatX) ||
-            property.IDEquals(CSSPropertyWebkitMaskRepeatX)) {
+        if (property.IDEquals(CSSPropertyID::kBackgroundRepeatX) ||
+            property.IDEquals(CSSPropertyID::kWebkitMaskRepeatX)) {
           ConsumeRepeatStyleComponent(range, value, value_y, implicit);
-        } else if (property.IDEquals(CSSPropertyBackgroundPositionX) ||
-                   property.IDEquals(CSSPropertyWebkitMaskPositionX)) {
+        } else if (property.IDEquals(CSSPropertyID::kBackgroundPositionX) ||
+                   property.IDEquals(CSSPropertyID::kWebkitMaskPositionX)) {
           if (!css_property_parser_helpers::ConsumePosition(
                   range, context,
                   css_property_parser_helpers::UnitlessQuirk::kForbid,
                   WebFeature::kThreeValuedPositionBackground, value, value_y))
             continue;
-        } else if (property.IDEquals(CSSPropertyBackgroundSize) ||
-                   property.IDEquals(CSSPropertyWebkitMaskSize)) {
+        } else if (property.IDEquals(CSSPropertyID::kBackgroundSize) ||
+                   property.IDEquals(CSSPropertyID::kWebkitMaskSize)) {
           if (!css_property_parser_helpers::ConsumeSlashIncludingWhitespace(
                   range))
             continue;
-          value =
-              ConsumeBackgroundSize(range, context,
-                                    property.IDEquals(CSSPropertyBackgroundSize)
-                                        ? WebFeature::kNegativeBackgroundSize
-                                        : WebFeature::kNegativeMaskSize,
-                                    ParsingStyle::kNotLegacy);
+          value = ConsumeBackgroundSize(
+              range, context,
+              property.IDEquals(CSSPropertyID::kBackgroundSize)
+                  ? WebFeature::kNegativeBackgroundSize
+                  : WebFeature::kNegativeMaskSize,
+              ParsingStyle::kNotLegacy);
           if (!value ||
               !parsed_longhand[i - 1])  // Position must have been
                                         // parsed in the current layer.
           {
             return false;
           }
-        } else if (property.IDEquals(CSSPropertyBackgroundPositionY) ||
-                   property.IDEquals(CSSPropertyBackgroundRepeatY) ||
-                   property.IDEquals(CSSPropertyWebkitMaskPositionY) ||
-                   property.IDEquals(CSSPropertyWebkitMaskRepeatY)) {
+        } else if (property.IDEquals(CSSPropertyID::kBackgroundPositionY) ||
+                   property.IDEquals(CSSPropertyID::kBackgroundRepeatY) ||
+                   property.IDEquals(CSSPropertyID::kWebkitMaskPositionY) ||
+                   property.IDEquals(CSSPropertyID::kWebkitMaskRepeatY)) {
           continue;
         } else {
           value =
               ConsumeBackgroundComponent(property.PropertyID(), range, context);
         }
         if (value) {
-          if (property.IDEquals(CSSPropertyBackgroundOrigin) ||
-              property.IDEquals(CSSPropertyWebkitMaskOrigin)) {
+          if (property.IDEquals(CSSPropertyID::kBackgroundOrigin) ||
+              property.IDEquals(CSSPropertyID::kWebkitMaskOrigin)) {
             origin_value = value;
           }
           parsed_longhand[i] = true;
@@ -886,13 +886,14 @@
     // TODO(timloh): This will make invalid longhands, see crbug.com/386459
     for (unsigned i = 0; i < longhand_count; ++i) {
       const CSSProperty& property = *shorthand.properties()[i];
-      if (property.IDEquals(CSSPropertyBackgroundColor) && !range.AtEnd()) {
+      if (property.IDEquals(CSSPropertyID::kBackgroundColor) &&
+          !range.AtEnd()) {
         if (parsed_longhand[i])
           return false;  // Colors are only allowed in the last layer.
         continue;
       }
-      if ((property.IDEquals(CSSPropertyBackgroundClip) ||
-           property.IDEquals(CSSPropertyWebkitMaskClip)) &&
+      if ((property.IDEquals(CSSPropertyID::kBackgroundClip) ||
+           property.IDEquals(CSSPropertyID::kWebkitMaskClip)) &&
           !parsed_longhand[i] && origin_value) {
         AddBackgroundValue(longhands[i], origin_value);
         continue;
@@ -907,7 +908,7 @@
 
   for (unsigned i = 0; i < longhand_count; ++i) {
     const CSSProperty& property = *shorthand.properties()[i];
-    if (property.IDEquals(CSSPropertyBackgroundSize) && longhands[i] &&
+    if (property.IDEquals(CSSPropertyID::kBackgroundSize) && longhands[i] &&
         context.UseLegacyBackgroundSizeShorthandBehavior())
       continue;
     css_property_parser_helpers::AddProperty(
@@ -1132,9 +1133,9 @@
                                const CSSParserContext& context,
                                const CSSParserLocalContext& local_context) {
   CSSPropertyID shorthand = local_context.CurrentShorthand();
-  bool allow_quirky_lengths =
-      IsQuirksModeBehavior(context.Mode()) &&
-      (shorthand == CSSPropertyInvalid || shorthand == CSSPropertyBorderWidth);
+  bool allow_quirky_lengths = IsQuirksModeBehavior(context.Mode()) &&
+                              (shorthand == CSSPropertyID::kInvalid ||
+                               shorthand == CSSPropertyID::kBorderWidth);
   css_property_parser_helpers::UnitlessQuirk unitless =
       allow_quirky_lengths
           ? css_property_parser_helpers::UnitlessQuirk::kAllow
@@ -2518,8 +2519,8 @@
   if (token.Id() == CSSValueNone)
     return css_property_parser_helpers::ConsumeIdent(range);
   CSSPropertyID unresolved_property = token.ParseAsUnresolvedCSSPropertyID();
-  if (unresolved_property != CSSPropertyInvalid &&
-      unresolved_property != CSSPropertyVariable) {
+  if (unresolved_property != CSSPropertyID::kInvalid &&
+      unresolved_property != CSSPropertyID::kVariable) {
 #if DCHECK_IS_ON()
     DCHECK(CSSProperty::Get(resolveCSSPropertyID(unresolved_property))
                .IsEnabled());
@@ -2545,9 +2546,9 @@
                                  const CSSParserContext& context,
                                  const CSSParserLocalContext& local_context) {
   CSSPropertyID shorthand = local_context.CurrentShorthand();
-  bool allow_quirky_colors =
-      IsQuirksModeBehavior(context.Mode()) &&
-      (shorthand == CSSPropertyInvalid || shorthand == CSSPropertyBorderColor);
+  bool allow_quirky_colors = IsQuirksModeBehavior(context.Mode()) &&
+                             (shorthand == CSSPropertyID::kInvalid ||
+                              shorthand == CSSPropertyID::kBorderColor);
   return css_property_parser_helpers::ConsumeColor(range, context.Mode(),
                                                    allow_quirky_colors);
 }
@@ -2596,7 +2597,7 @@
 
 css_property_parser_helpers::UnitlessQuirk UnitlessUnlessShorthand(
     const CSSParserLocalContext& local_context) {
-  return local_context.CurrentShorthand() == CSSPropertyInvalid
+  return local_context.CurrentShorthand() == CSSPropertyID::kInvalid
              ? css_property_parser_helpers::UnitlessQuirk::kAllow
              : css_property_parser_helpers::UnitlessQuirk::kForbid;
 }
diff --git a/third_party/blink/renderer/core/css/properties/css_property.cc b/third_party/blink/renderer/core/css/properties/css_property.cc
index 31126bb..2d8f6eb 100644
--- a/third_party/blink/renderer/core/css/properties/css_property.cc
+++ b/third_party/blink/renderer/core/css/properties/css_property.cc
@@ -23,7 +23,7 @@
 }
 
 const CSSProperty& CSSProperty::Get(CSSPropertyID id) {
-  DCHECK_NE(id, CSSPropertyInvalid);
+  DCHECK_NE(id, CSSPropertyID::kInvalid);
   DCHECK_LE(id, lastCSSProperty);  // last property id
   return To<CSSProperty>(CSSUnresolvedProperty::GetNonAliasProperty(id));
 }
@@ -63,7 +63,7 @@
       &GetCSSPropertyBorderBottom(), &GetCSSPropertyBorderLeft()};
   DEFINE_STATIC_LOCAL(
       StylePropertyShorthand, border_directions,
-      (CSSPropertyBorder, kProperties, base::size(kProperties)));
+      (CSSPropertyID::kBorder, kProperties, base::size(kProperties)));
   return border_directions;
 }
 
diff --git a/third_party/blink/renderer/core/css/properties/css_property.h b/third_party/blink/renderer/core/css/properties/css_property.h
index f88fd19..fbeb53f 100644
--- a/third_party/blink/renderer/core/css/properties/css_property.h
+++ b/third_party/blink/renderer/core/css/properties/css_property.h
@@ -34,7 +34,7 @@
   // to using property classes yet.
   virtual CSSPropertyID PropertyID() const {
     NOTREACHED();
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
   }
   virtual CSSPropertyName GetCSSPropertyName() const {
     return CSSPropertyName(PropertyID());
diff --git a/third_party/blink/renderer/core/css/properties/css_property_ref.cc b/third_party/blink/renderer/core/css/properties/css_property_ref.cc
index ebe0cc4..bd83e45f 100644
--- a/third_party/blink/renderer/core/css/properties/css_property_ref.cc
+++ b/third_party/blink/renderer/core/css/properties/css_property_ref.cc
@@ -10,25 +10,25 @@
 
 CSSPropertyRef::CSSPropertyRef(const String& name, const Document& document)
     : property_id_(unresolvedCSSPropertyID(name)) {
-  if (property_id_ == CSSPropertyVariable)
+  if (property_id_ == CSSPropertyID::kVariable)
     custom_property_ = CustomProperty(AtomicString(name), document);
 }
 
 CSSPropertyRef::CSSPropertyRef(const CSSPropertyName& name,
                                const Document& document)
     : property_id_(name.Id()) {
-  DCHECK_NE(name.Id(), CSSPropertyInvalid);
-  if (property_id_ == CSSPropertyVariable)
+  DCHECK_NE(name.Id(), CSSPropertyID::kInvalid);
+  if (property_id_ == CSSPropertyID::kVariable)
     custom_property_ = CustomProperty(name.ToAtomicString(), document);
 }
 
 CSSPropertyRef::CSSPropertyRef(const CSSProperty& property)
     : property_id_(property.PropertyID()) {
-  if (property.PropertyID() == CSSPropertyVariable) {
+  if (property.PropertyID() == CSSPropertyID::kVariable) {
     if (!Variable::IsStaticInstance(property))
       custom_property_ = static_cast<const CustomProperty&>(property);
     else
-      property_id_ = CSSPropertyInvalid;
+      property_id_ = CSSPropertyID::kInvalid;
   }
 }
 
diff --git a/third_party/blink/renderer/core/css/properties/css_property_ref.h b/third_party/blink/renderer/core/css/properties/css_property_ref.h
index 557414d7..0aead62 100644
--- a/third_party/blink/renderer/core/css/properties/css_property_ref.h
+++ b/third_party/blink/renderer/core/css/properties/css_property_ref.h
@@ -51,11 +51,11 @@
   // is the static Variable instance.
   CSSPropertyRef(const CSSProperty&);
 
-  bool IsValid() const { return property_id_ != CSSPropertyInvalid; }
+  bool IsValid() const { return property_id_ != CSSPropertyID::kInvalid; }
 
   const CSSProperty& GetProperty() const {
     DCHECK(IsValid());
-    if (property_id_ == CSSPropertyVariable)
+    if (property_id_ == CSSPropertyID::kVariable)
       return custom_property_;
     return CSSProperty::Get(resolveCSSPropertyID(property_id_));
   }
diff --git a/third_party/blink/renderer/core/css/properties/css_property_ref_test.cc b/third_party/blink/renderer/core/css/properties/css_property_ref_test.cc
index 42c03ce..45fea2c 100644
--- a/third_party/blink/renderer/core/css/properties/css_property_ref_test.cc
+++ b/third_party/blink/renderer/core/css/properties/css_property_ref_test.cc
@@ -21,20 +21,20 @@
 TEST_F(CSSPropertyRefTest, LookupUnregistred) {
   CSSPropertyRef ref("--x", GetDocument());
   EXPECT_TRUE(ref.IsValid());
-  EXPECT_EQ(CSSPropertyVariable, ref.GetProperty().PropertyID());
+  EXPECT_EQ(CSSPropertyID::kVariable, ref.GetProperty().PropertyID());
 }
 
 TEST_F(CSSPropertyRefTest, LookupRegistered) {
   RegisterProperty(GetDocument(), "--x", "<length>", "42px", false);
   CSSPropertyRef ref("--x", GetDocument());
   EXPECT_TRUE(ref.IsValid());
-  EXPECT_EQ(CSSPropertyVariable, ref.GetProperty().PropertyID());
+  EXPECT_EQ(CSSPropertyID::kVariable, ref.GetProperty().PropertyID());
 }
 
 TEST_F(CSSPropertyRefTest, LookupStandard) {
   CSSPropertyRef ref("font-size", GetDocument());
   EXPECT_TRUE(ref.IsValid());
-  EXPECT_EQ(CSSPropertyFontSize, ref.GetProperty().PropertyID());
+  EXPECT_EQ(CSSPropertyID::kFontSize, ref.GetProperty().PropertyID());
 }
 
 TEST_F(CSSPropertyRefTest, IsValid) {
@@ -46,13 +46,13 @@
   CustomProperty custom(AtomicString("--x"), GetDocument());
   CSSPropertyRef ref(custom);
   EXPECT_TRUE(ref.IsValid());
-  EXPECT_EQ(CSSPropertyVariable, ref.GetProperty().PropertyID());
+  EXPECT_EQ(CSSPropertyID::kVariable, ref.GetProperty().PropertyID());
 }
 
 TEST_F(CSSPropertyRefTest, FromStandardProperty) {
   CSSPropertyRef ref(GetCSSPropertyFontSize());
   EXPECT_TRUE(ref.IsValid());
-  EXPECT_EQ(CSSPropertyFontSize, ref.GetProperty().PropertyID());
+  EXPECT_EQ(CSSPropertyID::kFontSize, ref.GetProperty().PropertyID());
 }
 
 TEST_F(CSSPropertyRefTest, FromStaticVariableInstance) {
@@ -88,12 +88,12 @@
 TEST_F(CSSPropertyRefTest, FromCSSPropertyNameCustom) {
   RegisterProperty(GetDocument(), "--x", "<length>", "42px", false);
   CSSPropertyRef ref(CSSPropertyName("--x"), GetDocument());
-  EXPECT_EQ(CSSPropertyVariable, ref.GetProperty().PropertyID());
+  EXPECT_EQ(CSSPropertyID::kVariable, ref.GetProperty().PropertyID());
 }
 
 TEST_F(CSSPropertyRefTest, FromCSSPropertyNameStandard) {
-  CSSPropertyRef ref(CSSPropertyName(CSSPropertyFontSize), GetDocument());
-  EXPECT_EQ(CSSPropertyFontSize, ref.GetProperty().PropertyID());
+  CSSPropertyRef ref(CSSPropertyName(CSSPropertyID::kFontSize), GetDocument());
+  EXPECT_EQ(CSSPropertyID::kFontSize, ref.GetProperty().PropertyID());
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/css/properties/css_unresolved_property.cc b/third_party/blink/renderer/core/css/properties/css_unresolved_property.cc
index 5f461c1..901de0c 100644
--- a/third_party/blink/renderer/core/css/properties/css_unresolved_property.cc
+++ b/third_party/blink/renderer/core/css/properties/css_unresolved_property.cc
@@ -20,13 +20,13 @@
 
 const CSSUnresolvedProperty& CSSUnresolvedProperty::GetNonAliasProperty(
     CSSPropertyID id) {
-  if (id == CSSPropertyVariable)
+  if (id == CSSPropertyID::kVariable)
     return GetCSSPropertyVariableInternal();
   return GetNonAliasPropertyInternal(id);
 }
 
 const CSSUnresolvedProperty& CSSUnresolvedProperty::Get(CSSPropertyID id) {
-  DCHECK_NE(id, CSSPropertyInvalid);
+  DCHECK_NE(id, CSSPropertyID::kInvalid);
   DCHECK_LE(id, lastUnresolvedCSSProperty);
   if (id <= lastCSSProperty)
     return GetNonAliasProperty(id);
diff --git a/third_party/blink/renderer/core/css/properties/longhands/border_image_source_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/border_image_source_custom.cc
index 17622ae..ac5c4f5 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/border_image_source_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/border_image_source_custom.cc
@@ -41,7 +41,7 @@
 void BorderImageSource::ApplyValue(StyleResolverState& state,
                                    const CSSValue& value) const {
   state.Style()->SetBorderImageSource(
-      state.GetStyleImage(CSSPropertyBorderImageSource, value));
+      state.GetStyleImage(CSSPropertyID::kBorderImageSource, value));
 }
 
 }  // namespace css_longhand
diff --git a/third_party/blink/renderer/core/css/properties/longhands/content_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/content_custom.cc
index 20e1d57..4188af07 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/content_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/content_custom.cc
@@ -146,8 +146,8 @@
     ContentData* next_content = nullptr;
     if (item->IsImageGeneratorValue() || item->IsImageSetValue() ||
         item->IsImageValue()) {
-      next_content =
-          ContentData::Create(state.GetStyleImage(CSSPropertyContent, *item));
+      next_content = ContentData::Create(
+          state.GetStyleImage(CSSPropertyID::kContent, *item));
     } else if (const auto* counter_value =
                    DynamicTo<cssvalue::CSSCounterValue>(item.Get())) {
       const auto list_style_type =
diff --git a/third_party/blink/renderer/core/css/properties/longhands/cursor_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/cursor_custom.cc
index 9ce3b12..e70a686 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/cursor_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/cursor_custom.cc
@@ -119,8 +119,9 @@
       if (const auto* cursor =
               DynamicTo<cssvalue::CSSCursorImageValue>(*item)) {
         const CSSValue& image = cursor->ImageValue();
-        state.Style()->AddCursor(state.GetStyleImage(CSSPropertyCursor, image),
-                                 cursor->HotSpotSpecified(), cursor->HotSpot());
+        state.Style()->AddCursor(
+            state.GetStyleImage(CSSPropertyID::kCursor, image),
+            cursor->HotSpotSpecified(), cursor->HotSpot());
       } else {
         state.Style()->SetCursor(
             To<CSSIdentifierValue>(*item).ConvertTo<ECursor>());
diff --git a/third_party/blink/renderer/core/css/properties/longhands/custom_property_test.cc b/third_party/blink/renderer/core/css/properties/longhands/custom_property_test.cc
index ba1b2bd..6ec1e0a 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/custom_property_test.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/custom_property_test.cc
@@ -73,7 +73,7 @@
 
 TEST_F(CustomPropertyTest, PropertyID) {
   CustomProperty property("--x", GetDocument());
-  EXPECT_EQ(CSSPropertyVariable, property.PropertyID());
+  EXPECT_EQ(CSSPropertyID::kVariable, property.PropertyID());
 }
 
 TEST_F(CustomPropertyTest, GetPropertyNameAtomicString) {
diff --git a/third_party/blink/renderer/core/css/properties/longhands/list_style_image_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/list_style_image_custom.cc
index 597e989..d904c6d 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/list_style_image_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/list_style_image_custom.cc
@@ -34,7 +34,7 @@
 void ListStyleImage::ApplyValue(StyleResolverState& state,
                                 const CSSValue& value) const {
   state.Style()->SetListStyleImage(
-      state.GetStyleImage(CSSPropertyListStyleImage, value));
+      state.GetStyleImage(CSSPropertyID::kListStyleImage, value));
 }
 
 }  // namespace css_longhand
diff --git a/third_party/blink/renderer/core/css/properties/longhands/variable.h b/third_party/blink/renderer/core/css/properties/longhands/variable.h
index f1eb993..0825b9689 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/variable.h
+++ b/third_party/blink/renderer/core/css/properties/longhands/variable.h
@@ -4,7 +4,7 @@
 
 // This header is hand-written, whereas most CSSProperty subclass
 // headers are generated by core/css/properties/templates/Subclass.h.tmpl.
-// CSSPropertyVariable is treated as a CSS properties in some places for
+// CSSPropertyID::kVariable is treated as a CSS properties in some places for
 // convenience but is not really a CSS property.
 #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_PROPERTIES_LONGHANDS_VARIABLE_H_
 #define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_PROPERTIES_LONGHANDS_VARIABLE_H_
@@ -21,7 +21,7 @@
 
   bool IsInherited() const override { return true; }
   bool IsAffectedByAll() const override { return false; }
-  CSSPropertyID PropertyID() const override { return CSSPropertyVariable; }
+  CSSPropertyID PropertyID() const override { return CSSPropertyID::kVariable; }
   CSSPropertyName GetCSSPropertyName() const override {
     NOTREACHED();
     return CSSPropertyName("");
diff --git a/third_party/blink/renderer/core/css/properties/longhands/webkit_border_image_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/webkit_border_image_custom.cc
index ae40d893..0ff4bd4e 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/webkit_border_image_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/webkit_border_image_custom.cc
@@ -30,8 +30,8 @@
 void WebkitBorderImage::ApplyValue(StyleResolverState& state,
                                    const CSSValue& value) const {
   NinePieceImage image;
-  CSSToStyleMap::MapNinePieceImage(state, CSSPropertyWebkitBorderImage, value,
-                                   image);
+  CSSToStyleMap::MapNinePieceImage(state, CSSPropertyID::kWebkitBorderImage,
+                                   value, image);
   state.Style()->SetBorderImage(image);
 }
 
diff --git a/third_party/blink/renderer/core/css/properties/longhands/webkit_mask_box_image_source_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/webkit_mask_box_image_source_custom.cc
index dae0afee..b817f652 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/webkit_mask_box_image_source_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/webkit_mask_box_image_source_custom.cc
@@ -34,7 +34,7 @@
 void WebkitMaskBoxImageSource::ApplyValue(StyleResolverState& state,
                                           const CSSValue& value) const {
   state.Style()->SetMaskBoxImageSource(
-      state.GetStyleImage(CSSPropertyWebkitMaskBoxImageSource, value));
+      state.GetStyleImage(CSSPropertyID::kWebkitMaskBoxImageSource, value));
 }
 
 }  // namespace css_longhand
diff --git a/third_party/blink/renderer/core/css/properties/longhands/will_change_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/will_change_custom.cc
index b7dfd03..3022efe 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/will_change_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/will_change_custom.cc
@@ -29,16 +29,16 @@
       return nullptr;
     CSSPropertyID unresolved_property =
         UnresolvedCSSPropertyID(range.Peek().Value());
-    if (unresolved_property != CSSPropertyInvalid &&
-        unresolved_property != CSSPropertyVariable) {
+    if (unresolved_property != CSSPropertyID::kInvalid &&
+        unresolved_property != CSSPropertyID::kVariable) {
 #if DCHECK_IS_ON()
       DCHECK(CSSProperty::Get(resolveCSSPropertyID(unresolved_property))
                  .IsEnabled());
 #endif
       // Now "all" is used by both CSSValue and CSSPropertyValue.
-      // Need to return nullptr when currentValue is CSSPropertyAll.
-      if (unresolved_property == CSSPropertyWillChange ||
-          unresolved_property == CSSPropertyAll)
+      // Need to return nullptr when currentValue is CSSPropertyID::kAll.
+      if (unresolved_property == CSSPropertyID::kWillChange ||
+          unresolved_property == CSSPropertyID::kAll)
         return nullptr;
       values->Append(*CSSCustomIdentValue::Create(unresolved_property));
       range.ConsumeIncludingWhitespace();
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/animation_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/animation_custom.cc
index 4f27aa4..f6f43c0 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/animation_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/animation_custom.cc
@@ -22,28 +22,28 @@
                                 const CSSParserContext& context,
                                 bool use_legacy_parsing) {
   switch (property) {
-    case CSSPropertyAnimationDelay:
+    case CSSPropertyID::kAnimationDelay:
       return css_property_parser_helpers::ConsumeTime(range, kValueRangeAll);
-    case CSSPropertyAnimationDirection:
+    case CSSPropertyID::kAnimationDirection:
       return css_property_parser_helpers::ConsumeIdent<
           CSSValueNormal, CSSValueAlternate, CSSValueReverse,
           CSSValueAlternateReverse>(range);
-    case CSSPropertyAnimationDuration:
+    case CSSPropertyID::kAnimationDuration:
       return css_property_parser_helpers::ConsumeTime(range,
                                                       kValueRangeNonNegative);
-    case CSSPropertyAnimationFillMode:
+    case CSSPropertyID::kAnimationFillMode:
       return css_property_parser_helpers::ConsumeIdent<
           CSSValueNone, CSSValueForwards, CSSValueBackwards, CSSValueBoth>(
           range);
-    case CSSPropertyAnimationIterationCount:
+    case CSSPropertyID::kAnimationIterationCount:
       return css_parsing_utils::ConsumeAnimationIterationCount(range);
-    case CSSPropertyAnimationName:
+    case CSSPropertyID::kAnimationName:
       return css_parsing_utils::ConsumeAnimationName(range, context,
                                                      use_legacy_parsing);
-    case CSSPropertyAnimationPlayState:
+    case CSSPropertyID::kAnimationPlayState:
       return css_property_parser_helpers::ConsumeIdent<CSSValueRunning,
                                                        CSSValuePaused>(range);
-    case CSSPropertyAnimationTimingFunction:
+    case CSSPropertyID::kAnimationTimingFunction:
       return css_parsing_utils::ConsumeAnimationTimingFunction(range);
     default:
       NOTREACHED();
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/background_position_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/background_position_custom.cc
index cef5bc7..d993420 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/background_position_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/background_position_custom.cc
@@ -29,13 +29,15 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBackgroundPositionX, CSSPropertyBackgroundPosition, *result_x,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kBackgroundPositionX, CSSPropertyID::kBackgroundPosition,
+      *result_x, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBackgroundPositionY, CSSPropertyBackgroundPosition, *result_y,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kBackgroundPositionY, CSSPropertyID::kBackgroundPosition,
+      *result_y, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/background_repeat_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/background_repeat_custom.cc
index 61a9742..c7ea6f0 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/background_repeat_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/background_repeat_custom.cc
@@ -30,14 +30,14 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBackgroundRepeatX, CSSPropertyBackgroundRepeat, *result_x,
-      important,
+      CSSPropertyID::kBackgroundRepeatX, CSSPropertyID::kBackgroundRepeat,
+      *result_x, important,
       implicit ? css_property_parser_helpers::IsImplicitProperty::kImplicit
                : css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBackgroundRepeatY, CSSPropertyBackgroundRepeat, *result_y,
-      important,
+      CSSPropertyID::kBackgroundRepeatY, CSSPropertyID::kBackgroundRepeat,
+      *result_y, important,
       implicit ? css_property_parser_helpers::IsImplicitProperty::kImplicit
                : css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/border_block_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/border_block_custom.cc
index 9279753..a9fb8a5 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/border_block_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/border_block_custom.cc
@@ -26,11 +26,11 @@
   };
 
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderBlockWidth, *width, important, properties);
+      CSSPropertyID::kBorderBlockWidth, *width, important, properties);
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderBlockStyle, *style, important, properties);
+      CSSPropertyID::kBorderBlockStyle, *style, important, properties);
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderBlockColor, *color, important, properties);
+      CSSPropertyID::kBorderBlockColor, *color, important, properties);
 
   return range.AtEnd();
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/border_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/border_custom.cc
index 6090928..e570304 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/border_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/border_custom.cc
@@ -30,13 +30,13 @@
   };
 
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderWidth, *width, important, properties);
+      CSSPropertyID::kBorderWidth, *width, important, properties);
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderStyle, *style, important, properties);
+      CSSPropertyID::kBorderStyle, *style, important, properties);
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderColor, *color, important, properties);
+      CSSPropertyID::kBorderColor, *color, important, properties);
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderImage, *CSSInitialValue::Create(), important,
+      CSSPropertyID::kBorderImage, *CSSInitialValue::Create(), important,
       properties);
 
   return range.AtEnd();
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/border_image_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/border_image_custom.cc
index 7dafd9db..0532eb85 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/border_image_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/border_image_custom.cc
@@ -34,33 +34,33 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderImageSource, CSSPropertyBorderImage,
+      CSSPropertyID::kBorderImageSource, CSSPropertyID::kBorderImage,
       source
           ? *source
           : *To<Longhand>(&GetCSSPropertyBorderImageSource())->InitialValue(),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderImageSlice, CSSPropertyBorderImage,
+      CSSPropertyID::kBorderImageSlice, CSSPropertyID::kBorderImage,
       slice ? *slice
             : *To<Longhand>(&GetCSSPropertyBorderImageSlice())->InitialValue(),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderImageWidth, CSSPropertyBorderImage,
+      CSSPropertyID::kBorderImageWidth, CSSPropertyID::kBorderImage,
       width ? *width
             : *To<Longhand>(&GetCSSPropertyBorderImageWidth())->InitialValue(),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderImageOutset, CSSPropertyBorderImage,
+      CSSPropertyID::kBorderImageOutset, CSSPropertyID::kBorderImage,
       outset
           ? *outset
           : *To<Longhand>(&GetCSSPropertyBorderImageOutset())->InitialValue(),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderImageRepeat, CSSPropertyBorderImage,
+      CSSPropertyID::kBorderImageRepeat, CSSPropertyID::kBorderImage,
       repeat
           ? *repeat
           : *To<Longhand>(&GetCSSPropertyBorderImageRepeat())->InitialValue(),
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/border_inline_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/border_inline_custom.cc
index 3d8d791..ff13c02 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/border_inline_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/border_inline_custom.cc
@@ -26,11 +26,11 @@
   };
 
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderInlineWidth, *width, important, properties);
+      CSSPropertyID::kBorderInlineWidth, *width, important, properties);
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderInlineStyle, *style, important, properties);
+      CSSPropertyID::kBorderInlineStyle, *style, important, properties);
   css_property_parser_helpers::AddExpandedPropertyForValue(
-      CSSPropertyBorderInlineColor, *color, important, properties);
+      CSSPropertyID::kBorderInlineColor, *color, important, properties);
 
   return range.AtEnd();
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/border_radius_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/border_radius_custom.cc
index 5f0b7591..aab8da2 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/border_radius_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/border_radius_custom.cc
@@ -30,25 +30,25 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderTopLeftRadius, CSSPropertyBorderRadius,
+      CSSPropertyID::kBorderTopLeftRadius, CSSPropertyID::kBorderRadius,
       *CSSValuePair::Create(horizontal_radii[0], vertical_radii[0],
                             CSSValuePair::kDropIdenticalValues),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderTopRightRadius, CSSPropertyBorderRadius,
+      CSSPropertyID::kBorderTopRightRadius, CSSPropertyID::kBorderRadius,
       *CSSValuePair::Create(horizontal_radii[1], vertical_radii[1],
                             CSSValuePair::kDropIdenticalValues),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderBottomRightRadius, CSSPropertyBorderRadius,
+      CSSPropertyID::kBorderBottomRightRadius, CSSPropertyID::kBorderRadius,
       *CSSValuePair::Create(horizontal_radii[2], vertical_radii[2],
                             CSSValuePair::kDropIdenticalValues),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBorderBottomLeftRadius, CSSPropertyBorderRadius,
+      CSSPropertyID::kBorderBottomLeftRadius, CSSPropertyID::kBorderRadius,
       *CSSValuePair::Create(horizontal_radii[3], vertical_radii[3],
                             CSSValuePair::kDropIdenticalValues),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/border_spacing_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/border_spacing_custom.cc
index 73ed905..906da1dd 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/border_spacing_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/border_spacing_custom.cc
@@ -32,13 +32,13 @@
   if (!vertical_spacing || !range.AtEnd())
     return false;
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitBorderHorizontalSpacing, CSSPropertyBorderSpacing,
-      *horizontal_spacing, important,
+      CSSPropertyID::kWebkitBorderHorizontalSpacing,
+      CSSPropertyID::kBorderSpacing, *horizontal_spacing, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitBorderVerticalSpacing, CSSPropertyBorderSpacing,
-      *vertical_spacing, important,
+      CSSPropertyID::kWebkitBorderVerticalSpacing,
+      CSSPropertyID::kBorderSpacing, *vertical_spacing, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/columns_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/columns_custom.cc
index 5968080..88af71b 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/columns_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/columns_custom.cc
@@ -35,12 +35,12 @@
   if (!column_count)
     column_count = CSSIdentifierValue::Create(CSSValueAuto);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyColumnWidth, CSSPropertyInvalid, *column_width, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kColumnWidth, CSSPropertyID::kInvalid, *column_width,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyColumnCount, CSSPropertyInvalid, *column_count, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kColumnCount, CSSPropertyID::kInvalid, *column_count,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/flex_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/flex_custom.cc
index 443787e..b3b2d3f 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/flex_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/flex_custom.cc
@@ -76,20 +76,20 @@
   if (!range.AtEnd())
     return false;
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFlexGrow, CSSPropertyFlex,
+      CSSPropertyID::kFlexGrow, CSSPropertyID::kFlex,
       *CSSPrimitiveValue::Create(clampTo<float>(flex_grow),
                                  CSSPrimitiveValue::UnitType::kNumber),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFlexShrink, CSSPropertyFlex,
+      CSSPropertyID::kFlexShrink, CSSPropertyID::kFlex,
       *CSSPrimitiveValue::Create(clampTo<float>(flex_shrink),
                                  CSSPrimitiveValue::UnitType::kNumber),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFlexBasis, CSSPropertyFlex, *flex_basis, important,
+      CSSPropertyID::kFlexBasis, CSSPropertyID::kFlex, *flex_basis, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/font_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/font_custom.cc
index e4b102d..86d21ae 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/font_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/font_custom.cc
@@ -36,19 +36,19 @@
                                      font_size, font_family);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontStyle, CSSPropertyFont,
+      CSSPropertyID::kFontStyle, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(
           font_style == ItalicSlopeValue() ? CSSValueItalic : CSSValueNormal),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontWeight, CSSPropertyFont,
+      CSSPropertyID::kFontWeight, CSSPropertyID::kFont,
       *CSSPrimitiveValue::Create(font_weight,
                                  CSSPrimitiveValue::UnitType::kNumber),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontSize, CSSPropertyFont,
+      CSSPropertyID::kFontSize, CSSPropertyID::kFont,
       *CSSPrimitiveValue::Create(font_size,
                                  CSSPrimitiveValue::UnitType::kPixels),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
@@ -57,37 +57,37 @@
   CSSValueList* font_family_list = CSSValueList::CreateCommaSeparated();
   font_family_list->Append(*CSSFontFamilyValue::Create(font_family));
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontFamily, CSSPropertyFont, *font_family_list, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kFontFamily, CSSPropertyID::kFont, *font_family_list,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontStretch, CSSPropertyFont,
+      CSSPropertyID::kFontStretch, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantCaps, CSSPropertyFont,
+      CSSPropertyID::kFontVariantCaps, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantLigatures, CSSPropertyFont,
+      CSSPropertyID::kFontVariantLigatures, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantNumeric, CSSPropertyFont,
+      CSSPropertyID::kFontVariantNumeric, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantEastAsian, CSSPropertyFont,
+      CSSPropertyID::kFontVariantEastAsian, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyLineHeight, CSSPropertyFont,
+      CSSPropertyID::kLineHeight, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
@@ -143,39 +143,39 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontStyle, CSSPropertyFont,
+      CSSPropertyID::kFontStyle, CSSPropertyID::kFont,
       font_style ? *font_style : *CSSIdentifierValue::Create(CSSValueNormal),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantCaps, CSSPropertyFont,
+      CSSPropertyID::kFontVariantCaps, CSSPropertyID::kFont,
       font_variant_caps ? *font_variant_caps
                         : *CSSIdentifierValue::Create(CSSValueNormal),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantLigatures, CSSPropertyFont,
+      CSSPropertyID::kFontVariantLigatures, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantNumeric, CSSPropertyFont,
+      CSSPropertyID::kFontVariantNumeric, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantEastAsian, CSSPropertyFont,
+      CSSPropertyID::kFontVariantEastAsian, CSSPropertyID::kFont,
       *CSSIdentifierValue::Create(CSSValueNormal), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontWeight, CSSPropertyFont,
+      CSSPropertyID::kFontWeight, CSSPropertyID::kFont,
       font_weight ? *font_weight : *CSSIdentifierValue::Create(CSSValueNormal),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontStretch, CSSPropertyFont,
+      CSSPropertyID::kFontStretch, CSSPropertyID::kFont,
       font_stretch ? *font_stretch
                    : *CSSIdentifierValue::Create(CSSValueNormal),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
@@ -188,7 +188,7 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontSize, CSSPropertyFont, *font_size, important,
+      CSSPropertyID::kFontSize, CSSPropertyID::kFont, *font_size, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
@@ -198,12 +198,13 @@
     if (!line_height)
       return false;
     css_property_parser_helpers::AddProperty(
-        CSSPropertyLineHeight, CSSPropertyFont, *line_height, important,
+        CSSPropertyID::kLineHeight, CSSPropertyID::kFont, *line_height,
+        important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   } else {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyLineHeight, CSSPropertyFont,
+        CSSPropertyID::kLineHeight, CSSPropertyID::kFont,
         *CSSIdentifierValue::Create(CSSValueNormal), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
@@ -215,8 +216,8 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontFamily, CSSPropertyFont, *parsed_family_value, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kFontFamily, CSSPropertyID::kFont, *parsed_family_value,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   // FIXME: http://www.w3.org/TR/2011/WD-css3-fonts-20110324/#font-prop requires
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/font_variant_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/font_variant_custom.cc
index e4fab73..a7f438a 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/font_variant_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/font_variant_custom.cc
@@ -24,22 +24,22 @@
   if (css_property_parser_helpers::IdentMatches<CSSValueNormal, CSSValueNone>(
           range.Peek().Id())) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyFontVariantLigatures, CSSPropertyFontVariant,
+        CSSPropertyID::kFontVariantLigatures, CSSPropertyID::kFontVariant,
         *css_property_parser_helpers::ConsumeIdent(range), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     css_property_parser_helpers::AddProperty(
-        CSSPropertyFontVariantCaps, CSSPropertyFontVariant,
+        CSSPropertyID::kFontVariantCaps, CSSPropertyID::kFontVariant,
         *CSSIdentifierValue::Create(CSSValueNormal), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     css_property_parser_helpers::AddProperty(
-        CSSPropertyFontVariantNumeric, CSSPropertyFontVariant,
+        CSSPropertyID::kFontVariantNumeric, CSSPropertyID::kFontVariant,
         *CSSIdentifierValue::Create(CSSValueNormal), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     css_property_parser_helpers::AddProperty(
-        CSSPropertyFontVariantEastAsian, CSSPropertyFontVariant,
+        CSSPropertyID::kFontVariantEastAsian, CSSPropertyID::kFontVariant,
         *CSSIdentifierValue::Create(CSSValueNormal), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
@@ -92,22 +92,22 @@
   } while (!range.AtEnd());
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantLigatures, CSSPropertyFontVariant,
+      CSSPropertyID::kFontVariantLigatures, CSSPropertyID::kFontVariant,
       *ligatures_parser.FinalizeValue(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantNumeric, CSSPropertyFontVariant,
+      CSSPropertyID::kFontVariantNumeric, CSSPropertyID::kFontVariant,
       *numeric_parser.FinalizeValue(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantEastAsian, CSSPropertyFontVariant,
+      CSSPropertyID::kFontVariantEastAsian, CSSPropertyID::kFontVariant,
       *east_asian_parser.FinalizeValue(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyFontVariantCaps, CSSPropertyFontVariant,
+      CSSPropertyID::kFontVariantCaps, CSSPropertyID::kFontVariant,
       caps_value ? *caps_value : *CSSIdentifierValue::Create(CSSValueNormal),
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/gap_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/gap_custom.cc
index 47016d2..2992c49 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/gap_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/gap_custom.cc
@@ -18,7 +18,7 @@
                          const CSSParserContext& context,
                          const CSSParserLocalContext&,
                          HeapVector<CSSPropertyValue, 256>& properties) const {
-  DCHECK_EQ(shorthandForProperty(CSSPropertyGap).length(), 2u);
+  DCHECK_EQ(shorthandForProperty(CSSPropertyID::kGap).length(), 2u);
   CSSValue* row_gap = css_parsing_utils::ConsumeGapLength(range, context);
   CSSValue* column_gap = css_parsing_utils::ConsumeGapLength(range, context);
   if (!row_gap || !range.AtEnd())
@@ -26,11 +26,11 @@
   if (!column_gap)
     column_gap = row_gap;
   css_property_parser_helpers::AddProperty(
-      CSSPropertyRowGap, CSSPropertyGap, *row_gap, important,
+      CSSPropertyID::kRowGap, CSSPropertyID::kGap, *row_gap, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyColumnGap, CSSPropertyGap, *column_gap, important,
+      CSSPropertyID::kColumnGap, CSSPropertyID::kGap, *column_gap, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_area_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_area_custom.cc
index 493bc85c..2735401f 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_area_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_area_custom.cc
@@ -62,21 +62,23 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridRowStart, CSSPropertyGridArea, *row_start_value, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
-      properties);
-  css_property_parser_helpers::AddProperty(
-      CSSPropertyGridColumnStart, CSSPropertyGridArea, *column_start_value,
+      CSSPropertyID::kGridRowStart, CSSPropertyID::kGridArea, *row_start_value,
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridRowEnd, CSSPropertyGridArea, *row_end_value, important,
+      CSSPropertyID::kGridColumnStart, CSSPropertyID::kGridArea,
+      *column_start_value, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridColumnEnd, CSSPropertyGridArea, *column_end_value,
+      CSSPropertyID::kGridRowEnd, CSSPropertyID::kGridArea, *row_end_value,
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
+  css_property_parser_helpers::AddProperty(
+      CSSPropertyID::kGridColumnEnd, CSSPropertyID::kGridArea,
+      *column_end_value, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      properties);
   return true;
 }
 
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_column_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_column_custom.cc
index 94884442..c73349e 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_column_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_column_custom.cc
@@ -21,7 +21,7 @@
     const CSSParserLocalContext&,
     HeapVector<CSSPropertyValue, 256>& properties) const {
   const StylePropertyShorthand& shorthand =
-      shorthandForProperty(CSSPropertyGridColumn);
+      shorthandForProperty(CSSPropertyID::kGridColumn);
   DCHECK_EQ(shorthand.length(), 2u);
 
   CSSValue* start_value = nullptr;
@@ -32,12 +32,12 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      shorthand.properties()[0]->PropertyID(), CSSPropertyGridColumn,
+      shorthand.properties()[0]->PropertyID(), CSSPropertyID::kGridColumn,
       *start_value, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      shorthand.properties()[1]->PropertyID(), CSSPropertyGridColumn,
+      shorthand.properties()[1]->PropertyID(), CSSPropertyID::kGridColumn,
       *end_value, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_column_gap_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_column_gap_custom.cc
index e40ef50..a62bc27 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_column_gap_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_column_gap_custom.cc
@@ -23,8 +23,8 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyColumnGap, CSSPropertyGridColumnGap, *gap_length, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kColumnGap, CSSPropertyID::kGridColumnGap, *gap_length,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_custom.cc
index ac57385e..bb580be 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_custom.cc
@@ -46,7 +46,7 @@
                           const CSSParserContext& context,
                           const CSSParserLocalContext&,
                           HeapVector<CSSPropertyValue, 256>& properties) const {
-  DCHECK_EQ(shorthandForProperty(CSSPropertyGrid).length(), 6u);
+  DCHECK_EQ(shorthandForProperty(CSSPropertyID::kGrid).length(), 6u);
 
   CSSParserTokenRange range_copy = range;
 
@@ -62,17 +62,18 @@
     DCHECK(template_areas);
 
     css_property_parser_helpers::AddProperty(
-        CSSPropertyGridTemplateRows, CSSPropertyGrid, *template_rows, important,
-        css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
-        properties);
-    css_property_parser_helpers::AddProperty(
-        CSSPropertyGridTemplateColumns, CSSPropertyGrid, *template_columns,
+        CSSPropertyID::kGridTemplateRows, CSSPropertyID::kGrid, *template_rows,
         important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     css_property_parser_helpers::AddProperty(
-        CSSPropertyGridTemplateAreas, CSSPropertyGrid, *template_areas,
-        important,
+        CSSPropertyID::kGridTemplateColumns, CSSPropertyID::kGrid,
+        *template_columns, important,
+        css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+        properties);
+    css_property_parser_helpers::AddProperty(
+        CSSPropertyID::kGridTemplateAreas, CSSPropertyID::kGrid,
+        *template_areas, important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
 
@@ -80,18 +81,18 @@
     // a single grid declaration. The sub-properties not specified are set to
     // their initial value, as normal for shorthands.
     css_property_parser_helpers::AddProperty(
-        CSSPropertyGridAutoFlow, CSSPropertyGrid, *CSSInitialValue::Create(),
-        important,
+        CSSPropertyID::kGridAutoFlow, CSSPropertyID::kGrid,
+        *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     css_property_parser_helpers::AddProperty(
-        CSSPropertyGridAutoColumns, CSSPropertyGrid, *CSSInitialValue::Create(),
-        important,
+        CSSPropertyID::kGridAutoColumns, CSSPropertyID::kGrid,
+        *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     css_property_parser_helpers::AddProperty(
-        CSSPropertyGridAutoRows, CSSPropertyGrid, *CSSInitialValue::Create(),
-        important,
+        CSSPropertyID::kGridAutoRows, CSSPropertyID::kGrid,
+        *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     return true;
@@ -162,29 +163,32 @@
   // single grid declaration. The sub-properties not specified are set to their
   // initial value, as normal for shorthands.
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridTemplateColumns, CSSPropertyGrid, *template_columns,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
-      properties);
-  css_property_parser_helpers::AddProperty(
-      CSSPropertyGridTemplateRows, CSSPropertyGrid, *template_rows, important,
+      CSSPropertyID::kGridTemplateColumns, CSSPropertyID::kGrid,
+      *template_columns, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridTemplateAreas, CSSPropertyGrid, *CSSInitialValue::Create(),
+      CSSPropertyID::kGridTemplateRows, CSSPropertyID::kGrid, *template_rows,
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridAutoFlow, CSSPropertyGrid, *grid_auto_flow, important,
+      CSSPropertyID::kGridTemplateAreas, CSSPropertyID::kGrid,
+      *CSSInitialValue::Create(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridAutoColumns, CSSPropertyGrid, *auto_columns_value,
+      CSSPropertyID::kGridAutoFlow, CSSPropertyID::kGrid, *grid_auto_flow,
       important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridAutoRows, CSSPropertyGrid, *auto_rows_value, important,
+      CSSPropertyID::kGridAutoColumns, CSSPropertyID::kGrid,
+      *auto_columns_value, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
+  css_property_parser_helpers::AddProperty(
+      CSSPropertyID::kGridAutoRows, CSSPropertyID::kGrid, *auto_rows_value,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      properties);
   return true;
 }
 
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_gap_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_gap_custom.cc
index a78285a..9757506 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_gap_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_gap_custom.cc
@@ -20,7 +20,7 @@
     const CSSParserContext& context,
     const CSSParserLocalContext&,
     HeapVector<CSSPropertyValue, 256>& properties) const {
-  DCHECK_EQ(shorthandForProperty(CSSPropertyGridGap).length(), 2u);
+  DCHECK_EQ(shorthandForProperty(CSSPropertyID::kGridGap).length(), 2u);
   CSSValue* row_gap = css_parsing_utils::ConsumeGapLength(range, context);
   CSSValue* column_gap = css_parsing_utils::ConsumeGapLength(range, context);
   if (!row_gap || !range.AtEnd())
@@ -28,11 +28,11 @@
   if (!column_gap)
     column_gap = row_gap;
   css_property_parser_helpers::AddProperty(
-      CSSPropertyRowGap, CSSPropertyGap, *row_gap, important,
+      CSSPropertyID::kRowGap, CSSPropertyID::kGap, *row_gap, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyColumnGap, CSSPropertyGap, *column_gap, important,
+      CSSPropertyID::kColumnGap, CSSPropertyID::kGap, *column_gap, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_row_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_row_custom.cc
index 11877a4..25ee58f 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_row_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_row_custom.cc
@@ -21,7 +21,7 @@
     const CSSParserLocalContext&,
     HeapVector<CSSPropertyValue, 256>& properties) const {
   const StylePropertyShorthand& shorthand =
-      shorthandForProperty(CSSPropertyGridRow);
+      shorthandForProperty(CSSPropertyID::kGridRow);
   DCHECK_EQ(shorthand.length(), 2u);
 
   CSSValue* start_value = nullptr;
@@ -32,12 +32,14 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      shorthand.properties()[0]->PropertyID(), CSSPropertyGridRow, *start_value,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      shorthand.properties()[0]->PropertyID(), CSSPropertyID::kGridRow,
+      *start_value, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      shorthand.properties()[1]->PropertyID(), CSSPropertyGridRow, *end_value,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      shorthand.properties()[1]->PropertyID(), CSSPropertyID::kGridRow,
+      *end_value, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_row_gap_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_row_gap_custom.cc
index 3a35691..8afab5d9 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_row_gap_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_row_gap_custom.cc
@@ -23,8 +23,8 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyRowGap, CSSPropertyGridRowGap, *gap_length, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kRowGap, CSSPropertyID::kGridRowGap, *gap_length,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/grid_template_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/grid_template_custom.cc
index 514539f..1e07f6a 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/grid_template_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/grid_template_custom.cc
@@ -34,17 +34,19 @@
   DCHECK(template_areas);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridTemplateRows, CSSPropertyGridTemplate, *template_rows,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kGridTemplateRows, CSSPropertyID::kGridTemplate,
+      *template_rows, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridTemplateColumns, CSSPropertyGridTemplate,
+      CSSPropertyID::kGridTemplateColumns, CSSPropertyID::kGridTemplate,
       *template_columns, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyGridTemplateAreas, CSSPropertyGridTemplate, *template_areas,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kGridTemplateAreas, CSSPropertyID::kGridTemplate,
+      *template_areas, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/marker_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/marker_custom.cc
index 5f304bfb..4e45871b 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/marker_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/marker_custom.cc
@@ -16,20 +16,20 @@
     const CSSParserLocalContext&,
     HeapVector<CSSPropertyValue, 256>& properties) const {
   const CSSValue* marker = css_property_parser_helpers::ParseLonghand(
-      CSSPropertyMarkerStart, CSSPropertyMarker, context, range);
+      CSSPropertyID::kMarkerStart, CSSPropertyID::kMarker, context, range);
   if (!marker || !range.AtEnd())
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyMarkerStart, CSSPropertyMarker, *marker, important,
+      CSSPropertyID::kMarkerStart, CSSPropertyID::kMarker, *marker, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyMarkerMid, CSSPropertyMarker, *marker, important,
+      CSSPropertyID::kMarkerMid, CSSPropertyID::kMarker, *marker, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyMarkerEnd, CSSPropertyMarker, *marker, important,
+      CSSPropertyID::kMarkerEnd, CSSPropertyID::kMarker, *marker, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/offset_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/offset_custom.cc
index 7a921e9..d7c2153c 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/offset_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/offset_custom.cc
@@ -60,13 +60,13 @@
 
   if (offset_position) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetPosition, CSSPropertyOffset, *offset_position,
-        important,
+        CSSPropertyID::kOffsetPosition, CSSPropertyID::kOffset,
+        *offset_position, important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   } else if (RuntimeEnabledFeatures::CSSOffsetPositionAnchorEnabled()) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetPosition, CSSPropertyOffset,
+        CSSPropertyID::kOffsetPosition, CSSPropertyID::kOffset,
         *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
@@ -74,26 +74,27 @@
 
   if (offset_path) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetPath, CSSPropertyOffset, *offset_path, important,
+        CSSPropertyID::kOffsetPath, CSSPropertyID::kOffset, *offset_path,
+        important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   } else {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetPath, CSSPropertyOffset, *CSSInitialValue::Create(),
-        important,
+        CSSPropertyID::kOffsetPath, CSSPropertyID::kOffset,
+        *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   }
 
   if (offset_distance) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetDistance, CSSPropertyOffset, *offset_distance,
-        important,
+        CSSPropertyID::kOffsetDistance, CSSPropertyID::kOffset,
+        *offset_distance, important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   } else {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetDistance, CSSPropertyOffset,
+        CSSPropertyID::kOffsetDistance, CSSPropertyID::kOffset,
         *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
@@ -101,26 +102,28 @@
 
   if (offset_rotate) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetRotate, CSSPropertyOffset, *offset_rotate, important,
+        CSSPropertyID::kOffsetRotate, CSSPropertyID::kOffset, *offset_rotate,
+        important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   } else {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetRotate, CSSPropertyOffset, *CSSInitialValue::Create(),
-        important,
+        CSSPropertyID::kOffsetRotate, CSSPropertyID::kOffset,
+        *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   }
 
   if (offset_anchor) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetAnchor, CSSPropertyOffset, *offset_anchor, important,
+        CSSPropertyID::kOffsetAnchor, CSSPropertyID::kOffset, *offset_anchor,
+        important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   } else if (RuntimeEnabledFeatures::CSSOffsetPositionAnchorEnabled()) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyOffsetAnchor, CSSPropertyOffset, *CSSInitialValue::Create(),
-        important,
+        CSSPropertyID::kOffsetAnchor, CSSPropertyID::kOffset,
+        *CSSInitialValue::Create(), important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
   }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/overflow_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/overflow_custom.cc
index 47d279ac..3ea1b48 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/overflow_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/overflow_custom.cc
@@ -28,11 +28,11 @@
     x_id = y_id;
     y_id = range.ConsumeIncludingWhitespace().Id();
     if (!CSSParserFastPaths::IsValidKeywordPropertyAndValue(
-            CSSPropertyOverflowX, x_id, context.Mode()))
+            CSSPropertyID::kOverflowX, x_id, context.Mode()))
       return false;
   }
-  if (!CSSParserFastPaths::IsValidKeywordPropertyAndValue(CSSPropertyOverflowY,
-                                                          y_id, context.Mode()))
+  if (!CSSParserFastPaths::IsValidKeywordPropertyAndValue(
+          CSSPropertyID::kOverflowY, y_id, context.Mode()))
     return false;
   if (!range.AtEnd())
     return false;
@@ -52,12 +52,12 @@
   else
     overflow_x_value = overflow_y_value;
   css_property_parser_helpers::AddProperty(
-      CSSPropertyOverflowX, CSSPropertyOverflow, *overflow_x_value, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kOverflowX, CSSPropertyID::kOverflow, *overflow_x_value,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyOverflowY, CSSPropertyOverflow, *overflow_y_value, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kOverflowY, CSSPropertyID::kOverflow, *overflow_y_value,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/page_break_after_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/page_break_after_custom.cc
index 44e8dd9..721f11f 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/page_break_after_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/page_break_after_custom.cc
@@ -25,7 +25,7 @@
 
   DCHECK_NE(value, CSSValueInvalid);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBreakAfter, CSSPropertyPageBreakAfter,
+      CSSPropertyID::kBreakAfter, CSSPropertyID::kPageBreakAfter,
       *CSSIdentifierValue::Create(value), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/page_break_before_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/page_break_before_custom.cc
index a9958fb..63fae19 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/page_break_before_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/page_break_before_custom.cc
@@ -25,7 +25,7 @@
 
   DCHECK_NE(value, CSSValueInvalid);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBreakBefore, CSSPropertyPageBreakBefore,
+      CSSPropertyID::kBreakBefore, CSSPropertyID::kPageBreakBefore,
       *CSSIdentifierValue::Create(value), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/page_break_inside_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/page_break_inside_custom.cc
index 0860022..b5872d1 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/page_break_inside_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/page_break_inside_custom.cc
@@ -24,7 +24,7 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBreakInside, CSSPropertyPageBreakInside,
+      CSSPropertyID::kBreakInside, CSSPropertyID::kPageBreakInside,
       *CSSIdentifierValue::Create(value), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/place_content_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/place_content_custom.cc
index 70d2a9d..18bff370 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/place_content_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/place_content_custom.cc
@@ -20,7 +20,7 @@
     const CSSParserContext& context,
     const CSSParserLocalContext& local_context,
     HeapVector<CSSPropertyValue, 256>& properties) const {
-  DCHECK_EQ(shorthandForProperty(CSSPropertyPlaceContent).length(), 2u);
+  DCHECK_EQ(shorthandForProperty(CSSPropertyID::kPlaceContent).length(), 2u);
 
   CSSParserTokenRange range_copy = range;
   const CSSValue* align_content_value =
@@ -42,11 +42,12 @@
   DCHECK(justify_content_value);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyAlignContent, CSSPropertyPlaceContent, *align_content_value,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kAlignContent, CSSPropertyID::kPlaceContent,
+      *align_content_value, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyJustifyContent, CSSPropertyPlaceContent,
+      CSSPropertyID::kJustifyContent, CSSPropertyID::kPlaceContent,
       *justify_content_value, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/place_items_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/place_items_custom.cc
index bb3fc0b9..fd0f92c 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/place_items_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/place_items_custom.cc
@@ -20,7 +20,7 @@
     const CSSParserContext& context,
     const CSSParserLocalContext& local_context,
     HeapVector<CSSPropertyValue, 256>& properties) const {
-  DCHECK_EQ(shorthandForProperty(CSSPropertyPlaceItems).length(), 2u);
+  DCHECK_EQ(shorthandForProperty(CSSPropertyID::kPlaceItems).length(), 2u);
 
   CSSParserTokenRange range_copy = range;
   const CSSValue* align_items_value =
@@ -42,12 +42,14 @@
   DCHECK(justify_items_value);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyAlignItems, CSSPropertyPlaceItems, *align_items_value,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kAlignItems, CSSPropertyID::kPlaceItems,
+      *align_items_value, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyJustifyItems, CSSPropertyPlaceItems, *justify_items_value,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kJustifyItems, CSSPropertyID::kPlaceItems,
+      *justify_items_value, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/place_self_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/place_self_custom.cc
index 639ae9d..c5658779 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/place_self_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/place_self_custom.cc
@@ -20,7 +20,7 @@
     const CSSParserContext& context,
     const CSSParserLocalContext& local_context,
     HeapVector<CSSPropertyValue, 256>& properties) const {
-  DCHECK_EQ(shorthandForProperty(CSSPropertyPlaceSelf).length(), 2u);
+  DCHECK_EQ(shorthandForProperty(CSSPropertyID::kPlaceSelf).length(), 2u);
 
   CSSParserTokenRange range_copy = range;
   const CSSValue* align_self_value =
@@ -42,12 +42,13 @@
   DCHECK(justify_self_value);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyAlignSelf, CSSPropertyPlaceSelf, *align_self_value, important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kAlignSelf, CSSPropertyID::kPlaceSelf, *align_self_value,
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyJustifySelf, CSSPropertyPlaceSelf, *justify_self_value,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kJustifySelf, CSSPropertyID::kPlaceSelf,
+      *justify_self_value, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   return true;
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/transition_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/transition_custom.cc
index e68f627..a668fe3 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/transition_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/transition_custom.cc
@@ -21,14 +21,14 @@
                                  const CSSParserContext& context,
                                  bool use_legacy_parsing) {
   switch (property) {
-    case CSSPropertyTransitionDelay:
+    case CSSPropertyID::kTransitionDelay:
       return css_property_parser_helpers::ConsumeTime(range, kValueRangeAll);
-    case CSSPropertyTransitionDuration:
+    case CSSPropertyID::kTransitionDuration:
       return css_property_parser_helpers::ConsumeTime(range,
                                                       kValueRangeNonNegative);
-    case CSSPropertyTransitionProperty:
+    case CSSPropertyID::kTransitionProperty:
       return css_parsing_utils::ConsumeTransitionProperty(range, context);
-    case CSSPropertyTransitionTimingFunction:
+    case CSSPropertyID::kTransitionTimingFunction:
       return css_parsing_utils::ConsumeAnimationTimingFunction(range);
     default:
       NOTREACHED();
@@ -57,7 +57,8 @@
   }
 
   for (unsigned i = 0; i < longhand_count; ++i) {
-    if (shorthand.properties()[i]->IDEquals(CSSPropertyTransitionProperty) &&
+    if (shorthand.properties()[i]->IDEquals(
+            CSSPropertyID::kTransitionProperty) &&
         !css_parsing_utils::IsValidPropertyList(*longhands[i]))
       return false;
   }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_after_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_after_custom.cc
index bd9fad4..09ef9b3 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_after_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_after_custom.cc
@@ -24,7 +24,7 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBreakAfter, CSSPropertyWebkitColumnBreakAfter,
+      CSSPropertyID::kBreakAfter, CSSPropertyID::kWebkitColumnBreakAfter,
       *CSSIdentifierValue::Create(value), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_before_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_before_custom.cc
index cd9807b..555a97e3 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_before_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_before_custom.cc
@@ -24,7 +24,7 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBreakBefore, CSSPropertyWebkitColumnBreakBefore,
+      CSSPropertyID::kBreakBefore, CSSPropertyID::kWebkitColumnBreakBefore,
       *CSSIdentifierValue::Create(value), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_inside_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_inside_custom.cc
index 8265c94..0b768c8 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_inside_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/webkit_column_break_inside_custom.cc
@@ -24,7 +24,7 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyBreakInside, CSSPropertyWebkitColumnBreakInside,
+      CSSPropertyID::kBreakInside, CSSPropertyID::kWebkitColumnBreakInside,
       *CSSIdentifierValue::Create(value), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/webkit_margin_collapse_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/webkit_margin_collapse_custom.cc
index abb474f6..1f2517a 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/webkit_margin_collapse_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/webkit_margin_collapse_custom.cc
@@ -20,20 +20,20 @@
     HeapVector<CSSPropertyValue, 256>& properties) const {
   CSSValueID id = range.ConsumeIncludingWhitespace().Id();
   if (!CSSParserFastPaths::IsValidKeywordPropertyAndValue(
-          CSSPropertyWebkitMarginBeforeCollapse, id, context.Mode()))
+          CSSPropertyID::kWebkitMarginBeforeCollapse, id, context.Mode()))
     return false;
 
   CSSValue* before_collapse = CSSIdentifierValue::Create(id);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMarginBeforeCollapse, CSSPropertyWebkitMarginCollapse,
-      *before_collapse, important,
+      CSSPropertyID::kWebkitMarginBeforeCollapse,
+      CSSPropertyID::kWebkitMarginCollapse, *before_collapse, important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   if (range.AtEnd()) {
     css_property_parser_helpers::AddProperty(
-        CSSPropertyWebkitMarginAfterCollapse, CSSPropertyWebkitMarginCollapse,
-        *before_collapse, important,
+        CSSPropertyID::kWebkitMarginAfterCollapse,
+        CSSPropertyID::kWebkitMarginCollapse, *before_collapse, important,
         css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
         properties);
     return true;
@@ -41,12 +41,12 @@
 
   id = range.ConsumeIncludingWhitespace().Id();
   if (!CSSParserFastPaths::IsValidKeywordPropertyAndValue(
-          CSSPropertyWebkitMarginAfterCollapse, id, context.Mode()))
+          CSSPropertyID::kWebkitMarginAfterCollapse, id, context.Mode()))
     return false;
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMarginAfterCollapse, CSSPropertyWebkitMarginCollapse,
-      *CSSIdentifierValue::Create(id), important,
-      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kWebkitMarginAfterCollapse,
+      CSSPropertyID::kWebkitMarginCollapse, *CSSIdentifierValue::Create(id),
+      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_box_image_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_box_image_custom.cc
index 5bc3049..65f1141b 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_box_image_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_box_image_custom.cc
@@ -33,27 +33,32 @@
   }
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskBoxImageSource, CSSPropertyWebkitMaskBoxImage,
+      CSSPropertyID::kWebkitMaskBoxImageSource,
+      CSSPropertyID::kWebkitMaskBoxImage,
       source ? *source : *CSSInitialValue::Create(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskBoxImageSlice, CSSPropertyWebkitMaskBoxImage,
+      CSSPropertyID::kWebkitMaskBoxImageSlice,
+      CSSPropertyID::kWebkitMaskBoxImage,
       slice ? *slice : *CSSInitialValue::Create(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskBoxImageWidth, CSSPropertyWebkitMaskBoxImage,
+      CSSPropertyID::kWebkitMaskBoxImageWidth,
+      CSSPropertyID::kWebkitMaskBoxImage,
       width ? *width : *CSSInitialValue::Create(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskBoxImageOutset, CSSPropertyWebkitMaskBoxImage,
+      CSSPropertyID::kWebkitMaskBoxImageOutset,
+      CSSPropertyID::kWebkitMaskBoxImage,
       outset ? *outset : *CSSInitialValue::Create(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskBoxImageRepeat, CSSPropertyWebkitMaskBoxImage,
+      CSSPropertyID::kWebkitMaskBoxImageRepeat,
+      CSSPropertyID::kWebkitMaskBoxImage,
       repeat ? *repeat : *CSSInitialValue::Create(), important,
       css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_position_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_position_custom.cc
index d074664..b16fc37 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_position_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_position_custom.cc
@@ -29,13 +29,15 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskPositionX, CSSPropertyWebkitMaskPosition, *result_x,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kWebkitMaskPositionX, CSSPropertyID::kWebkitMaskPosition,
+      *result_x, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskPositionY, CSSPropertyWebkitMaskPosition, *result_y,
-      important, css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
+      CSSPropertyID::kWebkitMaskPositionY, CSSPropertyID::kWebkitMaskPosition,
+      *result_y, important,
+      css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   return true;
 }
diff --git a/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_repeat_custom.cc b/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_repeat_custom.cc
index 5850005..3f4c3c8 100644
--- a/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_repeat_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/shorthands/webkit_mask_repeat_custom.cc
@@ -30,14 +30,14 @@
     return false;
 
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskRepeatX, CSSPropertyWebkitMaskRepeat, *result_x,
-      important,
+      CSSPropertyID::kWebkitMaskRepeatX, CSSPropertyID::kWebkitMaskRepeat,
+      *result_x, important,
       implicit ? css_property_parser_helpers::IsImplicitProperty::kImplicit
                : css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
   css_property_parser_helpers::AddProperty(
-      CSSPropertyWebkitMaskRepeatY, CSSPropertyWebkitMaskRepeat, *result_y,
-      important,
+      CSSPropertyID::kWebkitMaskRepeatY, CSSPropertyID::kWebkitMaskRepeat,
+      *result_y, important,
       implicit ? css_property_parser_helpers::IsImplicitProperty::kImplicit
                : css_property_parser_helpers::IsImplicitProperty::kNotImplicit,
       properties);
diff --git a/third_party/blink/renderer/core/css/resolver/animated_style_builder.cc b/third_party/blink/renderer/core/css/resolver/animated_style_builder.cc
index ebdda1e7..ff7eb3b 100644
--- a/third_party/blink/renderer/core/css/resolver/animated_style_builder.cc
+++ b/third_party/blink/renderer/core/css/resolver/animated_style_builder.cc
@@ -47,12 +47,12 @@
   DCHECK(CSSProperty::Get(property).IsInterpolable());
 #endif
   switch (property) {
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kOpacity:
       // Avoiding a value of 1 forces a layer to be created.
       style.SetOpacity(clampTo<float>(ToAnimatableDouble(value)->ToDouble(), 0,
                                       nextafterf(1, 0)));
       return;
-    case CSSPropertyTransform: {
+    case CSSPropertyID::kTransform: {
       const TransformOperations& operations =
           ToAnimatableTransform(value)->GetTransformOperations();
       // FIXME: This normalization (handling of 'none') should be performed at
@@ -68,7 +68,7 @@
                              : operations.Zoom(destination_zoom / source_zoom));
       return;
     }
-    case CSSPropertyFilter:
+    case CSSPropertyID::kFilter:
       style.SetFilter(ToAnimatableFilterOperations(value)->Operations());
       return;
 
diff --git a/third_party/blink/renderer/core/css/resolver/css_property_priority.h b/third_party/blink/renderer/core/css/resolver/css_property_priority.h
index 602c359..6b57d119 100644
--- a/third_party/blink/renderer/core/css/resolver/css_property_priority.h
+++ b/third_party/blink/renderer/core/css/resolver/css_property_priority.h
@@ -40,22 +40,23 @@
 inline CSSPropertyID CSSPropertyPriorityData<kResolveVariables>::First() {
   static_assert(
       static_cast<int>(CSSPropertyID::kVariable) == kIntFirstCSSProperty - 1,
-      "CSSPropertyVariable should be directly before the first CSS property.");
-  return CSSPropertyVariable;
+      "CSSPropertyID::kVariable should be directly before the first CSS "
+      "property.");
+  return CSSPropertyID::kVariable;
 }
 
 template <>
 inline CSSPropertyID CSSPropertyPriorityData<kResolveVariables>::Last() {
-  return CSSPropertyVariable;
+  return CSSPropertyID::kVariable;
 }
 
 template <>
 inline CSSPropertyID
 CSSPropertyPriorityData<kAnimationPropertyPriority>::First() {
-  static_assert(CSSPropertyAnimationDelay == firstCSSProperty,
-                "CSSPropertyAnimationDelay should be the first animation "
+  static_assert(CSSPropertyID::kAnimationDelay == firstCSSProperty,
+                "CSSPropertyID::kAnimationDelay should be the first animation "
                 "priority property");
-  return CSSPropertyAnimationDelay;
+  return CSSPropertyID::kAnimationDelay;
 }
 
 template <>
@@ -64,14 +65,14 @@
   static_assert(
       static_cast<int>(CSSPropertyID::kTransitionTimingFunction) ==
           static_cast<int>(CSSPropertyID::kAnimationDelay) + 11,
-      "CSSPropertyTransitionTimingFunction should be the end of the high "
+      "CSSPropertyID::kTransitionTimingFunction should be the end of the high "
       "priority property range");
   static_assert(
-      static_cast<int>(CSSPropertyColor) ==
-          static_cast<int>(CSSPropertyTransitionTimingFunction) + 1,
-      "CSSPropertyTransitionTimingFunction should be immediately before "
-      "CSSPropertyColor");
-  return CSSPropertyTransitionTimingFunction;
+      static_cast<int>(CSSPropertyID::kColor) ==
+          static_cast<int>(CSSPropertyID::kTransitionTimingFunction) + 1,
+      "CSSPropertyID::kTransitionTimingFunction should be immediately before "
+      "CSSPropertyID::kColor");
+  return CSSPropertyID::kTransitionTimingFunction;
 }
 
 template <>
@@ -79,21 +80,21 @@
   static_assert(
       static_cast<int>(CSSPropertyID::kColor) ==
           static_cast<int>(CSSPropertyID::kTransitionTimingFunction) + 1,
-      "CSSPropertyColor should be the first high priority property");
-  return CSSPropertyColor;
+      "CSSPropertyID::kColor should be the first high priority property");
+  return CSSPropertyID::kColor;
 }
 
 template <>
 inline CSSPropertyID CSSPropertyPriorityData<kHighPropertyPriority>::Last() {
-  static_assert(
-      static_cast<int>(CSSPropertyID::kZoom) ==
-          static_cast<int>(CSSPropertyID::kColor) + 22,
-      "CSSPropertyZoom should be the end of the high priority property range");
+  static_assert(static_cast<int>(CSSPropertyID::kZoom) ==
+                    static_cast<int>(CSSPropertyID::kColor) + 22,
+                "CSSPropertyID::kZoom should be the end of the high priority "
+                "property range");
   static_assert(static_cast<int>(CSSPropertyID::kWritingMode) ==
                     static_cast<int>(CSSPropertyID::kZoom) - 1,
-                "CSSPropertyWritingMode should be immediately before "
-                "CSSPropertyZoom");
-  return CSSPropertyZoom;
+                "CSSPropertyID::kWritingMode should be immediately before "
+                "CSSPropertyID::kZoom");
+  return CSSPropertyID::kZoom;
 }
 
 template <>
@@ -101,8 +102,8 @@
   static_assert(
       static_cast<int>(CSSPropertyID::kAlignContent) ==
           static_cast<int>(CSSPropertyID::kZoom) + 1,
-      "CSSPropertyAlignContent should be the first low priority property");
-  return CSSPropertyAlignContent;
+      "CSSPropertyID::kAlignContent should be the first low priority property");
+  return CSSPropertyID::kAlignContent;
 }
 
 template <>
diff --git a/third_party/blink/renderer/core/css/resolver/css_to_style_map.cc b/third_party/blink/renderer/core/css/resolver/css_to_style_map.cc
index 6c9dc83..a97c3a6 100644
--- a/third_party/blink/renderer/core/css/resolver/css_to_style_map.cc
+++ b/third_party/blink/renderer/core/css/resolver/css_to_style_map.cc
@@ -143,8 +143,8 @@
   }
 
   CSSPropertyID property = layer->GetType() == EFillLayerType::kBackground
-                               ? CSSPropertyBackgroundImage
-                               : CSSPropertyWebkitMaskImage;
+                               ? CSSPropertyID::kBackgroundImage
+                               : CSSPropertyID::kWebkitMaskImage;
   layer->SetImage(state.GetStyleImage(property, value));
 }
 
@@ -479,10 +479,10 @@
 
   // Set the image (this kicks off the load).
   CSSPropertyID image_property;
-  if (property == CSSPropertyWebkitBorderImage)
-    image_property = CSSPropertyBorderImageSource;
-  else if (property == CSSPropertyWebkitMaskBoxImage)
-    image_property = CSSPropertyWebkitMaskBoxImageSource;
+  if (property == CSSPropertyID::kWebkitBorderImage)
+    image_property = CSSPropertyID::kBorderImageSource;
+  else if (property == CSSPropertyID::kWebkitMaskBoxImage)
+    image_property = CSSPropertyID::kWebkitMaskBoxImageSource;
   else
     image_property = property;
 
@@ -515,7 +515,7 @@
     }
   }
 
-  if (property == CSSPropertyWebkitBorderImage) {
+  if (property == CSSPropertyID::kWebkitBorderImage) {
     // We have to preserve the legacy behavior of -webkit-border-image and make
     // the border slices also set the border widths. We don't need to worry
     // about percentages, since we don't even support those on real borders yet.
diff --git a/third_party/blink/renderer/core/css/resolver/css_variable_resolver.cc b/third_party/blink/renderer/core/css/resolver/css_variable_resolver.cc
index 331a72d..1c5f652 100644
--- a/third_party/blink/renderer/core/css/resolver/css_variable_resolver.cc
+++ b/third_party/blink/renderer/core/css/resolver/css_variable_resolver.cc
@@ -448,7 +448,7 @@
   Options options;
   options.disallow_animation_tainted = disallow_animation_tainted;
 
-  if (id == CSSPropertyFontSize) {
+  if (id == CSSPropertyID::kFontSize) {
     bool is_root =
         state_.GetElement() &&
         state_.GetElement() == state_.GetDocument().documentElement();
diff --git a/third_party/blink/renderer/core/css/resolver/element_style_resources.cc b/third_party/blink/renderer/core/css/resolver/element_style_resources.cc
index 270e9c73..a64eeb5 100644
--- a/third_party/blink/renderer/core/css/resolver/element_style_resources.cc
+++ b/third_party/blink/renderer/core/css/resolver/element_style_resources.cc
@@ -188,8 +188,8 @@
   // <div></div>
   //
   // We call styleImage() for both a.png and b.png adding the
-  // CSSPropertyBackgroundImage property to the pending_image_properties_ set,
-  // then we null out the background image because of the "none".
+  // CSSPropertyID::kBackgroundImage property to the pending_image_properties_
+  // set, then we null out the background image because of the "none".
   //
   // If we eagerly loaded the images we'd fetch a.png, even though it's not
   // used. If we didn't null check below we'd crash since the none actually
@@ -197,7 +197,7 @@
 
   for (CSSPropertyID property : pending_image_properties_) {
     switch (property) {
-      case CSSPropertyBackgroundImage: {
+      case CSSPropertyID::kBackgroundImage: {
         for (FillLayer* background_layer = &style->AccessBackgroundLayers();
              background_layer; background_layer = background_layer->Next()) {
           StyleImage* background_image = background_layer->GetImage();
@@ -225,7 +225,7 @@
         }
         break;
       }
-      case CSSPropertyContent: {
+      case CSSPropertyID::kContent: {
         for (ContentData* content_data =
                  const_cast<ContentData*>(style->GetContentData());
              content_data; content_data = content_data->Next()) {
@@ -241,7 +241,7 @@
         }
         break;
       }
-      case CSSPropertyCursor: {
+      case CSSPropertyID::kCursor: {
         if (CursorList* cursor_list = style->Cursors()) {
           for (wtf_size_t i = 0; i < cursor_list->size(); ++i) {
             CursorData& current_cursor = cursor_list->at(i);
@@ -257,7 +257,7 @@
         }
         break;
       }
-      case CSSPropertyListStyleImage: {
+      case CSSPropertyID::kListStyleImage: {
         if (style->ListStyleImage() &&
             style->ListStyleImage()->IsPendingImage()) {
           // List style images shouldn't be replaced with placeholders
@@ -267,7 +267,7 @@
         }
         break;
       }
-      case CSSPropertyBorderImageSource: {
+      case CSSPropertyID::kBorderImageSource: {
         if (style->BorderImageSource() &&
             style->BorderImageSource()->IsPendingImage()) {
           // Border images shouldn't be replaced with placeholders
@@ -277,7 +277,7 @@
         }
         break;
       }
-      case CSSPropertyWebkitBoxReflect: {
+      case CSSPropertyID::kWebkitBoxReflect: {
         if (StyleReflection* reflection = style->BoxReflect()) {
           const NinePieceImage& mask_image = reflection->Mask();
           if (mask_image.GetImage() &&
@@ -293,7 +293,7 @@
         }
         break;
       }
-      case CSSPropertyWebkitMaskBoxImageSource: {
+      case CSSPropertyID::kWebkitMaskBoxImageSource: {
         if (style->MaskBoxImageSource() &&
             style->MaskBoxImageSource()->IsPendingImage()) {
           style->SetMaskBoxImageSource(LoadPendingImage(
@@ -302,7 +302,7 @@
         }
         break;
       }
-      case CSSPropertyWebkitMaskImage: {
+      case CSSPropertyID::kWebkitMaskImage: {
         for (FillLayer* mask_layer = &style->AccessMaskLayers(); mask_layer;
              mask_layer = mask_layer->Next()) {
           if (mask_layer->GetImage() &&
@@ -314,7 +314,7 @@
         }
         break;
       }
-      case CSSPropertyShapeOutside:
+      case CSSPropertyID::kShapeOutside:
         if (style->ShapeOutside() && style->ShapeOutside()->GetImage() &&
             style->ShapeOutside()->GetImage()->IsPendingImage()) {
           style->ShapeOutside()->SetImage(LoadPendingImage(
diff --git a/third_party/blink/renderer/core/css/resolver/font_style_resolver.cc b/third_party/blink/renderer/core/css/resolver/font_style_resolver.cc
index a665195..648a478 100644
--- a/third_party/blink/renderer/core/css/resolver/font_style_resolver.cc
+++ b/third_party/blink/renderer/core/css/resolver/font_style_resolver.cc
@@ -24,42 +24,42 @@
   CSSToLengthConversionData::ViewportSize viewportSize(0, 0);
   CSSToLengthConversionData conversionData(nullptr, fontSizes, viewportSize, 1);
 
-  // CSSPropertyFontSize
-  if (property_set.HasProperty(CSSPropertyFontSize)) {
+  // CSSPropertyID::kFontSize
+  if (property_set.HasProperty(CSSPropertyID::kFontSize)) {
     builder.SetSize(StyleBuilderConverterBase::ConvertFontSize(
-        *property_set.GetPropertyCSSValue(CSSPropertyFontSize), conversionData,
-        FontDescription::Size(0, 0.0f, false)));
+        *property_set.GetPropertyCSSValue(CSSPropertyID::kFontSize),
+        conversionData, FontDescription::Size(0, 0.0f, false)));
   }
 
-  // CSSPropertyFontFamily
-  if (property_set.HasProperty(CSSPropertyFontFamily)) {
+  // CSSPropertyID::kFontFamily
+  if (property_set.HasProperty(CSSPropertyID::kFontFamily)) {
     builder.SetFamilyDescription(StyleBuilderConverterBase::ConvertFontFamily(
-        *property_set.GetPropertyCSSValue(CSSPropertyFontFamily), &builder,
+        *property_set.GetPropertyCSSValue(CSSPropertyID::kFontFamily), &builder,
         nullptr));
   }
 
-  // CSSPropertyFontStretch
-  if (property_set.HasProperty(CSSPropertyFontStretch)) {
+  // CSSPropertyID::kFontStretch
+  if (property_set.HasProperty(CSSPropertyID::kFontStretch)) {
     builder.SetStretch(StyleBuilderConverterBase::ConvertFontStretch(
-        *property_set.GetPropertyCSSValue(CSSPropertyFontStretch)));
+        *property_set.GetPropertyCSSValue(CSSPropertyID::kFontStretch)));
   }
 
-  // CSSPropertyFontStyle
-  if (property_set.HasProperty(CSSPropertyFontStyle)) {
+  // CSSPropertyID::kFontStyle
+  if (property_set.HasProperty(CSSPropertyID::kFontStyle)) {
     builder.SetStyle(StyleBuilderConverterBase::ConvertFontStyle(
-        *property_set.GetPropertyCSSValue(CSSPropertyFontStyle)));
+        *property_set.GetPropertyCSSValue(CSSPropertyID::kFontStyle)));
   }
 
-  // CSSPropertyFontVariantCaps
-  if (property_set.HasProperty(CSSPropertyFontVariantCaps)) {
+  // CSSPropertyID::kFontVariantCaps
+  if (property_set.HasProperty(CSSPropertyID::kFontVariantCaps)) {
     builder.SetVariantCaps(StyleBuilderConverterBase::ConvertFontVariantCaps(
-        *property_set.GetPropertyCSSValue(CSSPropertyFontVariantCaps)));
+        *property_set.GetPropertyCSSValue(CSSPropertyID::kFontVariantCaps)));
   }
 
-  // CSSPropertyFontWeight
-  if (property_set.HasProperty(CSSPropertyFontWeight)) {
+  // CSSPropertyID::kFontWeight
+  if (property_set.HasProperty(CSSPropertyID::kFontWeight)) {
     builder.SetWeight(StyleBuilderConverterBase::ConvertFontWeight(
-        *property_set.GetPropertyCSSValue(CSSPropertyFontWeight),
+        *property_set.GetPropertyCSSValue(CSSPropertyID::kFontWeight),
         FontBuilder::InitialWeight()));
   }
 
diff --git a/third_party/blink/renderer/core/css/resolver/font_style_resolver_test.cc b/third_party/blink/renderer/core/css/resolver/font_style_resolver_test.cc
index 1e305ffb..fef5fd01 100644
--- a/third_party/blink/renderer/core/css/resolver/font_style_resolver_test.cc
+++ b/third_party/blink/renderer/core/css/resolver/font_style_resolver_test.cc
@@ -12,7 +12,7 @@
 TEST(FontStyleResolverTest, Simple) {
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-  CSSParser::ParseValue(style, CSSPropertyFont, "15px Ahem", true,
+  CSSParser::ParseValue(style, CSSPropertyID::kFont, "15px Ahem", true,
                         SecureContextMode::kInsecureContext);
 
   FontDescription desc = FontStyleResolver::ComputeFont(*style, nullptr);
@@ -25,7 +25,7 @@
 TEST(FontStyleResolverTest, InvalidSize) {
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-  CSSParser::ParseValue(style, CSSPropertyFont, "-1px Ahem", true,
+  CSSParser::ParseValue(style, CSSPropertyID::kFont, "-1px Ahem", true,
                         SecureContextMode::kInsecureContext);
 
   FontDescription desc = FontStyleResolver::ComputeFont(*style, nullptr);
@@ -38,7 +38,7 @@
 TEST(FontStyleResolverTest, InvalidWeight) {
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-  CSSParser::ParseValue(style, CSSPropertyFont, "wrong 1px Ahem", true,
+  CSSParser::ParseValue(style, CSSPropertyID::kFont, "wrong 1px Ahem", true,
                         SecureContextMode::kInsecureContext);
 
   FontDescription desc = FontStyleResolver::ComputeFont(*style, nullptr);
@@ -51,8 +51,9 @@
 TEST(FontStyleResolverTest, InvalidEverything) {
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-  CSSParser::ParseValue(style, CSSPropertyFont, "wrong wrong wrong 1px Ahem",
-                        true, SecureContextMode::kInsecureContext);
+  CSSParser::ParseValue(style, CSSPropertyID::kFont,
+                        "wrong wrong wrong 1px Ahem", true,
+                        SecureContextMode::kInsecureContext);
 
   FontDescription desc = FontStyleResolver::ComputeFont(*style, nullptr);
 
@@ -64,7 +65,7 @@
 TEST(FontStyleResolverTest, RelativeSize) {
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-  CSSParser::ParseValue(style, CSSPropertyFont, "italic 2ex Ahem", true,
+  CSSParser::ParseValue(style, CSSPropertyID::kFont, "italic 2ex Ahem", true,
                         SecureContextMode::kInsecureContext);
 
   FontDescription desc = FontStyleResolver::ComputeFont(*style, nullptr);
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder.cc b/third_party/blink/renderer/core/css/resolver/style_builder.cc
index 6127a05..3e174b0 100644
--- a/third_party/blink/renderer/core/css/resolver/style_builder.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_builder.cc
@@ -70,8 +70,8 @@
 
   CSSPropertyID id = property.PropertyID();
   bool is_inherited = property.IsInherited();
-  if (id != CSSPropertyVariable && (value.IsVariableReferenceValue() ||
-                                    value.IsPendingSubstitutionValue())) {
+  if (id != CSSPropertyID::kVariable && (value.IsVariableReferenceValue() ||
+                                         value.IsPendingSubstitutionValue())) {
     bool omit_animation_tainted =
         CSSAnimations::IsAnimationAffectingProperty(property);
     const CSSValue* resolved_value =
@@ -117,9 +117,10 @@
       is_initial = true;
   }
 
-  // CSSPropertyVariable currently handles initial/inherit inside ApplyValue.
-  DCHECK(id != CSSPropertyVariable || !is_initial);
-  DCHECK(id != CSSPropertyVariable || !is_inherit);
+  // CSSPropertyID::kVariable currently handles initial/inherit inside
+  // ApplyValue.
+  DCHECK(id != CSSPropertyID::kVariable || !is_initial);
+  DCHECK(id != CSSPropertyID::kVariable || !is_inherit);
 
   if (is_initial)
     To<Longhand>(property).ApplyInitial(state);
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
index 8c9f003f..ed45a09 100644
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
@@ -101,7 +101,7 @@
         state.CssToLengthConversionData()));
   if (reflect_value.Mask()) {
     NinePieceImage mask = NinePieceImage::MaskDefaults();
-    CSSToStyleMap::MapNinePieceImage(state, CSSPropertyWebkitBoxReflect,
+    CSSToStyleMap::MapNinePieceImage(state, CSSPropertyID::kWebkitBoxReflect,
                                      *reflect_value.Mask(), mask);
     reflection->SetMask(mask);
   }
@@ -1290,9 +1290,10 @@
   }
 
   if (value.IsImageValue() || value.IsImageGeneratorValue() ||
-      value.IsImageSetValue())
+      value.IsImageSetValue()) {
     return ShapeValue::CreateImageValue(
-        state.GetStyleImage(CSSPropertyShapeOutside, value));
+        state.GetStyleImage(CSSPropertyID::kShapeOutside, value));
+  }
 
   scoped_refptr<BasicShape> shape;
   CSSBoxType css_box = CSSBoxType::kMissing;
diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
index 00371fe..c8bba3c 100644
--- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
@@ -123,7 +123,7 @@
                       left_to_right_decl,
                       (MutableCSSPropertyValueSet::Create(kHTMLQuirksMode)));
   if (left_to_right_decl->IsEmpty())
-    left_to_right_decl->SetProperty(CSSPropertyDirection, CSSValueLtr);
+    left_to_right_decl->SetProperty(CSSPropertyID::kDirection, CSSValueLtr);
   return left_to_right_decl;
 }
 
@@ -132,7 +132,7 @@
                       right_to_left_decl,
                       (MutableCSSPropertyValueSet::Create(kHTMLQuirksMode)));
   if (right_to_left_decl->IsEmpty())
-    right_to_left_decl->SetProperty(CSSPropertyDirection, CSSValueRtl);
+    right_to_left_decl->SetProperty(CSSPropertyID::kDirection, CSSValueRtl);
   return right_to_left_decl;
 }
 
@@ -776,7 +776,7 @@
           collector.MatchedResult().AuthorRules();
       for (const auto& matched : matched_range) {
         const CSSValue* value =
-            matched.properties->GetPropertyCSSValue(CSSPropertyDisplay);
+            matched.properties->GetPropertyCSSValue(CSSPropertyID::kDisplay);
         auto* identifier_value = DynamicTo<CSSIdentifierValue>(value);
         if (identifier_value &&
             identifier_value->GetValueID() == CSSValueBlock) {
@@ -1240,48 +1240,48 @@
 
 static inline bool IsValidCueStyleProperty(CSSPropertyID id) {
   switch (id) {
-    case CSSPropertyBackground:
-    case CSSPropertyBackgroundAttachment:
-    case CSSPropertyBackgroundClip:
-    case CSSPropertyBackgroundColor:
-    case CSSPropertyBackgroundImage:
-    case CSSPropertyBackgroundOrigin:
-    case CSSPropertyBackgroundPosition:
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyBackgroundPositionY:
-    case CSSPropertyBackgroundRepeat:
-    case CSSPropertyBackgroundRepeatX:
-    case CSSPropertyBackgroundRepeatY:
-    case CSSPropertyBackgroundSize:
-    case CSSPropertyColor:
-    case CSSPropertyFont:
-    case CSSPropertyFontFamily:
-    case CSSPropertyFontSize:
-    case CSSPropertyFontStretch:
-    case CSSPropertyFontStyle:
-    case CSSPropertyFontVariant:
-    case CSSPropertyFontWeight:
-    case CSSPropertyLineHeight:
-    case CSSPropertyOpacity:
-    case CSSPropertyOutline:
-    case CSSPropertyOutlineColor:
-    case CSSPropertyOutlineOffset:
-    case CSSPropertyOutlineStyle:
-    case CSSPropertyOutlineWidth:
-    case CSSPropertyVisibility:
-    case CSSPropertyWhiteSpace:
+    case CSSPropertyID::kBackground:
+    case CSSPropertyID::kBackgroundAttachment:
+    case CSSPropertyID::kBackgroundClip:
+    case CSSPropertyID::kBackgroundColor:
+    case CSSPropertyID::kBackgroundImage:
+    case CSSPropertyID::kBackgroundOrigin:
+    case CSSPropertyID::kBackgroundPosition:
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionY:
+    case CSSPropertyID::kBackgroundRepeat:
+    case CSSPropertyID::kBackgroundRepeatX:
+    case CSSPropertyID::kBackgroundRepeatY:
+    case CSSPropertyID::kBackgroundSize:
+    case CSSPropertyID::kColor:
+    case CSSPropertyID::kFont:
+    case CSSPropertyID::kFontFamily:
+    case CSSPropertyID::kFontSize:
+    case CSSPropertyID::kFontStretch:
+    case CSSPropertyID::kFontStyle:
+    case CSSPropertyID::kFontVariant:
+    case CSSPropertyID::kFontWeight:
+    case CSSPropertyID::kLineHeight:
+    case CSSPropertyID::kOpacity:
+    case CSSPropertyID::kOutline:
+    case CSSPropertyID::kOutlineColor:
+    case CSSPropertyID::kOutlineOffset:
+    case CSSPropertyID::kOutlineStyle:
+    case CSSPropertyID::kOutlineWidth:
+    case CSSPropertyID::kVisibility:
+    case CSSPropertyID::kWhiteSpace:
     // FIXME: 'text-decoration' shorthand to be handled when available.
     // See https://chromiumcodereview.appspot.com/19516002 for details.
-    case CSSPropertyTextDecoration:
-    case CSSPropertyTextShadow:
-    case CSSPropertyBorderStyle:
+    case CSSPropertyID::kTextDecoration:
+    case CSSPropertyID::kTextShadow:
+    case CSSPropertyID::kBorderStyle:
       return true;
-    case CSSPropertyTextDecorationLine:
-    case CSSPropertyTextDecorationStyle:
-    case CSSPropertyTextDecorationColor:
-    case CSSPropertyTextDecorationSkipInk:
+    case CSSPropertyID::kTextDecorationLine:
+    case CSSPropertyID::kTextDecorationStyle:
+    case CSSPropertyID::kTextDecorationColor:
+    case CSSPropertyID::kTextDecorationSkipInk:
       return true;
-    case CSSPropertyFontVariationSettings:
+    case CSSPropertyID::kFontVariationSettings:
       return true;
     default:
       break;
@@ -1293,114 +1293,114 @@
   switch (id) {
     // Valid ::first-letter properties listed in spec:
     // https://drafts.csswg.org/css-pseudo-4/#first-letter-styling
-    case CSSPropertyBackgroundAttachment:
-    case CSSPropertyBackgroundBlendMode:
-    case CSSPropertyBackgroundClip:
-    case CSSPropertyBackgroundColor:
-    case CSSPropertyBackgroundImage:
-    case CSSPropertyBackgroundOrigin:
-    case CSSPropertyBackgroundPosition:
-    case CSSPropertyBackgroundPositionX:
-    case CSSPropertyBackgroundPositionY:
-    case CSSPropertyBackgroundRepeat:
-    case CSSPropertyBackgroundRepeatX:
-    case CSSPropertyBackgroundRepeatY:
-    case CSSPropertyBackgroundSize:
-    case CSSPropertyBorderBlockEnd:
-    case CSSPropertyBorderBlockEndColor:
-    case CSSPropertyBorderBlockEndStyle:
-    case CSSPropertyBorderBlockEndWidth:
-    case CSSPropertyBorderBlockStart:
-    case CSSPropertyBorderBlockStartColor:
-    case CSSPropertyBorderBlockStartStyle:
-    case CSSPropertyBorderBlockStartWidth:
-    case CSSPropertyBorderBottomColor:
-    case CSSPropertyBorderBottomLeftRadius:
-    case CSSPropertyBorderBottomRightRadius:
-    case CSSPropertyBorderBottomStyle:
-    case CSSPropertyBorderBottomWidth:
-    case CSSPropertyBorderImageOutset:
-    case CSSPropertyBorderImageRepeat:
-    case CSSPropertyBorderImageSlice:
-    case CSSPropertyBorderImageSource:
-    case CSSPropertyBorderImageWidth:
-    case CSSPropertyBorderInlineEnd:
-    case CSSPropertyBorderInlineEndColor:
-    case CSSPropertyBorderInlineEndStyle:
-    case CSSPropertyBorderInlineEndWidth:
-    case CSSPropertyBorderInlineStart:
-    case CSSPropertyBorderInlineStartColor:
-    case CSSPropertyBorderInlineStartStyle:
-    case CSSPropertyBorderInlineStartWidth:
-    case CSSPropertyBorderLeftColor:
-    case CSSPropertyBorderLeftStyle:
-    case CSSPropertyBorderLeftWidth:
-    case CSSPropertyBorderRightColor:
-    case CSSPropertyBorderRightStyle:
-    case CSSPropertyBorderRightWidth:
-    case CSSPropertyBorderTopColor:
-    case CSSPropertyBorderTopLeftRadius:
-    case CSSPropertyBorderTopRightRadius:
-    case CSSPropertyBorderTopStyle:
-    case CSSPropertyBorderTopWidth:
-    case CSSPropertyBoxShadow:
-    case CSSPropertyColor:
-    case CSSPropertyFloat:
-    case CSSPropertyFontFamily:
-    case CSSPropertyFontFeatureSettings:
-    case CSSPropertyFontKerning:
-    case CSSPropertyFontSize:
-    case CSSPropertyFontSizeAdjust:
-    case CSSPropertyFontStretch:
-    case CSSPropertyFontStyle:
-    case CSSPropertyFontVariant:
-    case CSSPropertyFontVariantCaps:
-    case CSSPropertyFontVariantLigatures:
-    case CSSPropertyFontVariantNumeric:
-    case CSSPropertyFontVariantEastAsian:
-    case CSSPropertyFontVariationSettings:
-    case CSSPropertyFontWeight:
-    case CSSPropertyLetterSpacing:
-    case CSSPropertyLineHeight:
-    case CSSPropertyMarginBlockEnd:
-    case CSSPropertyMarginBlockStart:
-    case CSSPropertyMarginBottom:
-    case CSSPropertyMarginInlineEnd:
-    case CSSPropertyMarginInlineStart:
-    case CSSPropertyMarginLeft:
-    case CSSPropertyMarginRight:
-    case CSSPropertyMarginTop:
-    case CSSPropertyOpacity:
-    case CSSPropertyPaddingBottom:
-    case CSSPropertyPaddingLeft:
-    case CSSPropertyPaddingRight:
-    case CSSPropertyPaddingTop:
-    case CSSPropertyTextDecorationColor:
-    case CSSPropertyTextDecorationLine:
-    case CSSPropertyTextDecorationStyle:
-    case CSSPropertyTextDecorationSkipInk:
-    case CSSPropertyTextJustify:
-    case CSSPropertyTextShadow:
-    case CSSPropertyTextTransform:
-    case CSSPropertyTextUnderlinePosition:
-    case CSSPropertyVerticalAlign:
-    case CSSPropertyWebkitBorderHorizontalSpacing:
-    case CSSPropertyWebkitBorderImage:
-    case CSSPropertyWebkitBorderVerticalSpacing:
-    case CSSPropertyWebkitFontSmoothing:
-    case CSSPropertyWebkitMarginAfterCollapse:
-    case CSSPropertyWebkitMarginBeforeCollapse:
-    case CSSPropertyWebkitMarginBottomCollapse:
-    case CSSPropertyWebkitMarginCollapse:
-    case CSSPropertyWebkitMarginTopCollapse:
-    case CSSPropertyWordSpacing:
+    case CSSPropertyID::kBackgroundAttachment:
+    case CSSPropertyID::kBackgroundBlendMode:
+    case CSSPropertyID::kBackgroundClip:
+    case CSSPropertyID::kBackgroundColor:
+    case CSSPropertyID::kBackgroundImage:
+    case CSSPropertyID::kBackgroundOrigin:
+    case CSSPropertyID::kBackgroundPosition:
+    case CSSPropertyID::kBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionY:
+    case CSSPropertyID::kBackgroundRepeat:
+    case CSSPropertyID::kBackgroundRepeatX:
+    case CSSPropertyID::kBackgroundRepeatY:
+    case CSSPropertyID::kBackgroundSize:
+    case CSSPropertyID::kBorderBlockEnd:
+    case CSSPropertyID::kBorderBlockEndColor:
+    case CSSPropertyID::kBorderBlockEndStyle:
+    case CSSPropertyID::kBorderBlockEndWidth:
+    case CSSPropertyID::kBorderBlockStart:
+    case CSSPropertyID::kBorderBlockStartColor:
+    case CSSPropertyID::kBorderBlockStartStyle:
+    case CSSPropertyID::kBorderBlockStartWidth:
+    case CSSPropertyID::kBorderBottomColor:
+    case CSSPropertyID::kBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
+    case CSSPropertyID::kBorderBottomStyle:
+    case CSSPropertyID::kBorderBottomWidth:
+    case CSSPropertyID::kBorderImageOutset:
+    case CSSPropertyID::kBorderImageRepeat:
+    case CSSPropertyID::kBorderImageSlice:
+    case CSSPropertyID::kBorderImageSource:
+    case CSSPropertyID::kBorderImageWidth:
+    case CSSPropertyID::kBorderInlineEnd:
+    case CSSPropertyID::kBorderInlineEndColor:
+    case CSSPropertyID::kBorderInlineEndStyle:
+    case CSSPropertyID::kBorderInlineEndWidth:
+    case CSSPropertyID::kBorderInlineStart:
+    case CSSPropertyID::kBorderInlineStartColor:
+    case CSSPropertyID::kBorderInlineStartStyle:
+    case CSSPropertyID::kBorderInlineStartWidth:
+    case CSSPropertyID::kBorderLeftColor:
+    case CSSPropertyID::kBorderLeftStyle:
+    case CSSPropertyID::kBorderLeftWidth:
+    case CSSPropertyID::kBorderRightColor:
+    case CSSPropertyID::kBorderRightStyle:
+    case CSSPropertyID::kBorderRightWidth:
+    case CSSPropertyID::kBorderTopColor:
+    case CSSPropertyID::kBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopRightRadius:
+    case CSSPropertyID::kBorderTopStyle:
+    case CSSPropertyID::kBorderTopWidth:
+    case CSSPropertyID::kBoxShadow:
+    case CSSPropertyID::kColor:
+    case CSSPropertyID::kFloat:
+    case CSSPropertyID::kFontFamily:
+    case CSSPropertyID::kFontFeatureSettings:
+    case CSSPropertyID::kFontKerning:
+    case CSSPropertyID::kFontSize:
+    case CSSPropertyID::kFontSizeAdjust:
+    case CSSPropertyID::kFontStretch:
+    case CSSPropertyID::kFontStyle:
+    case CSSPropertyID::kFontVariant:
+    case CSSPropertyID::kFontVariantCaps:
+    case CSSPropertyID::kFontVariantLigatures:
+    case CSSPropertyID::kFontVariantNumeric:
+    case CSSPropertyID::kFontVariantEastAsian:
+    case CSSPropertyID::kFontVariationSettings:
+    case CSSPropertyID::kFontWeight:
+    case CSSPropertyID::kLetterSpacing:
+    case CSSPropertyID::kLineHeight:
+    case CSSPropertyID::kMarginBlockEnd:
+    case CSSPropertyID::kMarginBlockStart:
+    case CSSPropertyID::kMarginBottom:
+    case CSSPropertyID::kMarginInlineEnd:
+    case CSSPropertyID::kMarginInlineStart:
+    case CSSPropertyID::kMarginLeft:
+    case CSSPropertyID::kMarginRight:
+    case CSSPropertyID::kMarginTop:
+    case CSSPropertyID::kOpacity:
+    case CSSPropertyID::kPaddingBottom:
+    case CSSPropertyID::kPaddingLeft:
+    case CSSPropertyID::kPaddingRight:
+    case CSSPropertyID::kPaddingTop:
+    case CSSPropertyID::kTextDecorationColor:
+    case CSSPropertyID::kTextDecorationLine:
+    case CSSPropertyID::kTextDecorationStyle:
+    case CSSPropertyID::kTextDecorationSkipInk:
+    case CSSPropertyID::kTextJustify:
+    case CSSPropertyID::kTextShadow:
+    case CSSPropertyID::kTextTransform:
+    case CSSPropertyID::kTextUnderlinePosition:
+    case CSSPropertyID::kVerticalAlign:
+    case CSSPropertyID::kWebkitBorderHorizontalSpacing:
+    case CSSPropertyID::kWebkitBorderImage:
+    case CSSPropertyID::kWebkitBorderVerticalSpacing:
+    case CSSPropertyID::kWebkitFontSmoothing:
+    case CSSPropertyID::kWebkitMarginAfterCollapse:
+    case CSSPropertyID::kWebkitMarginBeforeCollapse:
+    case CSSPropertyID::kWebkitMarginBottomCollapse:
+    case CSSPropertyID::kWebkitMarginCollapse:
+    case CSSPropertyID::kWebkitMarginTopCollapse:
+    case CSSPropertyID::kWordSpacing:
       return true;
 
     // Not directly specified in spec, but variables should be supported nearly
     // anywhere.
-    case CSSPropertyVariable:
+    case CSSPropertyID::kVariable:
     // Properties that we currently support outside of spec.
-    case CSSPropertyVisibility:
+    case CSSPropertyID::kVisibility:
       return true;
 
     default:
@@ -1499,7 +1499,7 @@
   static_assert(
       priority != kResolveVariables,
       "Application of custom properties must use specialized template");
-  DCHECK_NE(reference.Id(), CSSPropertyVariable);
+  DCHECK_NE(reference.Id(), CSSPropertyID::kVariable);
   StyleBuilder::ApplyProperty(reference.Property(), state, reference.Value());
 }
 
@@ -1525,7 +1525,7 @@
     CSSPropertyValueSet::PropertyReference current = properties->PropertyAt(i);
     CSSPropertyID property_id = current.Id();
 
-    if (property_id == CSSPropertyAll &&
+    if (property_id == CSSPropertyID::kAll &&
         is_important == current.IsImportant()) {
       if (shouldUpdateNeedsApplyPass) {
         needs_apply_pass.Set(kAnimationPropertyPriority, is_important);
@@ -1977,7 +1977,7 @@
   state.SetStyle(style);
 
   for (const CSSProperty* property : properties) {
-    if (property->IDEquals(CSSPropertyLineHeight))
+    if (property->IDEquals(CSSPropertyID::kLineHeight))
       UpdateFont(state);
     StyleBuilder::ApplyProperty(
         *property, state,
diff --git a/third_party/blink/renderer/core/css/resolver/viewport_style_resolver.cc b/third_party/blink/renderer/core/css/resolver/viewport_style_resolver.cc
index d538f63..a889dcf 100644
--- a/third_party/blink/renderer/core/css/resolver/viewport_style_resolver.cc
+++ b/third_party/blink/renderer/core/css/resolver/viewport_style_resolver.cc
@@ -58,7 +58,7 @@
 bool HasViewportFitProperty(const CSSPropertyValueSet* property_set) {
   DCHECK(property_set);
   return RuntimeEnabledFeatures::DisplayCutoutAPIEnabled() &&
-         property_set->HasProperty(CSSPropertyViewportFit);
+         property_set->HasProperty(CSSPropertyID::kViewportFit);
 }
 
 }  // namespace
@@ -205,15 +205,15 @@
       has_author_style_ ? ViewportDescription::kAuthorStyleSheet
                         : ViewportDescription::kUserAgentStyleSheet);
 
-  description.user_zoom = ViewportArgumentValue(CSSPropertyUserZoom);
-  description.zoom = ViewportArgumentValue(CSSPropertyZoom);
-  description.min_zoom = ViewportArgumentValue(CSSPropertyMinZoom);
-  description.max_zoom = ViewportArgumentValue(CSSPropertyMaxZoom);
-  description.min_width = ViewportLengthValue(CSSPropertyMinWidth);
-  description.max_width = ViewportLengthValue(CSSPropertyMaxWidth);
-  description.min_height = ViewportLengthValue(CSSPropertyMinHeight);
-  description.max_height = ViewportLengthValue(CSSPropertyMaxHeight);
-  description.orientation = ViewportArgumentValue(CSSPropertyOrientation);
+  description.user_zoom = ViewportArgumentValue(CSSPropertyID::kUserZoom);
+  description.zoom = ViewportArgumentValue(CSSPropertyID::kZoom);
+  description.min_zoom = ViewportArgumentValue(CSSPropertyID::kMinZoom);
+  description.max_zoom = ViewportArgumentValue(CSSPropertyID::kMaxZoom);
+  description.min_width = ViewportLengthValue(CSSPropertyID::kMinWidth);
+  description.max_width = ViewportLengthValue(CSSPropertyID::kMaxWidth);
+  description.min_height = ViewportLengthValue(CSSPropertyID::kMinHeight);
+  description.max_height = ViewportLengthValue(CSSPropertyID::kMaxHeight);
+  description.orientation = ViewportArgumentValue(CSSPropertyID::kOrientation);
   if (HasViewportFitProperty(property_set_))
     description.SetViewportFit(ViewportFitValue());
 
@@ -230,7 +230,7 @@
   // UserZoom default value is CSSValueZoom, which maps to true, meaning that
   // yes, it is user scalable. When the value is set to CSSValueFixed, we
   // return false.
-  if (id == CSSPropertyUserZoom)
+  if (id == CSSPropertyID::kUserZoom)
     default_value = 1;
 
   const CSSValue* value = property_set_->GetPropertyCSSValue(id);
@@ -270,9 +270,9 @@
   if (primitive_value->IsPercentage()) {
     float percent_value = primitive_value->GetFloatValue() / 100.0f;
     switch (id) {
-      case CSSPropertyMaxZoom:
-      case CSSPropertyMinZoom:
-      case CSSPropertyZoom:
+      case CSSPropertyID::kMaxZoom:
+      case CSSPropertyID::kMinZoom:
+      case CSSPropertyID::kZoom:
         return percent_value;
       default:
         NOTREACHED();
@@ -285,8 +285,8 @@
 }
 
 Length ViewportStyleResolver::ViewportLengthValue(CSSPropertyID id) {
-  DCHECK(id == CSSPropertyMaxHeight || id == CSSPropertyMinHeight ||
-         id == CSSPropertyMaxWidth || id == CSSPropertyMinWidth);
+  DCHECK(id == CSSPropertyID::kMaxHeight || id == CSSPropertyID::kMinHeight ||
+         id == CSSPropertyID::kMaxWidth || id == CSSPropertyID::kMinWidth);
 
   const CSSValue* value = property_set_->GetPropertyCSSValue(id);
   if (!value || !(value->IsPrimitiveValue() || value->IsIdentifierValue()))
@@ -324,7 +324,7 @@
 
 mojom::ViewportFit ViewportStyleResolver::ViewportFitValue() const {
   const CSSValue* value =
-      property_set_->GetPropertyCSSValue(CSSPropertyViewportFit);
+      property_set_->GetPropertyCSSValue(CSSPropertyID::kViewportFit);
   if (auto* identifier_value = DynamicTo<CSSIdentifierValue>(value)) {
     switch (identifier_value->GetValueID()) {
       case CSSValueCover:
diff --git a/third_party/blink/renderer/core/css/style_engine_test.cc b/third_party/blink/renderer/core/css/style_engine_test.cc
index c03029ea..c906844 100644
--- a/third_party/blink/renderer/core/css/style_engine_test.cc
+++ b/third_party/blink/renderer/core/css/style_engine_test.cc
@@ -1021,7 +1021,7 @@
   style = span->firstChild()->GetComputedStyle();
   EXPECT_TRUE(MatchedPropertiesCache::IsStyleCacheable(*style));
 
-  span->SetInlineStyleProperty(CSSPropertyColor, "blue");
+  span->SetInlineStyleProperty(CSSPropertyID::kColor, "blue");
 
   // Should not DCHECK on applying overflow:inherit on cached matched properties
   UpdateAllLifecyclePhases();
@@ -1576,7 +1576,7 @@
 
   // This should not cause DCHECK errors on style recalc flags.
   shadow_root.getElementById("span")->remove();
-  host->SetInlineStyleProperty(CSSPropertyDisplay, "inline");
+  host->SetInlineStyleProperty(CSSPropertyID::kDisplay, "inline");
   UpdateAllLifecyclePhases();
 }
 
@@ -1593,7 +1593,7 @@
   UpdateAllLifecyclePhases();
   GetDocument().body()->EnsureComputedStyle();
   GetDocument().getElementById("inner")->SetInlineStyleProperty(
-      CSSPropertyColor, "blue");
+      CSSPropertyID::kColor, "blue");
   UpdateAllLifecyclePhases();
 }
 
@@ -1615,7 +1615,7 @@
 
   Element* div = GetDocument().QuerySelector("div");
   ASSERT_TRUE(div);
-  div->SetInlineStyleProperty(CSSPropertyColor, "green");
+  div->SetInlineStyleProperty(CSSPropertyID::kColor, "green");
 
   GetDocument().Lifecycle().AdvanceTo(DocumentLifecycle::kInStyleRecalc);
   GetStyleEngine().RecalcStyle({});
@@ -1827,7 +1827,7 @@
   EXPECT_FALSE(span_inner->GetComputedStyle());
 
   // Setting span color should not create ComputedStyles during style recalc.
-  span_outer->SetInlineStyleProperty(CSSPropertyColor, "blue");
+  span_outer->SetInlineStyleProperty(CSSPropertyID::kColor, "blue");
   EXPECT_TRUE(span_outer->NeedsStyleRecalc());
   GetDocument().Lifecycle().AdvanceTo(DocumentLifecycle::kInStyleRecalc);
   GetStyleEngine().RecalcStyle({});
@@ -1841,7 +1841,7 @@
 
   // Triggering style recalc which propagates the color down the tree should
   // clear ComputedStyle objects in the display:none subtree.
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyColor, "pink");
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kColor, "pink");
   UpdateAllLifecyclePhases();
 
   EXPECT_FALSE(computed->GetComputedStyle());
@@ -1874,7 +1874,7 @@
   }
 
   // This triggers layout tree building.
-  div->SetInlineStyleProperty(CSSPropertyDisplay, "inline");
+  div->SetInlineStyleProperty(CSSPropertyID::kDisplay, "inline");
   UpdateAllLifecyclePhases();
 
   // We must not create LayoutObjects for Nodes with
diff --git a/third_party/blink/renderer/core/css/style_property_serializer.cc b/third_party/blink/renderer/core/css/style_property_serializer.cc
index 86cb7a45..2f10ec8 100644
--- a/third_party/blink/renderer/core/css/style_property_serializer.cc
+++ b/third_party/blink/renderer/core/css/style_property_serializer.cc
@@ -43,7 +43,7 @@
 StylePropertySerializer::CSSPropertyValueSetForSerializer::
     CSSPropertyValueSetForSerializer(const CSSPropertyValueSet& properties)
     : property_set_(&properties),
-      all_index_(property_set_->FindPropertyIndex(CSSPropertyAll)),
+      all_index_(property_set_->FindPropertyIndex(CSSPropertyID::kAll)),
       need_to_expand_all_(false) {
   if (!HasAllProperty())
     return;
@@ -116,7 +116,7 @@
   if (!need_to_expand_all_) {
     CSSPropertyValueSet::PropertyReference property =
         property_set_->PropertyAt(index);
-    if (property.Property().IDEquals(CSSPropertyAll) ||
+    if (property.Property().IDEquals(CSSPropertyID::kAll) ||
         !property.Property().IsAffectedByAll())
       return true;
     if (!isCSSPropertyIDWithName(property.Id()))
@@ -133,7 +133,8 @@
   // Since "all" is expanded, we don't need to process "all".
   // We should not process expanded shorthands (e.g. font, background,
   // and so on) either.
-  if (property_class.IsShorthand() || property_class.IDEquals(CSSPropertyAll))
+  if (property_class.IsShorthand() ||
+      property_class.IDEquals(CSSPropertyID::kAll))
     return false;
 
   // The all property is a shorthand that resets all CSS properties except
@@ -176,7 +177,7 @@
 String StylePropertySerializer::GetCustomPropertyText(
     const PropertyValueForSerializer& property,
     bool is_not_first_decl) const {
-  DCHECK_EQ(property.Property().PropertyID(), CSSPropertyVariable);
+  DCHECK_EQ(property.Property().PropertyID(), CSSPropertyID::kVariable);
   StringBuilder result;
   if (is_not_first_decl)
     result.Append(' ');
@@ -234,10 +235,10 @@
            property_class.IsDescriptor());
 
     switch (property_id) {
-      case CSSPropertyVariable:
+      case CSSPropertyID::kVariable:
         result.Append(GetCustomPropertyText(property, num_decls++));
         continue;
-      case CSSPropertyAll:
+      case CSSPropertyID::kAll:
         result.Append(GetPropertyText(property_class,
                                       property.Value()->CssText(),
                                       property.IsImportant(), num_decls++));
@@ -313,28 +314,28 @@
 // special-casing
 static bool AllowInitialInShorthand(CSSPropertyID property_id) {
   switch (property_id) {
-    case CSSPropertyBackground:
-    case CSSPropertyBorder:
-    case CSSPropertyBorderTop:
-    case CSSPropertyBorderRight:
-    case CSSPropertyBorderBottom:
-    case CSSPropertyBorderLeft:
-    case CSSPropertyOutline:
-    case CSSPropertyColumnRule:
-    case CSSPropertyColumns:
-    case CSSPropertyFlex:
-    case CSSPropertyFlexFlow:
-    case CSSPropertyGridColumn:
-    case CSSPropertyGridRow:
-    case CSSPropertyGridArea:
-    case CSSPropertyGap:
-    case CSSPropertyListStyle:
-    case CSSPropertyOffset:
-    case CSSPropertyTextDecoration:
-    case CSSPropertyWebkitMarginCollapse:
-    case CSSPropertyWebkitMask:
-    case CSSPropertyWebkitTextEmphasis:
-    case CSSPropertyWebkitTextStroke:
+    case CSSPropertyID::kBackground:
+    case CSSPropertyID::kBorder:
+    case CSSPropertyID::kBorderTop:
+    case CSSPropertyID::kBorderRight:
+    case CSSPropertyID::kBorderBottom:
+    case CSSPropertyID::kBorderLeft:
+    case CSSPropertyID::kOutline:
+    case CSSPropertyID::kColumnRule:
+    case CSSPropertyID::kColumns:
+    case CSSPropertyID::kFlex:
+    case CSSPropertyID::kFlexFlow:
+    case CSSPropertyID::kGridColumn:
+    case CSSPropertyID::kGridRow:
+    case CSSPropertyID::kGridArea:
+    case CSSPropertyID::kGap:
+    case CSSPropertyID::kListStyle:
+    case CSSPropertyID::kOffset:
+    case CSSPropertyID::kTextDecoration:
+    case CSSPropertyID::kWebkitMarginCollapse:
+    case CSSPropertyID::kWebkitMask:
+    case CSSPropertyID::kWebkitTextEmphasis:
+    case CSSPropertyID::kWebkitTextStroke:
       return true;
     default:
       return false;
@@ -411,158 +412,158 @@
     return result;
 
   switch (property_id) {
-    case CSSPropertyAnimation:
+    case CSSPropertyID::kAnimation:
       return GetLayeredShorthandValue(animationShorthand());
-    case CSSPropertyBorderSpacing:
+    case CSSPropertyID::kBorderSpacing:
       return Get2Values(borderSpacingShorthand());
-    case CSSPropertyBackgroundPosition:
+    case CSSPropertyID::kBackgroundPosition:
       return GetLayeredShorthandValue(backgroundPositionShorthand());
-    case CSSPropertyBackgroundRepeat:
+    case CSSPropertyID::kBackgroundRepeat:
       return BackgroundRepeatPropertyValue();
-    case CSSPropertyBackground:
+    case CSSPropertyID::kBackground:
       return GetLayeredShorthandValue(backgroundShorthand());
-    case CSSPropertyBorder:
+    case CSSPropertyID::kBorder:
       return BorderPropertyValue(borderWidthShorthand(), borderStyleShorthand(),
                                  borderColorShorthand());
-    case CSSPropertyBorderImage:
+    case CSSPropertyID::kBorderImage:
       return BorderImagePropertyValue();
-    case CSSPropertyBorderTop:
+    case CSSPropertyID::kBorderTop:
       return GetShorthandValue(borderTopShorthand());
-    case CSSPropertyBorderRight:
+    case CSSPropertyID::kBorderRight:
       return GetShorthandValue(borderRightShorthand());
-    case CSSPropertyBorderBottom:
+    case CSSPropertyID::kBorderBottom:
       return GetShorthandValue(borderBottomShorthand());
-    case CSSPropertyBorderLeft:
+    case CSSPropertyID::kBorderLeft:
       return GetShorthandValue(borderLeftShorthand());
-    case CSSPropertyBorderBlock:
+    case CSSPropertyID::kBorderBlock:
       return BorderPropertyValue(borderBlockWidthShorthand(),
                                  borderBlockStyleShorthand(),
                                  borderBlockColorShorthand());
-    case CSSPropertyBorderBlockColor:
+    case CSSPropertyID::kBorderBlockColor:
       return Get2Values(borderBlockColorShorthand());
-    case CSSPropertyBorderBlockStyle:
+    case CSSPropertyID::kBorderBlockStyle:
       return Get2Values(borderBlockStyleShorthand());
-    case CSSPropertyBorderBlockWidth:
+    case CSSPropertyID::kBorderBlockWidth:
       return Get2Values(borderBlockWidthShorthand());
-    case CSSPropertyBorderBlockStart:
+    case CSSPropertyID::kBorderBlockStart:
       return GetShorthandValue(borderBlockStartShorthand());
-    case CSSPropertyBorderBlockEnd:
+    case CSSPropertyID::kBorderBlockEnd:
       return GetShorthandValue(borderBlockEndShorthand());
-    case CSSPropertyBorderInline:
+    case CSSPropertyID::kBorderInline:
       return BorderPropertyValue(borderInlineWidthShorthand(),
                                  borderInlineStyleShorthand(),
                                  borderInlineColorShorthand());
-    case CSSPropertyBorderInlineColor:
+    case CSSPropertyID::kBorderInlineColor:
       return Get2Values(borderInlineColorShorthand());
-    case CSSPropertyBorderInlineStyle:
+    case CSSPropertyID::kBorderInlineStyle:
       return Get2Values(borderInlineStyleShorthand());
-    case CSSPropertyBorderInlineWidth:
+    case CSSPropertyID::kBorderInlineWidth:
       return Get2Values(borderInlineWidthShorthand());
-    case CSSPropertyBorderInlineStart:
+    case CSSPropertyID::kBorderInlineStart:
       return GetShorthandValue(borderInlineStartShorthand());
-    case CSSPropertyBorderInlineEnd:
+    case CSSPropertyID::kBorderInlineEnd:
       return GetShorthandValue(borderInlineEndShorthand());
-    case CSSPropertyOutline:
+    case CSSPropertyID::kOutline:
       return GetShorthandValue(outlineShorthand());
-    case CSSPropertyBorderColor:
+    case CSSPropertyID::kBorderColor:
       return Get4Values(borderColorShorthand());
-    case CSSPropertyBorderWidth:
+    case CSSPropertyID::kBorderWidth:
       return Get4Values(borderWidthShorthand());
-    case CSSPropertyBorderStyle:
+    case CSSPropertyID::kBorderStyle:
       return Get4Values(borderStyleShorthand());
-    case CSSPropertyColumnRule:
+    case CSSPropertyID::kColumnRule:
       return GetShorthandValue(columnRuleShorthand());
-    case CSSPropertyColumns:
+    case CSSPropertyID::kColumns:
       return GetShorthandValue(columnsShorthand());
-    case CSSPropertyFlex:
+    case CSSPropertyID::kFlex:
       return GetShorthandValue(flexShorthand());
-    case CSSPropertyFlexFlow:
+    case CSSPropertyID::kFlexFlow:
       return GetShorthandValue(flexFlowShorthand());
-    case CSSPropertyGridColumn:
+    case CSSPropertyID::kGridColumn:
       return GetShorthandValue(gridColumnShorthand(), " / ");
-    case CSSPropertyGridRow:
+    case CSSPropertyID::kGridRow:
       return GetShorthandValue(gridRowShorthand(), " / ");
-    case CSSPropertyGridArea:
+    case CSSPropertyID::kGridArea:
       return GetShorthandValue(gridAreaShorthand(), " / ");
-    case CSSPropertyGap:
+    case CSSPropertyID::kGap:
       return GetShorthandValue(gapShorthand());
-    case CSSPropertyInset:
+    case CSSPropertyID::kInset:
       return Get4Values(insetShorthand());
-    case CSSPropertyInsetBlock:
+    case CSSPropertyID::kInsetBlock:
       return Get2Values(insetBlockShorthand());
-    case CSSPropertyInsetInline:
+    case CSSPropertyID::kInsetInline:
       return Get2Values(insetInlineShorthand());
-    case CSSPropertyPlaceContent:
+    case CSSPropertyID::kPlaceContent:
       return Get2Values(placeContentShorthand());
-    case CSSPropertyPlaceItems:
+    case CSSPropertyID::kPlaceItems:
       return Get2Values(placeItemsShorthand());
-    case CSSPropertyPlaceSelf:
+    case CSSPropertyID::kPlaceSelf:
       return Get2Values(placeSelfShorthand());
-    case CSSPropertyFont:
+    case CSSPropertyID::kFont:
       return FontValue();
-    case CSSPropertyFontVariant:
+    case CSSPropertyID::kFontVariant:
       return FontVariantValue();
-    case CSSPropertyMargin:
+    case CSSPropertyID::kMargin:
       return Get4Values(marginShorthand());
-    case CSSPropertyMarginBlock:
+    case CSSPropertyID::kMarginBlock:
       return Get2Values(marginBlockShorthand());
-    case CSSPropertyMarginInline:
+    case CSSPropertyID::kMarginInline:
       return Get2Values(marginInlineShorthand());
-    case CSSPropertyOffset:
+    case CSSPropertyID::kOffset:
       return OffsetValue();
-    case CSSPropertyWebkitMarginCollapse:
+    case CSSPropertyID::kWebkitMarginCollapse:
       return GetShorthandValue(webkitMarginCollapseShorthand());
-    case CSSPropertyOverflow:
+    case CSSPropertyID::kOverflow:
       return Get2Values(overflowShorthand());
-    case CSSPropertyOverscrollBehavior:
+    case CSSPropertyID::kOverscrollBehavior:
       return GetShorthandValue(overscrollBehaviorShorthand());
-    case CSSPropertyPadding:
+    case CSSPropertyID::kPadding:
       return Get4Values(paddingShorthand());
-    case CSSPropertyPaddingBlock:
+    case CSSPropertyID::kPaddingBlock:
       return Get2Values(paddingBlockShorthand());
-    case CSSPropertyPaddingInline:
+    case CSSPropertyID::kPaddingInline:
       return Get2Values(paddingInlineShorthand());
-    case CSSPropertyTextDecoration:
+    case CSSPropertyID::kTextDecoration:
       return GetShorthandValue(textDecorationShorthand());
-    case CSSPropertyTransition:
+    case CSSPropertyID::kTransition:
       return GetLayeredShorthandValue(transitionShorthand());
-    case CSSPropertyListStyle:
+    case CSSPropertyID::kListStyle:
       return GetShorthandValue(listStyleShorthand());
-    case CSSPropertyWebkitMaskPosition:
+    case CSSPropertyID::kWebkitMaskPosition:
       return GetLayeredShorthandValue(webkitMaskPositionShorthand());
-    case CSSPropertyWebkitMaskRepeat:
+    case CSSPropertyID::kWebkitMaskRepeat:
       return GetLayeredShorthandValue(webkitMaskRepeatShorthand());
-    case CSSPropertyWebkitMask:
+    case CSSPropertyID::kWebkitMask:
       return GetLayeredShorthandValue(webkitMaskShorthand());
-    case CSSPropertyWebkitTextEmphasis:
+    case CSSPropertyID::kWebkitTextEmphasis:
       return GetShorthandValue(webkitTextEmphasisShorthand());
-    case CSSPropertyWebkitTextStroke:
+    case CSSPropertyID::kWebkitTextStroke:
       return GetShorthandValue(webkitTextStrokeShorthand());
-    case CSSPropertyMarker: {
+    case CSSPropertyID::kMarker: {
       if (const CSSValue* value =
               property_set_.GetPropertyCSSValue(GetCSSPropertyMarkerStart()))
         return value->CssText();
       return String();
     }
-    case CSSPropertyBorderRadius:
+    case CSSPropertyID::kBorderRadius:
       return Get4Values(borderRadiusShorthand());
-    case CSSPropertyScrollPadding:
+    case CSSPropertyID::kScrollPadding:
       return Get4Values(scrollPaddingShorthand());
-    case CSSPropertyScrollPaddingBlock:
+    case CSSPropertyID::kScrollPaddingBlock:
       return Get2Values(scrollPaddingBlockShorthand());
-    case CSSPropertyScrollPaddingInline:
+    case CSSPropertyID::kScrollPaddingInline:
       return Get2Values(scrollPaddingInlineShorthand());
-    case CSSPropertyScrollMargin:
+    case CSSPropertyID::kScrollMargin:
       return Get4Values(scrollMarginShorthand());
-    case CSSPropertyScrollMarginBlock:
+    case CSSPropertyID::kScrollMarginBlock:
       return Get2Values(scrollMarginBlockShorthand());
-    case CSSPropertyScrollMarginInline:
+    case CSSPropertyID::kScrollMarginInline:
       return Get2Values(scrollMarginInlineShorthand());
-    case CSSPropertyPageBreakAfter:
+    case CSSPropertyID::kPageBreakAfter:
       return PageBreakPropertyValue(pageBreakAfterShorthand());
-    case CSSPropertyPageBreakBefore:
+    case CSSPropertyID::kPageBreakBefore:
       return PageBreakPropertyValue(pageBreakBeforeShorthand());
-    case CSSPropertyPageBreakInside:
+    case CSSPropertyID::kPageBreakInside:
       return PageBreakPropertyValue(pageBreakInsideShorthand());
     default:
       return String();
@@ -608,7 +609,7 @@
   DCHECK_NE(found_property_index, -1);
 
   const CSSValue* val = property_set_.PropertyAt(found_property_index).Value();
-  if (property.IDEquals(CSSPropertyFontStretch)) {
+  if (property.IDEquals(CSSPropertyID::kFontStretch)) {
     const CSSValue* keyword = GetFontStretchKeyword(val);
     if (!keyword)
       return false;
@@ -620,18 +621,18 @@
 
   char prefix = '\0';
   switch (property.PropertyID()) {
-    case CSSPropertyFontStyle:
+    case CSSPropertyID::kFontStyle:
       break;  // No prefix.
-    case CSSPropertyFontFamily:
-    case CSSPropertyFontStretch:
-    case CSSPropertyFontVariantCaps:
-    case CSSPropertyFontVariantLigatures:
-    case CSSPropertyFontVariantNumeric:
-    case CSSPropertyFontVariantEastAsian:
-    case CSSPropertyFontWeight:
+    case CSSPropertyID::kFontFamily:
+    case CSSPropertyID::kFontStretch:
+    case CSSPropertyID::kFontVariantCaps:
+    case CSSPropertyID::kFontVariantLigatures:
+    case CSSPropertyID::kFontVariantNumeric:
+    case CSSPropertyID::kFontVariantEastAsian:
+    case CSSPropertyID::kFontWeight:
       prefix = ' ';
       break;
-    case CSSPropertyLineHeight:
+    case CSSPropertyID::kLineHeight:
       prefix = '/';
       break;
     default:
@@ -644,8 +645,8 @@
   String value;
   // In the font-variant shorthand a "none" ligatures value needs to be
   // expanded.
-  if (property.IDEquals(CSSPropertyFontVariantLigatures) && identifier_value &&
-      identifier_value->GetValueID() == CSSValueNone) {
+  if (property.IDEquals(CSSPropertyID::kFontVariantLigatures) &&
+      identifier_value && identifier_value->GetValueID() == CSSValueNone) {
     value =
         "no-common-ligatures no-discretionary-ligatures "
         "no-historical-ligatures no-contextual";
@@ -917,9 +918,9 @@
         if (layer < property_values->length())
           value = &property_values->Item(layer);
       } else if ((layer == 0 &&
-                  !property->IDEquals(CSSPropertyBackgroundColor)) ||
+                  !property->IDEquals(CSSPropertyID::kBackgroundColor)) ||
                  (layer == num_layers - 1 &&
-                  property->IDEquals(CSSPropertyBackgroundColor))) {
+                  property->IDEquals(CSSPropertyID::kBackgroundColor))) {
         // Singletons except background color belong in the 0th layer.
         // Background color belongs in the last layer.
         value = values[property_index];
@@ -929,12 +930,12 @@
         continue;
 
       // Special case for background-repeat.
-      if (property->IDEquals(CSSPropertyBackgroundRepeatX) ||
-          property->IDEquals(CSSPropertyWebkitMaskRepeatX)) {
+      if (property->IDEquals(CSSPropertyID::kBackgroundRepeatX) ||
+          property->IDEquals(CSSPropertyID::kWebkitMaskRepeatX)) {
         DCHECK(shorthand.properties()[property_index + 1]->IDEquals(
-                   CSSPropertyBackgroundRepeatY) ||
+                   CSSPropertyID::kBackgroundRepeatY) ||
                shorthand.properties()[property_index + 1]->IDEquals(
-                   CSSPropertyWebkitMaskRepeatY));
+                   CSSPropertyID::kWebkitMaskRepeatY));
         auto* value_list =
             DynamicTo<CSSValueList>(values[property_index + 1].Get());
         const CSSValue& y_value =
@@ -964,8 +965,8 @@
       }
 
       if (!value->IsInitialValue()) {
-        if (property->IDEquals(CSSPropertyBackgroundSize) ||
-            property->IDEquals(CSSPropertyWebkitMaskSize)) {
+        if (property->IDEquals(CSSPropertyID::kBackgroundSize) ||
+            property->IDEquals(CSSPropertyID::kWebkitMaskSize)) {
           if (found_position_ycss_property || found_position_xcss_property)
             layer_result.Append(" / ");
           else
@@ -987,11 +988,11 @@
             use_single_word_shorthand = false;
           layer_result.Append(value->CssText());
         }
-        if (property->IDEquals(CSSPropertyBackgroundPositionX) ||
-            property->IDEquals(CSSPropertyWebkitMaskPositionX))
+        if (property->IDEquals(CSSPropertyID::kBackgroundPositionX) ||
+            property->IDEquals(CSSPropertyID::kWebkitMaskPositionX))
           found_position_xcss_property = true;
-        if (property->IDEquals(CSSPropertyBackgroundPositionY) ||
-            property->IDEquals(CSSPropertyWebkitMaskPositionY)) {
+        if (property->IDEquals(CSSPropertyID::kBackgroundPositionY) ||
+            property->IDEquals(CSSPropertyID::kWebkitMaskPositionY)) {
           found_position_ycss_property = true;
           // background-position is a special case. If only the first offset is
           // specified, the second one defaults to "center", not the same value.
diff --git a/third_party/blink/renderer/core/css/style_property_shorthand_custom.cc b/third_party/blink/renderer/core/css/style_property_shorthand_custom.cc
index 7548c82..e6a15cb 100644
--- a/third_party/blink/renderer/core/css/style_property_shorthand_custom.cc
+++ b/third_party/blink/renderer/core/css/style_property_shorthand_custom.cc
@@ -45,7 +45,7 @@
       &GetCSSPropertyAnimationPlayState(),
       &GetCSSPropertyAnimationName()};
   static StylePropertyShorthand webkit_animation_longhands_for_parsing(
-      CSSPropertyAnimation, kAnimationPropertiesForParsing,
+      CSSPropertyID::kAnimation, kAnimationPropertiesForParsing,
       base::size(kAnimationPropertiesForParsing));
   return webkit_animation_longhands_for_parsing;
 }
@@ -58,7 +58,7 @@
       &GetCSSPropertyTransitionTimingFunction(),
       &GetCSSPropertyTransitionDelay(), &GetCSSPropertyTransitionProperty()};
   static StylePropertyShorthand transition_longhands(
-      CSSPropertyTransition, kTransitionProperties,
+      CSSPropertyID::kTransition, kTransitionProperties,
       base::size(kTransitionProperties));
   return transition_longhands;
 }
diff --git a/third_party/blink/renderer/core/css/threaded/css_parser_threaded_test.cc b/third_party/blink/renderer/core/css/threaded/css_parser_threaded_test.cc
index 83e290f..b08b970 100644
--- a/third_party/blink/renderer/core/css/threaded/css_parser_threaded_test.cc
+++ b/third_party/blink/renderer/core/css/threaded/css_parser_threaded_test.cc
@@ -34,32 +34,33 @@
 
 TSAN_TEST_F(CSSParserThreadedTest, SinglePropertyFilter) {
   RunOnThreads([]() {
-    TestSingle(CSSPropertyFilter, "sepia(50%)");
-    TestSingle(CSSPropertyFilter, "blur(10px)");
-    TestSingle(CSSPropertyFilter, "brightness(50%) invert(100%)");
+    TestSingle(CSSPropertyID::kFilter, "sepia(50%)");
+    TestSingle(CSSPropertyID::kFilter, "blur(10px)");
+    TestSingle(CSSPropertyID::kFilter, "brightness(50%) invert(100%)");
   });
 }
 
 TSAN_TEST_F(CSSParserThreadedTest, SinglePropertyFont) {
   RunOnThreads([]() {
-    TestSingle(CSSPropertyFontFamily, "serif");
-    TestSingle(CSSPropertyFontFamily, "monospace");
-    TestSingle(CSSPropertyFontFamily, "times");
-    TestSingle(CSSPropertyFontFamily, "arial");
+    TestSingle(CSSPropertyID::kFontFamily, "serif");
+    TestSingle(CSSPropertyID::kFontFamily, "monospace");
+    TestSingle(CSSPropertyID::kFontFamily, "times");
+    TestSingle(CSSPropertyID::kFontFamily, "arial");
 
-    TestSingle(CSSPropertyFontWeight, "normal");
-    TestSingle(CSSPropertyFontWeight, "bold");
+    TestSingle(CSSPropertyID::kFontWeight, "normal");
+    TestSingle(CSSPropertyID::kFontWeight, "bold");
 
-    TestSingle(CSSPropertyFontSize, "10px");
-    TestSingle(CSSPropertyFontSize, "20em");
+    TestSingle(CSSPropertyID::kFontSize, "10px");
+    TestSingle(CSSPropertyID::kFontSize, "20em");
   });
 }
 
 TSAN_TEST_F(CSSParserThreadedTest, ValuePropertyFont) {
   RunOnThreads([]() {
-    MutableCSSPropertyValueSet* v = TestValue(CSSPropertyFont, "15px arial");
-    EXPECT_EQ(v->GetPropertyValue(CSSPropertyFontFamily), "arial");
-    EXPECT_EQ(v->GetPropertyValue(CSSPropertyFontSize), "15px");
+    MutableCSSPropertyValueSet* v =
+        TestValue(CSSPropertyID::kFont, "15px arial");
+    EXPECT_EQ(v->GetPropertyValue(CSSPropertyID::kFontFamily), "arial");
+    EXPECT_EQ(v->GetPropertyValue(CSSPropertyID::kFontSize), "15px");
   });
 }
 
@@ -68,7 +69,7 @@
     CSSParserContext* ctx = CSSParserContext::Create(
         kCSSFontFaceRuleMode, SecureContextMode::kInsecureContext);
     const CSSValue* v = CSSParser::ParseFontFaceDescriptor(
-        CSSPropertySrc, "url(myfont.ttf)", ctx);
+        CSSPropertyID::kSrc, "url(myfont.ttf)", ctx);
     ASSERT_TRUE(v);
     EXPECT_EQ(v->CssText(), "url(\"myfont.ttf\")");
   });
diff --git a/third_party/blink/renderer/core/css/threaded/filter_operation_resolver_threaded_test.cc b/third_party/blink/renderer/core/css/threaded/filter_operation_resolver_threaded_test.cc
index a4942a8..2b608ae 100644
--- a/third_party/blink/renderer/core/css/threaded/filter_operation_resolver_threaded_test.cc
+++ b/third_party/blink/renderer/core/css/threaded/filter_operation_resolver_threaded_test.cc
@@ -17,7 +17,7 @@
 TSAN_TEST(FilterOperationResolverThreadedTest, SimpleMatrixFilter) {
   RunOnThreads([]() {
     const CSSValue* value = CSSParser::ParseSingleValue(
-        CSSPropertyFilter, "sepia(50%)",
+        CSSPropertyID::kFilter, "sepia(50%)",
         StrictCSSParserContext(SecureContextMode::kInsecureContext));
     ASSERT_TRUE(value);
 
@@ -34,7 +34,7 @@
 TSAN_TEST(FilterOperationResolverThreadedTest, SimpleTransferFilter) {
   RunOnThreads([]() {
     const CSSValue* value = CSSParser::ParseSingleValue(
-        CSSPropertyFilter, "brightness(50%)",
+        CSSPropertyID::kFilter, "brightness(50%)",
         StrictCSSParserContext(SecureContextMode::kInsecureContext));
     ASSERT_TRUE(value);
 
@@ -51,7 +51,7 @@
 TSAN_TEST(FilterOperationResolverThreadedTest, SimpleBlurFilter) {
   RunOnThreads([]() {
     const CSSValue* value = CSSParser::ParseSingleValue(
-        CSSPropertyFilter, "blur(10px)",
+        CSSPropertyID::kFilter, "blur(10px)",
         StrictCSSParserContext(SecureContextMode::kInsecureContext));
     ASSERT_TRUE(value);
 
@@ -67,7 +67,7 @@
 TSAN_TEST(FilterOperationResolverThreadedTest, SimpleDropShadow) {
   RunOnThreads([]() {
     const CSSValue* value = CSSParser::ParseSingleValue(
-        CSSPropertyFilter, "drop-shadow(10px 5px 1px black)",
+        CSSPropertyID::kFilter, "drop-shadow(10px 5px 1px black)",
         StrictCSSParserContext(SecureContextMode::kInsecureContext));
     ASSERT_TRUE(value);
 
@@ -85,7 +85,7 @@
 TSAN_TEST(FilterOperationResolverThreadedTest, CompoundFilter) {
   RunOnThreads([]() {
     const CSSValue* value = CSSParser::ParseSingleValue(
-        CSSPropertyFilter, "sepia(50%) brightness(50%)",
+        CSSPropertyID::kFilter, "sepia(50%) brightness(50%)",
         StrictCSSParserContext(SecureContextMode::kInsecureContext));
     ASSERT_TRUE(value);
 
diff --git a/third_party/blink/renderer/core/css/threaded/font_object_threaded_test.cc b/third_party/blink/renderer/core/css/threaded/font_object_threaded_test.cc
index a22eac0..496d1c8 100644
--- a/third_party/blink/renderer/core/css/threaded/font_object_threaded_test.cc
+++ b/third_party/blink/renderer/core/css/threaded/font_object_threaded_test.cc
@@ -33,7 +33,7 @@
   RunOnThreads([]() {
     MutableCSSPropertyValueSet* style =
         MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-    CSSParser::ParseValue(style, CSSPropertyFont, "15px Ahem", true,
+    CSSParser::ParseValue(style, CSSPropertyID::kFont, "15px Ahem", true,
                           SecureContextMode::kInsecureContext);
 
     FontDescription desc = FontStyleResolver::ComputeFont(*style, nullptr);
diff --git a/third_party/blink/renderer/core/dom/element_test.cc b/third_party/blink/renderer/core/dom/element_test.cc
index db52ab4..3d191f9 100644
--- a/third_party/blink/renderer/core/dom/element_test.cc
+++ b/third_party/blink/renderer/core/dom/element_test.cc
@@ -218,7 +218,7 @@
   // This forces 'child' to fork it's StyleRareInheritedData, so that we can
   // ensure that the sticky subtree update behavior survives forking.
   document.getElementById("child")->SetInlineStyleProperty(
-      CSSPropertyWebkitRubyPosition, CSSValueAfter);
+      CSSPropertyID::kWebkitRubyPosition, CSSValueAfter);
   document.View()->UpdateAllLifecyclePhases(
       DocumentLifecycle::LifecycleUpdateReason::kTest);
   EXPECT_EQ(DocumentLifecycle::kPaintClean, document.Lifecycle().GetState());
@@ -241,7 +241,7 @@
   // it and the 'innerSticky' should be updated, and the 'innerSticky' should
   // fork it's StyleRareInheritedData to maintain the sticky subtree bit.
   document.getElementById("outerSticky")
-      ->SetInlineStyleProperty(CSSPropertyPosition, CSSValueStatic);
+      ->SetInlineStyleProperty(CSSPropertyID::kPosition, CSSValueStatic);
   document.View()->UpdateAllLifecyclePhases(
       DocumentLifecycle::LifecycleUpdateReason::kTest);
   EXPECT_EQ(DocumentLifecycle::kPaintClean, document.Lifecycle().GetState());
diff --git a/third_party/blink/renderer/core/dom/shadow_dom_v0_test.cc b/third_party/blink/renderer/core/dom/shadow_dom_v0_test.cc
index a20d8cd4..3a3ed98 100644
--- a/third_party/blink/renderer/core/dom/shadow_dom_v0_test.cc
+++ b/third_party/blink/renderer/core/dom/shadow_dom_v0_test.cc
@@ -161,8 +161,9 @@
 
   host->CreateV0ShadowRootForTesting();
   inner_host->CreateV0ShadowRootForTesting();
-  inner_host->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueInlineBlock);
-  span->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueBlock);
+  inner_host->SetInlineStyleProperty(CSSPropertyID::kDisplay,
+                                     CSSValueInlineBlock);
+  span->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueBlock);
 
   GetDocument().View()->UpdateAllLifecyclePhases(
       DocumentLifecycle::LifecycleUpdateReason::kTest);
diff --git a/third_party/blink/renderer/core/editing/commands/apply_style_command.cc b/third_party/blink/renderer/core/editing/commands/apply_style_command.cc
index 8ab66d2..3b91125 100644
--- a/third_party/blink/renderer/core/editing/commands/apply_style_command.cc
+++ b/third_party/blink/renderer/core/editing/commands/apply_style_command.cc
@@ -501,14 +501,14 @@
         max(kMinimumFontSize,
             starting_font_sizes.at(node) + style->FontSizeDelta());
     const CSSValue* value =
-        inline_style->GetPropertyCSSValue(CSSPropertyFontSize);
+        inline_style->GetPropertyCSSValue(CSSPropertyID::kFontSize);
     if (value) {
-      element->RemoveInlineStyleProperty(CSSPropertyFontSize);
+      element->RemoveInlineStyleProperty(CSSPropertyID::kFontSize);
       current_font_size = ComputedFontSize(node);
     }
     if (current_font_size != desired_font_size) {
       inline_style->SetProperty(
-          CSSPropertyFontSize,
+          CSSPropertyID::kFontSize,
           *CSSPrimitiveValue::Create(desired_font_size,
                                      CSSPrimitiveValue::UnitType::kPixels),
           false);
@@ -576,8 +576,9 @@
   for (Node& runner : NodeTraversal::AncestorsOf(*node)) {
     if (runner == block)
       break;
-    int unicode_bidi = GetIdentifierValue(
-        CSSComputedStyleDeclaration::Create(&runner), CSSPropertyUnicodeBidi);
+    int unicode_bidi =
+        GetIdentifierValue(CSSComputedStyleDeclaration::Create(&runner),
+                           CSSPropertyID::kUnicodeBidi);
     if (unicode_bidi && unicode_bidi != CSSValueNormal) {
       highest_ancestor_unicode_bidi = unicode_bidi;
       next_highest_ancestor_with_unicode_bidi =
@@ -635,8 +636,9 @@
       continue;
 
     Element* element = ToElement(&runner);
-    int unicode_bidi = GetIdentifierValue(
-        CSSComputedStyleDeclaration::Create(element), CSSPropertyUnicodeBidi);
+    int unicode_bidi =
+        GetIdentifierValue(CSSComputedStyleDeclaration::Create(element),
+                           CSSPropertyID::kUnicodeBidi);
     if (!unicode_bidi || unicode_bidi == CSSValueNormal)
       continue;
 
@@ -653,8 +655,8 @@
     } else {
       MutableCSSPropertyValueSet* inline_style =
           CopyStyleOrCreateEmpty(element->InlineStyle());
-      inline_style->SetProperty(CSSPropertyUnicodeBidi, CSSValueNormal);
-      inline_style->RemoveProperty(CSSPropertyDirection);
+      inline_style->SetProperty(CSSPropertyID::kUnicodeBidi, CSSValueNormal);
+      inline_style->RemoveProperty(CSSPropertyID::kDirection);
       SetNodeAttribute(element, kStyleAttr,
                        AtomicString(inline_style->AsText()));
       if (IsSpanWithoutAttributesOrUnstyledStyleSpan(element)) {
@@ -670,8 +672,9 @@
                                              Node* enclosing_node) {
   for (Node* n = start_node; n && n != enclosing_node; n = n->parentNode()) {
     if (n->IsHTMLElement() &&
-        EditingStyleUtilities::IsEmbedOrIsolate(GetIdentifierValue(
-            CSSComputedStyleDeclaration::Create(n), CSSPropertyUnicodeBidi))) {
+        EditingStyleUtilities::IsEmbedOrIsolate(
+            GetIdentifierValue(CSSComputedStyleDeclaration::Create(n),
+                               CSSPropertyID::kUnicodeBidi))) {
       return ToHTMLElement(n);
     }
   }
diff --git a/third_party/blink/renderer/core/editing/commands/apply_style_command_test.cc b/third_party/blink/renderer/core/editing/commands/apply_style_command_test.cc
index fc6480c..19afc92 100644
--- a/third_party/blink/renderer/core/editing/commands/apply_style_command_test.cc
+++ b/third_party/blink/renderer/core/editing/commands/apply_style_command_test.cc
@@ -43,7 +43,7 @@
 
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  style->SetProperty(CSSPropertyTextAlign, "center", /* important */ false,
+  style->SetProperty(CSSPropertyID::kTextAlign, "center", /* important */ false,
                      SecureContextMode::kInsecureContext);
   ApplyStyleCommand::Create(GetDocument(), EditingStyle::Create(style),
                             InputEvent::InputType::kFormatJustifyCenter,
@@ -72,7 +72,7 @@
 
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  style->SetProperty(CSSPropertyTextAlign, "right", /* important */ false,
+  style->SetProperty(CSSPropertyID::kTextAlign, "right", /* important */ false,
                      SecureContextMode::kInsecureContext);
   ApplyStyleCommand::Create(GetDocument(), EditingStyle::Create(style),
                             InputEvent::InputType::kFormatJustifyCenter,
@@ -90,7 +90,8 @@
 
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  style->SetProperty(CSSPropertyWebkitFontSizeDelta, "3", /* important */ false,
+  style->SetProperty(CSSPropertyID::kWebkitFontSizeDelta, "3",
+                     /* important */ false,
                      GetDocument().GetSecureContextMode());
   ApplyStyleCommand::Create(GetDocument(), EditingStyle::Create(style),
                             InputEvent::InputType::kNone)
diff --git a/third_party/blink/renderer/core/editing/commands/editor_command.cc b/third_party/blink/renderer/core/editing/commands/editor_command.cc
index 942a266..5300682 100644
--- a/third_party/blink/renderer/core/editing/commands/editor_command.cc
+++ b/third_party/blink/renderer/core/editing/commands/editor_command.cc
@@ -671,7 +671,7 @@
                                  const String&) {
   return ExecuteApplyParagraphStyle(frame, source,
                                     InputEvent::InputType::kFormatJustifyCenter,
-                                    CSSPropertyTextAlign, "center");
+                                    CSSPropertyID::kTextAlign, "center");
 }
 
 static bool ExecuteJustifyFull(LocalFrame& frame,
@@ -680,7 +680,7 @@
                                const String&) {
   return ExecuteApplyParagraphStyle(frame, source,
                                     InputEvent::InputType::kFormatJustifyFull,
-                                    CSSPropertyTextAlign, "justify");
+                                    CSSPropertyID::kTextAlign, "justify");
 }
 
 static bool ExecuteJustifyLeft(LocalFrame& frame,
@@ -689,7 +689,7 @@
                                const String&) {
   return ExecuteApplyParagraphStyle(frame, source,
                                     InputEvent::InputType::kFormatJustifyLeft,
-                                    CSSPropertyTextAlign, "left");
+                                    CSSPropertyID::kTextAlign, "left");
 }
 
 static bool ExecuteJustifyRight(LocalFrame& frame,
@@ -698,7 +698,7 @@
                                 const String&) {
   return ExecuteApplyParagraphStyle(frame, source,
                                     InputEvent::InputType::kFormatJustifyRight,
-                                    CSSPropertyTextAlign, "right");
+                                    CSSPropertyID::kTextAlign, "right");
 }
 
 static bool ExecuteOutdent(LocalFrame& frame,
@@ -1217,19 +1217,19 @@
 }
 
 static EditingTriState StateJustifyCenter(LocalFrame& frame, Event*) {
-  return StyleCommands::StateStyle(frame, CSSPropertyTextAlign, "center");
+  return StyleCommands::StateStyle(frame, CSSPropertyID::kTextAlign, "center");
 }
 
 static EditingTriState StateJustifyFull(LocalFrame& frame, Event*) {
-  return StyleCommands::StateStyle(frame, CSSPropertyTextAlign, "justify");
+  return StyleCommands::StateStyle(frame, CSSPropertyID::kTextAlign, "justify");
 }
 
 static EditingTriState StateJustifyLeft(LocalFrame& frame, Event*) {
-  return StyleCommands::StateStyle(frame, CSSPropertyTextAlign, "left");
+  return StyleCommands::StateStyle(frame, CSSPropertyID::kTextAlign, "left");
 }
 
 static EditingTriState StateJustifyRight(LocalFrame& frame, Event*) {
-  return StyleCommands::StateStyle(frame, CSSPropertyTextAlign, "right");
+  return StyleCommands::StateStyle(frame, CSSPropertyID::kTextAlign, "right");
 }
 
 // Value functions
diff --git a/third_party/blink/renderer/core/editing/commands/remove_format_command.cc b/third_party/blink/renderer/core/editing/commands/remove_format_command.cc
index 3e94ba14cc..bdc0199 100644
--- a/third_party/blink/renderer/core/editing/commands/remove_format_command.cc
+++ b/third_party/blink/renderer/core/editing/commands/remove_format_command.cc
@@ -73,7 +73,7 @@
 
   // We want to remove everything but transparent background.
   // FIXME: We shouldn't access style().
-  default_style->Style()->SetProperty(CSSPropertyBackgroundColor,
+  default_style->Style()->SetProperty(CSSPropertyID::kBackgroundColor,
                                       CSSValueTransparent);
 
   ApplyCommandToComposite(ApplyStyleCommand::Create(
diff --git a/third_party/blink/renderer/core/editing/commands/style_commands.cc b/third_party/blink/renderer/core/editing/commands/style_commands.cc
index 6bc15205..64b63cd 100644
--- a/third_party/blink/renderer/core/editing/commands/style_commands.cc
+++ b/third_party/blink/renderer/core/editing/commands/style_commands.cc
@@ -126,7 +126,7 @@
                                      EditorCommandSource source,
                                      const String& value) {
   return ExecuteApplyStyle(frame, source, InputEvent::InputType::kNone,
-                           CSSPropertyBackgroundColor, value);
+                           CSSPropertyID::kBackgroundColor, value);
 }
 
 bool StyleCommands::ExecuteForeColor(LocalFrame& frame,
@@ -134,7 +134,7 @@
                                      EditorCommandSource source,
                                      const String& value) {
   return ExecuteApplyStyle(frame, source, InputEvent::InputType::kNone,
-                           CSSPropertyColor, value);
+                           CSSPropertyID::kColor, value);
 }
 
 bool StyleCommands::ExecuteFontName(LocalFrame& frame,
@@ -142,7 +142,7 @@
                                     EditorCommandSource source,
                                     const String& value) {
   return ExecuteApplyStyle(frame, source, InputEvent::InputType::kNone,
-                           CSSPropertyFontFamily, value);
+                           CSSPropertyID::kFontFamily, value);
 }
 
 bool StyleCommands::ExecuteFontSize(LocalFrame& frame,
@@ -153,7 +153,7 @@
   if (!HTMLFontElement::CssValueFromFontSizeNumber(value, size))
     return false;
   return ExecuteApplyStyle(frame, source, InputEvent::InputType::kNone,
-                           CSSPropertyFontSize, size);
+                           CSSPropertyID::kFontSize, size);
 }
 
 bool StyleCommands::ExecuteFontSizeDelta(LocalFrame& frame,
@@ -161,7 +161,7 @@
                                          EditorCommandSource source,
                                          const String& value) {
   return ExecuteApplyStyle(frame, source, InputEvent::InputType::kNone,
-                           CSSPropertyWebkitFontSizeDelta, value);
+                           CSSPropertyID::kWebkitFontSizeDelta, value);
 }
 
 bool StyleCommands::ExecuteMakeTextWritingDirectionLeftToRight(
@@ -171,8 +171,8 @@
     const String&) {
   MutableCSSPropertyValueSet* const style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  style->SetProperty(CSSPropertyUnicodeBidi, CSSValueIsolate);
-  style->SetProperty(CSSPropertyDirection, CSSValueLtr);
+  style->SetProperty(CSSPropertyID::kUnicodeBidi, CSSValueIsolate);
+  style->SetProperty(CSSPropertyID::kDirection, CSSValueLtr);
   ApplyStyle(frame, style, InputEvent::InputType::kFormatSetBlockTextDirection);
   return true;
 }
@@ -183,7 +183,7 @@
                                                            const String&) {
   MutableCSSPropertyValueSet* const style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  style->SetProperty(CSSPropertyUnicodeBidi, CSSValueNormal);
+  style->SetProperty(CSSPropertyID::kUnicodeBidi, CSSValueNormal);
   ApplyStyle(frame, style, InputEvent::InputType::kFormatSetBlockTextDirection);
   return true;
 }
@@ -195,8 +195,8 @@
     const String&) {
   MutableCSSPropertyValueSet* const style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  style->SetProperty(CSSPropertyUnicodeBidi, CSSValueIsolate);
-  style->SetProperty(CSSPropertyDirection, CSSValueRtl);
+  style->SetProperty(CSSPropertyID::kUnicodeBidi, CSSValueIsolate);
+  style->SetProperty(CSSPropertyID::kDirection, CSSValueRtl);
   ApplyStyle(frame, style, InputEvent::InputType::kFormatSetBlockTextDirection);
   return true;
 }
@@ -212,7 +212,8 @@
   EditingStyle* const style_at_start =
       EditingStyleUtilities::CreateStyleAtSelectionStart(
           frame.Selection().ComputeVisibleSelectionInDOMTreeDeprecated(),
-          property_id == CSSPropertyBackgroundColor, style_to_check->Style());
+          property_id == CSSPropertyID::kBackgroundColor,
+          style_to_check->Style());
   return style_to_check->TriStateOfStyle(style_at_start, secure_context_mode) !=
          EditingTriState::kFalse;
 }
@@ -243,7 +244,7 @@
                                       EditorCommandSource source,
                                       const String&) {
   return ExecuteToggleStyle(frame, source, InputEvent::InputType::kFormatBold,
-                            CSSPropertyFontWeight, "normal", "bold");
+                            CSSPropertyID::kFontWeight, "normal", "bold");
 }
 
 bool StyleCommands::ExecuteToggleItalic(LocalFrame& frame,
@@ -251,7 +252,7 @@
                                         EditorCommandSource source,
                                         const String&) {
   return ExecuteToggleStyle(frame, source, InputEvent::InputType::kFormatItalic,
-                            CSSPropertyFontStyle, "normal", "italic");
+                            CSSPropertyID::kFontStyle, "normal", "italic");
 }
 
 bool StyleCommands::ExecuteSubscript(LocalFrame& frame,
@@ -260,7 +261,7 @@
                                      const String&) {
   return ExecuteToggleStyle(frame, source,
                             InputEvent::InputType::kFormatSubscript,
-                            CSSPropertyVerticalAlign, "baseline", "sub");
+                            CSSPropertyID::kVerticalAlign, "baseline", "sub");
 }
 
 bool StyleCommands::ExecuteSuperscript(LocalFrame& frame,
@@ -269,7 +270,7 @@
                                        const String&) {
   return ExecuteToggleStyle(frame, source,
                             InputEvent::InputType::kFormatSuperscript,
-                            CSSPropertyVerticalAlign, "baseline", "super");
+                            CSSPropertyID::kVerticalAlign, "baseline", "super");
 }
 
 bool StyleCommands::ExecuteUnscript(LocalFrame& frame,
@@ -277,7 +278,7 @@
                                     EditorCommandSource source,
                                     const String&) {
   return ExecuteApplyStyle(frame, source, InputEvent::InputType::kNone,
-                           CSSPropertyVerticalAlign, "baseline");
+                           CSSPropertyID::kVerticalAlign, "baseline");
 }
 
 String StyleCommands::ComputeToggleStyleInList(EditingStyle& selection_style,
@@ -329,7 +330,7 @@
       *CSSIdentifierValue::Create(CSSValueLineThrough);
   return ExecuteToggleStyleInList(
       frame, source, InputEvent::InputType::kFormatStrikeThrough,
-      CSSPropertyWebkitTextDecorationsInEffect, line_through);
+      CSSPropertyID::kWebkitTextDecorationsInEffect, line_through);
 }
 
 bool StyleCommands::ExecuteUnderline(LocalFrame& frame,
@@ -340,7 +341,7 @@
       *CSSIdentifierValue::Create(CSSValueUnderline);
   return ExecuteToggleStyleInList(
       frame, source, InputEvent::InputType::kFormatUnderline,
-      CSSPropertyWebkitTextDecorationsInEffect, underline);
+      CSSPropertyID::kWebkitTextDecorationsInEffect, underline);
 }
 
 bool StyleCommands::ExecuteStyleWithCSS(LocalFrame& frame,
@@ -375,15 +376,15 @@
 }
 
 EditingTriState StyleCommands::StateBold(LocalFrame& frame, Event*) {
-  return StateStyle(frame, CSSPropertyFontWeight, "bold");
+  return StateStyle(frame, CSSPropertyID::kFontWeight, "bold");
 }
 
 EditingTriState StyleCommands::StateItalic(LocalFrame& frame, Event*) {
-  return StateStyle(frame, CSSPropertyFontStyle, "italic");
+  return StateStyle(frame, CSSPropertyID::kFontStyle, "italic");
 }
 
 EditingTriState StyleCommands::StateStrikethrough(LocalFrame& frame, Event*) {
-  return StateStyle(frame, CSSPropertyWebkitTextDecorationsInEffect,
+  return StateStyle(frame, CSSPropertyID::kWebkitTextDecorationsInEffect,
                     "line-through");
 }
 
@@ -393,11 +394,11 @@
 }
 
 EditingTriState StyleCommands::StateSubscript(LocalFrame& frame, Event*) {
-  return StateStyle(frame, CSSPropertyVerticalAlign, "sub");
+  return StateStyle(frame, CSSPropertyID::kVerticalAlign, "sub");
 }
 
 EditingTriState StyleCommands::StateSuperscript(LocalFrame& frame, Event*) {
-  return StateStyle(frame, CSSPropertyVerticalAlign, "super");
+  return StateStyle(frame, CSSPropertyID::kVerticalAlign, "super");
 }
 
 bool StyleCommands::IsUnicodeBidiNestedOrMultipleEmbeddings(
@@ -554,7 +555,7 @@
 }
 
 EditingTriState StyleCommands::StateUnderline(LocalFrame& frame, Event*) {
-  return StateStyle(frame, CSSPropertyWebkitTextDecorationsInEffect,
+  return StateStyle(frame, CSSPropertyID::kWebkitTextDecorationsInEffect,
                     "underline");
 }
 
@@ -565,11 +566,11 @@
   EditingStyle* const selection_style =
       EditingStyleUtilities::CreateStyleAtSelectionStart(
           frame.Selection().ComputeVisibleSelectionInDOMTreeDeprecated(),
-          property_id == CSSPropertyBackgroundColor);
+          property_id == CSSPropertyID::kBackgroundColor);
   if (!selection_style || !selection_style->Style())
     return String();
 
-  if (property_id == CSSPropertyFontSize)
+  if (property_id == CSSPropertyID::kFontSize)
     return String::Number(selection_style->LegacyFontSize(frame.GetDocument()));
   return selection_style->Style()->GetPropertyValue(property_id);
 }
@@ -586,31 +587,31 @@
 String StyleCommands::ValueBackColor(const EditorInternalCommand&,
                                      LocalFrame& frame,
                                      Event*) {
-  return ValueStyle(frame, CSSPropertyBackgroundColor);
+  return ValueStyle(frame, CSSPropertyID::kBackgroundColor);
 }
 
 String StyleCommands::ValueForeColor(const EditorInternalCommand&,
                                      LocalFrame& frame,
                                      Event*) {
-  return ValueStyle(frame, CSSPropertyColor);
+  return ValueStyle(frame, CSSPropertyID::kColor);
 }
 
 String StyleCommands::ValueFontName(const EditorInternalCommand&,
                                     LocalFrame& frame,
                                     Event*) {
-  return ValueStyle(frame, CSSPropertyFontFamily);
+  return ValueStyle(frame, CSSPropertyID::kFontFamily);
 }
 
 String StyleCommands::ValueFontSize(const EditorInternalCommand&,
                                     LocalFrame& frame,
                                     Event*) {
-  return ValueStyle(frame, CSSPropertyFontSize);
+  return ValueStyle(frame, CSSPropertyID::kFontSize);
 }
 
 String StyleCommands::ValueFontSizeDelta(const EditorInternalCommand&,
                                          LocalFrame& frame,
                                          Event*) {
-  return ValueStyle(frame, CSSPropertyWebkitFontSizeDelta);
+  return ValueStyle(frame, CSSPropertyID::kWebkitFontSizeDelta);
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/editing/editing_style.cc b/third_party/blink/renderer/core/editing/editing_style.cc
index 36e0a9fb..1959a41 100644
--- a/third_party/blink/renderer/core/editing/editing_style.cc
+++ b/third_party/blink/renderer/core/editing/editing_style.cc
@@ -77,18 +77,20 @@
 // NOTE: Use either allEditingProperties() or inheritableEditingProperties() to
 // respect runtime enabling of properties.
 static const CSSPropertyID kStaticEditingProperties[] = {
-    CSSPropertyBackgroundColor, CSSPropertyColor, CSSPropertyFontFamily,
-    CSSPropertyFontSize, CSSPropertyFontStyle, CSSPropertyFontVariantLigatures,
-    CSSPropertyFontVariantCaps, CSSPropertyFontWeight, CSSPropertyLetterSpacing,
-    CSSPropertyOrphans, CSSPropertyTextAlign,
-    // FIXME: CSSPropertyTextDecoration needs to be removed when CSS3 Text
+    CSSPropertyID::kBackgroundColor, CSSPropertyID::kColor,
+    CSSPropertyID::kFontFamily, CSSPropertyID::kFontSize,
+    CSSPropertyID::kFontStyle, CSSPropertyID::kFontVariantLigatures,
+    CSSPropertyID::kFontVariantCaps, CSSPropertyID::kFontWeight,
+    CSSPropertyID::kLetterSpacing, CSSPropertyID::kOrphans,
+    CSSPropertyID::kTextAlign,
+    // FIXME: CSSPropertyID::kTextDecoration needs to be removed when CSS3 Text
     // Decoration feature is no longer experimental.
-    CSSPropertyTextDecoration, CSSPropertyTextDecorationLine,
-    CSSPropertyTextIndent, CSSPropertyTextTransform, CSSPropertyWhiteSpace,
-    CSSPropertyWidows, CSSPropertyWordSpacing,
-    CSSPropertyWebkitTextDecorationsInEffect, CSSPropertyWebkitTextFillColor,
-    CSSPropertyWebkitTextStrokeColor, CSSPropertyWebkitTextStrokeWidth,
-    CSSPropertyCaretColor};
+    CSSPropertyID::kTextDecoration, CSSPropertyID::kTextDecorationLine,
+    CSSPropertyID::kTextIndent, CSSPropertyID::kTextTransform,
+    CSSPropertyID::kWhiteSpace, CSSPropertyID::kWidows,
+    CSSPropertyID::kWordSpacing, CSSPropertyID::kWebkitTextDecorationsInEffect,
+    CSSPropertyID::kWebkitTextFillColor, CSSPropertyID::kWebkitTextStrokeColor,
+    CSSPropertyID::kWebkitTextStrokeWidth, CSSPropertyID::kCaretColor};
 
 enum EditingPropertiesType {
   kOnlyInheritableEditingProperties,
@@ -102,7 +104,7 @@
         kStaticEditingProperties, base::size(kStaticEditingProperties),
         properties);
     for (wtf_size_t index = 0; index < properties.size(); index++) {
-      if (properties[index]->IDEquals(CSSPropertyTextDecoration)) {
+      if (properties[index]->IDEquals(CSSPropertyID::kTextDecoration)) {
         properties.EraseAt(index);
         break;
       }
@@ -224,7 +226,7 @@
 
   // TODO: Does this work on style or computed style? The code here, but we
   // might need to do something here to match CSSPrimitiveValues. if
-  // (property_id_ == CSSPropertyFontWeight &&
+  // (property_id_ == CSSPropertyID::kFontWeight &&
   //     identifier_value_->GetValueID() == CSSValueBold) {
   //   auto* primitive_value = DynamicTo<CSSPrimitiveValue>(value);
   //   if (primitive_value &&
@@ -274,25 +276,29 @@
 HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent(
     CSSValueID primitive_value,
     const HTMLQualifiedName& tag_name)
-    : HTMLElementEquivalent(CSSPropertyTextDecorationLine,
+    : HTMLElementEquivalent(CSSPropertyID::kTextDecorationLine,
                             primitive_value,
                             tag_name)
-// CSSPropertyTextDecorationLine is used in HTMLElementEquivalent::AddToStyle
+// CSSPropertyID::kTextDecorationLine is used in
+// HTMLElementEquivalent::AddToStyle
 {}
 
 bool HTMLTextDecorationEquivalent::PropertyExistsInStyle(
     const CSSPropertyValueSet* style) const {
-  return style->GetPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect) ||
-         style->GetPropertyCSSValue(CSSPropertyTextDecorationLine);
+  return style->GetPropertyCSSValue(
+             CSSPropertyID::kWebkitTextDecorationsInEffect) ||
+         style->GetPropertyCSSValue(CSSPropertyID::kTextDecorationLine);
 }
 
 bool HTMLTextDecorationEquivalent::ValueIsPresentInStyle(
     HTMLElement* element,
     CSSPropertyValueSet* style) const {
   const CSSValue* style_value =
-      style->GetPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
-  if (!style_value)
-    style_value = style->GetPropertyCSSValue(CSSPropertyTextDecorationLine);
+      style->GetPropertyCSSValue(CSSPropertyID::kWebkitTextDecorationsInEffect);
+  if (!style_value) {
+    style_value =
+        style->GetPropertyCSSValue(CSSPropertyID::kTextDecorationLine);
+  }
   if (!Matches(element))
     return false;
   auto* style_value_list = DynamicTo<CSSValueList>(style_value);
@@ -394,7 +400,7 @@
 };
 
 HTMLFontSizeEquivalent::HTMLFontSizeEquivalent()
-    : HTMLAttributeEquivalent(CSSPropertyFontSize,
+    : HTMLAttributeEquivalent(CSSPropertyID::kFontSize,
                               html_names::kFontTag,
                               html_names::kSizeAttr) {}
 
@@ -432,7 +438,7 @@
                            SecureContextMode secure_context_mode)
     : mutable_style_(nullptr) {
   SetProperty(property_id, value, /* important */ false, secure_context_mode);
-  is_vertical_align_ = property_id == CSSPropertyVerticalAlign &&
+  is_vertical_align_ = property_id == CSSPropertyID::kVerticalAlign &&
                        (value == "sub" || value == "super");
 }
 
@@ -454,21 +460,22 @@
 }
 
 static inline Color GetFontColor(CSSStyleDeclaration* style) {
-  return CssValueToColor(style->GetPropertyCSSValueInternal(CSSPropertyColor));
+  return CssValueToColor(
+      style->GetPropertyCSSValueInternal(CSSPropertyID::kColor));
 }
 
 static inline Color GetFontColor(CSSPropertyValueSet* style) {
-  return CssValueToColor(style->GetPropertyCSSValue(CSSPropertyColor));
+  return CssValueToColor(style->GetPropertyCSSValue(CSSPropertyID::kColor));
 }
 
 static inline Color GetBackgroundColor(CSSStyleDeclaration* style) {
   return CssValueToColor(
-      style->GetPropertyCSSValueInternal(CSSPropertyBackgroundColor));
+      style->GetPropertyCSSValueInternal(CSSPropertyID::kBackgroundColor));
 }
 
 static inline Color GetBackgroundColor(CSSPropertyValueSet* style) {
   return CssValueToColor(
-      style->GetPropertyCSSValue(CSSPropertyBackgroundColor));
+      style->GetPropertyCSSValue(CSSPropertyID::kBackgroundColor));
 }
 
 static inline Color BackgroundColorInEffect(Node* node) {
@@ -500,8 +507,8 @@
 template <typename T>
 static int TextAlignResolvingStartAndEnd(T* style) {
   return TextAlignResolvingStartAndEnd(
-      GetIdentifierValue(style, CSSPropertyTextAlign),
-      GetIdentifierValue(style, CSSPropertyDirection));
+      GetIdentifierValue(style, CSSPropertyID::kTextAlign),
+      GetIdentifierValue(style, CSSPropertyID::kDirection));
 }
 
 void EditingStyle::Init(Node* node, PropertiesToInclude properties_to_include) {
@@ -520,15 +527,15 @@
   if (properties_to_include == kEditingPropertiesInEffect) {
     if (const CSSValue* value =
             EditingStyleUtilities::BackgroundColorValueInEffect(node)) {
-      mutable_style_->SetProperty(CSSPropertyBackgroundColor, value->CssText(),
-                                  /* important */ false,
-                                  node->GetDocument().GetSecureContextMode());
+      mutable_style_->SetProperty(
+          CSSPropertyID::kBackgroundColor, value->CssText(),
+          /* important */ false, node->GetDocument().GetSecureContextMode());
     }
     if (const CSSValue* value = computed_style_at_position->GetPropertyCSSValue(
             GetCSSPropertyWebkitTextDecorationsInEffect())) {
-      mutable_style_->SetProperty(CSSPropertyTextDecoration, value->CssText(),
-                                  /* important */ false,
-                                  node->GetDocument().GetSecureContextMode());
+      mutable_style_->SetProperty(
+          CSSPropertyID::kTextDecoration, value->CssText(),
+          /* important */ false, node->GetDocument().GetSecureContextMode());
     }
   }
 
@@ -544,7 +551,7 @@
         computed_style->SpecifiedFontSize()) {
       // ReplaceSelectionCommandTest_TextAutosizingDoesntInflateText gets here.
       mutable_style_->SetProperty(
-          CSSPropertyFontSize,
+          CSSPropertyID::kFontSize,
           CSSPrimitiveValue::Create(computed_style->SpecifiedFontSize(),
                                     CSSPrimitiveValue::UnitType::kPixels)
               ->CssText(),
@@ -568,12 +575,12 @@
   // inherit it).  Likewise for stroke color.
   // Similar thing happens for caret-color if it's auto or currentColor.
   if (computed_style->TextFillColor().IsCurrentColor())
-    mutable_style_->RemoveProperty(CSSPropertyWebkitTextFillColor);
+    mutable_style_->RemoveProperty(CSSPropertyID::kWebkitTextFillColor);
   if (computed_style->TextStrokeColor().IsCurrentColor())
-    mutable_style_->RemoveProperty(CSSPropertyWebkitTextStrokeColor);
+    mutable_style_->RemoveProperty(CSSPropertyID::kWebkitTextStrokeColor);
   if (computed_style->CaretColor().IsAutoColor() ||
       computed_style->CaretColor().IsCurrentColor())
-    mutable_style_->RemoveProperty(CSSPropertyCaretColor);
+    mutable_style_->RemoveProperty(CSSPropertyID::kCaretColor);
 }
 
 void EditingStyle::SetProperty(CSSPropertyID property_id,
@@ -594,7 +601,7 @@
   DCHECK(computed_style);
   if (computed_style->GetFontDescription().KeywordSize()) {
     mutable_style_->SetProperty(
-        CSSPropertyFontSize,
+        CSSPropertyID::kFontSize,
         css_computed_style->GetFontSizeCSSValuePreferringKeyword()->CssText(),
         /* important */ false, secure_context_mode);
   }
@@ -604,15 +611,15 @@
   if (!mutable_style_)
     return;
 
-  if (mutable_style_->GetPropertyCSSValue(CSSPropertyFontSize)) {
+  if (mutable_style_->GetPropertyCSSValue(CSSPropertyID::kFontSize)) {
     // Explicit font size overrides any delta.
-    mutable_style_->RemoveProperty(CSSPropertyWebkitFontSizeDelta);
+    mutable_style_->RemoveProperty(CSSPropertyID::kWebkitFontSizeDelta);
     return;
   }
 
   // Get the adjustment amount out of the style.
   const CSSValue* value =
-      mutable_style_->GetPropertyCSSValue(CSSPropertyWebkitFontSizeDelta);
+      mutable_style_->GetPropertyCSSValue(CSSPropertyID::kWebkitFontSizeDelta);
   const auto* primitive_value = DynamicTo<CSSPrimitiveValue>(value);
   if (!primitive_value)
     return;
@@ -623,7 +630,7 @@
     return;
 
   font_size_delta_ = primitive_value->GetFloatValue();
-  mutable_style_->RemoveProperty(CSSPropertyWebkitFontSizeDelta);
+  mutable_style_->RemoveProperty(CSSPropertyID::kWebkitFontSizeDelta);
 }
 
 bool EditingStyle::IsEmpty() const {
@@ -636,7 +643,7 @@
     return false;
 
   const CSSValue* unicode_bidi =
-      mutable_style_->GetPropertyCSSValue(CSSPropertyUnicodeBidi);
+      mutable_style_->GetPropertyCSSValue(CSSPropertyID::kUnicodeBidi);
   auto* unicode_bidi_identifier_value =
       DynamicTo<CSSIdentifierValue>(unicode_bidi);
   if (!unicode_bidi_identifier_value)
@@ -645,7 +652,7 @@
   CSSValueID unicode_bidi_value = unicode_bidi_identifier_value->GetValueID();
   if (EditingStyleUtilities::IsEmbedOrIsolate(unicode_bidi_value)) {
     const CSSValue* direction =
-        mutable_style_->GetPropertyCSSValue(CSSPropertyDirection);
+        mutable_style_->GetPropertyCSSValue(CSSPropertyID::kDirection);
     auto* direction_identifier_value = DynamicTo<CSSIdentifierValue>(direction);
     if (!direction_identifier_value)
       return false;
@@ -692,28 +699,19 @@
 // This is the list of CSS properties that apply specially to block-level
 // elements.
 static const CSSPropertyID kStaticBlockProperties[] = {
-    CSSPropertyBreakAfter,
-    CSSPropertyBreakBefore,
-    CSSPropertyBreakInside,
-    CSSPropertyOrphans,
-    CSSPropertyOverflow,  // This can be also be applied to replaced elements
-    CSSPropertyColumnCount,
-    CSSPropertyColumnGap,
-    CSSPropertyColumnRuleColor,
-    CSSPropertyColumnRuleStyle,
-    CSSPropertyColumnRuleWidth,
-    CSSPropertyWebkitColumnBreakBefore,
-    CSSPropertyWebkitColumnBreakAfter,
-    CSSPropertyWebkitColumnBreakInside,
-    CSSPropertyColumnWidth,
-    CSSPropertyPageBreakAfter,
-    CSSPropertyPageBreakBefore,
-    CSSPropertyPageBreakInside,
-    CSSPropertyTextAlign,
-    CSSPropertyTextAlignLast,
-    CSSPropertyTextIndent,
-    CSSPropertyTextJustify,
-    CSSPropertyWidows};
+    CSSPropertyID::kBreakAfter, CSSPropertyID::kBreakBefore,
+    CSSPropertyID::kBreakInside, CSSPropertyID::kOrphans,
+    CSSPropertyID::kOverflow,  // This can be also be applied to replaced
+                               // elements
+    CSSPropertyID::kColumnCount, CSSPropertyID::kColumnGap,
+    CSSPropertyID::kColumnRuleColor, CSSPropertyID::kColumnRuleStyle,
+    CSSPropertyID::kColumnRuleWidth, CSSPropertyID::kWebkitColumnBreakBefore,
+    CSSPropertyID::kWebkitColumnBreakAfter,
+    CSSPropertyID::kWebkitColumnBreakInside, CSSPropertyID::kColumnWidth,
+    CSSPropertyID::kPageBreakAfter, CSSPropertyID::kPageBreakBefore,
+    CSSPropertyID::kPageBreakInside, CSSPropertyID::kTextAlign,
+    CSSPropertyID::kTextAlignLast, CSSPropertyID::kTextIndent,
+    CSSPropertyID::kTextJustify, CSSPropertyID::kWidows};
 
 static Vector<const CSSProperty*>& BlockPropertiesVector() {
   DEFINE_STATIC_LOCAL(Vector<const CSSProperty*>, properties, ());
@@ -742,17 +740,17 @@
   text_direction->mutable_style_ =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
   text_direction->mutable_style_->SetProperty(
-      CSSPropertyUnicodeBidi, CSSValueIsolate,
-      mutable_style_->PropertyIsImportant(CSSPropertyUnicodeBidi));
+      CSSPropertyID::kUnicodeBidi, CSSValueIsolate,
+      mutable_style_->PropertyIsImportant(CSSPropertyID::kUnicodeBidi));
 
   text_direction->mutable_style_->SetProperty(
-      CSSPropertyDirection,
-      mutable_style_->GetPropertyValue(CSSPropertyDirection),
-      mutable_style_->PropertyIsImportant(CSSPropertyDirection),
+      CSSPropertyID::kDirection,
+      mutable_style_->GetPropertyValue(CSSPropertyID::kDirection),
+      mutable_style_->PropertyIsImportant(CSSPropertyID::kDirection),
       secure_context_mode);
 
-  mutable_style_->RemoveProperty(CSSPropertyUnicodeBidi);
-  mutable_style_->RemoveProperty(CSSPropertyDirection);
+  mutable_style_->RemoveProperty(CSSPropertyID::kUnicodeBidi);
+  mutable_style_->RemoveProperty(CSSPropertyID::kDirection);
 
   return text_direction;
 }
@@ -800,19 +798,20 @@
 
   const CSSValue* text_decorations_in_effect =
       mutable_style_->GetPropertyCSSValue(
-          CSSPropertyWebkitTextDecorationsInEffect);
+          CSSPropertyID::kWebkitTextDecorationsInEffect);
   if (!text_decorations_in_effect)
     return;
 
   if (text_decorations_in_effect->IsValueList()) {
     mutable_style_->SetProperty(
-        CSSPropertyTextDecorationLine, text_decorations_in_effect->CssText(),
-        mutable_style_->PropertyIsImportant(CSSPropertyTextDecorationLine),
+        CSSPropertyID::kTextDecorationLine,
+        text_decorations_in_effect->CssText(),
+        mutable_style_->PropertyIsImportant(CSSPropertyID::kTextDecorationLine),
         secure_context_mode);
   } else {
-    mutable_style_->RemoveProperty(CSSPropertyTextDecorationLine);
+    mutable_style_->RemoveProperty(CSSPropertyID::kTextDecorationLine);
   }
-  mutable_style_->RemoveProperty(CSSPropertyWebkitTextDecorationsInEffect);
+  mutable_style_->RemoveProperty(CSSPropertyID::kWebkitTextDecorationsInEffect);
 }
 
 EditingTriState EditingStyle::TriStateOfStyle(
@@ -833,7 +832,8 @@
 
   // CSS properties that create a visual difference only when applied to text.
   static const CSSProperty* kTextOnlyProperties[] = {
-      // FIXME: CSSPropertyTextDecoration needs to be removed when CSS3 Text
+      // FIXME: CSSPropertyID::kTextDecoration needs to be removed when CSS3
+      // Text
       // Decoration feature is no longer experimental.
       &GetCSSPropertyTextDecoration(),
       &GetCSSPropertyTextDecorationLine(),
@@ -879,10 +879,11 @@
         // document.queryCommandState() works with the style. See bug
         // http://crbug.com/582225.
         if (is_vertical_align_ &&
-            GetIdentifierValue(node_style, CSSPropertyVerticalAlign) ==
+            GetIdentifierValue(node_style, CSSPropertyID::kVerticalAlign) ==
                 CSSValueBaseline) {
-          const auto* vertical_align = To<CSSIdentifierValue>(
-              mutable_style_->GetPropertyCSSValue(CSSPropertyVerticalAlign));
+          const auto* vertical_align =
+              To<CSSIdentifierValue>(mutable_style_->GetPropertyCSSValue(
+                  CSSPropertyID::kVerticalAlign));
           if (EditingStyleUtilities::HasAncestorVerticalAlignStyle(
                   node, vertical_align->GetValueID()))
             node.MutableComputedStyle()->SetVerticalAlign(
@@ -928,22 +929,24 @@
 
     // We don't override whitespace property of a tab span because that would
     // collapse the tab into a space.
-    if (property_id == CSSPropertyWhiteSpace && IsTabHTMLSpanElement(element))
+    if (property_id == CSSPropertyID::kWhiteSpace &&
+        IsTabHTMLSpanElement(element))
       continue;
 
-    if (property_id == CSSPropertyWebkitTextDecorationsInEffect &&
-        inline_style->GetPropertyCSSValue(CSSPropertyTextDecorationLine)) {
+    if (property_id == CSSPropertyID::kWebkitTextDecorationsInEffect &&
+        inline_style->GetPropertyCSSValue(CSSPropertyID::kTextDecorationLine)) {
       if (!conflicting_properties)
         return true;
-      conflicting_properties->push_back(CSSPropertyTextDecoration);
+      conflicting_properties->push_back(CSSPropertyID::kTextDecoration);
       // Because text-decoration expands to text-decoration-line,
       // we also state it as conflicting.
-      conflicting_properties->push_back(CSSPropertyTextDecorationLine);
+      conflicting_properties->push_back(CSSPropertyID::kTextDecorationLine);
       if (extracted_style) {
         extracted_style->SetProperty(
-            CSSPropertyTextDecorationLine,
-            inline_style->GetPropertyValue(CSSPropertyTextDecorationLine),
-            inline_style->PropertyIsImportant(CSSPropertyTextDecorationLine),
+            CSSPropertyID::kTextDecorationLine,
+            inline_style->GetPropertyValue(CSSPropertyID::kTextDecorationLine),
+            inline_style->PropertyIsImportant(
+                CSSPropertyID::kTextDecorationLine),
             element->GetDocument().GetSecureContextMode());
       }
       continue;
@@ -952,11 +955,11 @@
     if (!inline_style->GetPropertyCSSValue(property_id))
       continue;
 
-    if (property_id == CSSPropertyUnicodeBidi &&
-        inline_style->GetPropertyCSSValue(CSSPropertyDirection)) {
+    if (property_id == CSSPropertyID::kUnicodeBidi &&
+        inline_style->GetPropertyCSSValue(CSSPropertyID::kDirection)) {
       if (!conflicting_properties)
         return true;
-      conflicting_properties->push_back(CSSPropertyDirection);
+      conflicting_properties->push_back(CSSPropertyID::kDirection);
       if (extracted_style) {
         extracted_style->SetProperty(
             property_id, inline_style->GetPropertyValue(property_id),
@@ -989,17 +992,17 @@
       (MakeGarbageCollected<HeapVector<Member<HTMLElementEquivalent>>>()));
   if (!html_element_equivalents->size()) {
     html_element_equivalents->push_back(HTMLElementEquivalent::Create(
-        CSSPropertyFontWeight, CSSValueBold, html_names::kBTag));
+        CSSPropertyID::kFontWeight, CSSValueBold, html_names::kBTag));
     html_element_equivalents->push_back(HTMLElementEquivalent::Create(
-        CSSPropertyFontWeight, CSSValueBold, html_names::kStrongTag));
+        CSSPropertyID::kFontWeight, CSSValueBold, html_names::kStrongTag));
     html_element_equivalents->push_back(HTMLElementEquivalent::Create(
-        CSSPropertyVerticalAlign, CSSValueSub, html_names::kSubTag));
+        CSSPropertyID::kVerticalAlign, CSSValueSub, html_names::kSubTag));
     html_element_equivalents->push_back(HTMLElementEquivalent::Create(
-        CSSPropertyVerticalAlign, CSSValueSuper, html_names::kSupTag));
+        CSSPropertyID::kVerticalAlign, CSSValueSuper, html_names::kSupTag));
     html_element_equivalents->push_back(HTMLElementEquivalent::Create(
-        CSSPropertyFontStyle, CSSValueItalic, html_names::kITag));
+        CSSPropertyID::kFontStyle, CSSValueItalic, html_names::kITag));
     html_element_equivalents->push_back(HTMLElementEquivalent::Create(
-        CSSPropertyFontStyle, CSSValueItalic, html_names::kEmTag));
+        CSSPropertyID::kFontStyle, CSSValueItalic, html_names::kEmTag));
 
     html_element_equivalents->push_back(HTMLTextDecorationEquivalent::Create(
         CSSValueUnderline, html_names::kUTag));
@@ -1046,15 +1049,16 @@
     // HTMLAttriuteEquivalent matches exactly one attribute of exactly one
     // element except dirAttr.
     html_attribute_equivalents->push_back(HTMLAttributeEquivalent::Create(
-        CSSPropertyColor, html_names::kFontTag, html_names::kColorAttr));
+        CSSPropertyID::kColor, html_names::kFontTag, html_names::kColorAttr));
     html_attribute_equivalents->push_back(HTMLAttributeEquivalent::Create(
-        CSSPropertyFontFamily, html_names::kFontTag, html_names::kFaceAttr));
+        CSSPropertyID::kFontFamily, html_names::kFontTag,
+        html_names::kFaceAttr));
     html_attribute_equivalents->push_back(HTMLFontSizeEquivalent::Create());
 
     html_attribute_equivalents->push_back(HTMLAttributeEquivalent::Create(
-        CSSPropertyDirection, html_names::kDirAttr));
+        CSSPropertyID::kDirection, html_names::kDirAttr));
     html_attribute_equivalents->push_back(HTMLAttributeEquivalent::Create(
-        CSSPropertyUnicodeBidi, html_names::kDirAttr));
+        CSSPropertyID::kUnicodeBidi, html_names::kDirAttr));
   }
 
   return *html_attribute_equivalents;
@@ -1199,33 +1203,34 @@
   const CSSValue* unicode_bidi = nullptr;
   const CSSValue* direction = nullptr;
   if (should_preserve_writing_direction == kPreserveWritingDirection) {
-    unicode_bidi = mutable_style_->GetPropertyCSSValue(CSSPropertyUnicodeBidi);
-    direction = mutable_style_->GetPropertyCSSValue(CSSPropertyDirection);
+    unicode_bidi =
+        mutable_style_->GetPropertyCSSValue(CSSPropertyID::kUnicodeBidi);
+    direction = mutable_style_->GetPropertyCSSValue(CSSPropertyID::kDirection);
   }
 
   mutable_style_->RemoveEquivalentProperties(style_at_position);
 
   if (TextAlignResolvingStartAndEnd(mutable_style_.Get()) ==
       TextAlignResolvingStartAndEnd(style_at_position))
-    mutable_style_->RemoveProperty(CSSPropertyTextAlign);
+    mutable_style_->RemoveProperty(CSSPropertyID::kTextAlign);
 
   if (GetFontColor(mutable_style_.Get()) == GetFontColor(style_at_position))
-    mutable_style_->RemoveProperty(CSSPropertyColor);
+    mutable_style_->RemoveProperty(CSSPropertyID::kColor);
 
   if (EditingStyleUtilities::HasTransparentBackgroundColor(
           mutable_style_.Get()) ||
-      CssValueToColor(
-          mutable_style_->GetPropertyCSSValue(CSSPropertyBackgroundColor)) ==
+      CssValueToColor(mutable_style_->GetPropertyCSSValue(
+          CSSPropertyID::kBackgroundColor)) ==
           BackgroundColorInEffect(position.ComputeContainerNode()))
-    mutable_style_->RemoveProperty(CSSPropertyBackgroundColor);
+    mutable_style_->RemoveProperty(CSSPropertyID::kBackgroundColor);
 
   if (auto* unicode_bidi_identifier_value =
           DynamicTo<CSSIdentifierValue>(unicode_bidi)) {
-    mutable_style_->SetProperty(CSSPropertyUnicodeBidi,
+    mutable_style_->SetProperty(CSSPropertyID::kUnicodeBidi,
                                 unicode_bidi_identifier_value->GetValueID());
     if (auto* direction_identifier_value =
             DynamicTo<CSSIdentifierValue>(direction)) {
-      mutable_style_->SetProperty(CSSPropertyDirection,
+      mutable_style_->SetProperty(CSSPropertyID::kDirection,
                                   direction_identifier_value->GetValueID());
     }
   }
@@ -1365,8 +1370,8 @@
 
     // text decorations never override values
     const auto* property_value_list = DynamicTo<CSSValueList>(property.Value());
-    if ((property.Id() == CSSPropertyTextDecorationLine ||
-         property.Id() == CSSPropertyWebkitTextDecorationsInEffect) &&
+    if ((property.Id() == CSSPropertyID::kTextDecorationLine ||
+         property.Id() == CSSPropertyID::kWebkitTextDecorationsInEffect) &&
         property_value_list && value) {
       if (const auto* value_list = DynamicTo<CSSValueList>(value)) {
         const CSSValueList& result =
@@ -1492,9 +1497,10 @@
       EditingStyle::Create(context, kEditingPropertiesInEffect);
   if (computed_style->mutable_style_) {
     if (!computed_style->mutable_style_->GetPropertyCSSValue(
-            CSSPropertyBackgroundColor))
-      computed_style->mutable_style_->SetProperty(CSSPropertyBackgroundColor,
-                                                  CSSValueTransparent);
+            CSSPropertyID::kBackgroundColor)) {
+      computed_style->mutable_style_->SetProperty(
+          CSSPropertyID::kBackgroundColor, CSSValueTransparent);
+    }
 
     RemovePropertiesInStyle(computed_style->mutable_style_.Get(),
                             style_from_matched_rules);
@@ -1508,14 +1514,15 @@
   // them unless they are overriden by rules. These rules are added by
   // serialization code to wrap text nodes.
   if (IsStyleSpanOrSpanWithOnlyStyleAttribute(element)) {
-    if (!style_from_matched_rules->GetPropertyCSSValue(CSSPropertyDisplay) &&
-        GetIdentifierValue(mutable_style_.Get(), CSSPropertyDisplay) ==
+    if (!style_from_matched_rules->GetPropertyCSSValue(
+            CSSPropertyID::kDisplay) &&
+        GetIdentifierValue(mutable_style_.Get(), CSSPropertyID::kDisplay) ==
             CSSValueInline)
-      mutable_style_->RemoveProperty(CSSPropertyDisplay);
-    if (!style_from_matched_rules->GetPropertyCSSValue(CSSPropertyFloat) &&
-        GetIdentifierValue(mutable_style_.Get(), CSSPropertyFloat) ==
+      mutable_style_->RemoveProperty(CSSPropertyID::kDisplay);
+    if (!style_from_matched_rules->GetPropertyCSSValue(CSSPropertyID::kFloat) &&
+        GetIdentifierValue(mutable_style_.Get(), CSSPropertyID::kFloat) ==
             CSSValueNone)
-      mutable_style_->RemoveProperty(CSSPropertyFloat);
+      mutable_style_->RemoveProperty(CSSPropertyID::kFloat);
   }
 }
 
@@ -1533,13 +1540,13 @@
   if (!mutable_style_)
     mutable_style_ = MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
   const bool kPropertyIsImportant = true;
-  mutable_style_->SetProperty(CSSPropertyDisplay, CSSValueInline,
+  mutable_style_->SetProperty(CSSPropertyID::kDisplay, CSSValueInline,
                               kPropertyIsImportant);
 }
 
 int EditingStyle::LegacyFontSize(Document* document) const {
   const CSSValue* css_value =
-      mutable_style_->GetPropertyCSSValue(CSSPropertyFontSize);
+      mutable_style_->GetPropertyCSSValue(CSSPropertyID::kFontSize);
   if (!css_value ||
       !(css_value->IsPrimitiveValue() || css_value->IsIdentifierValue()))
     return 0;
@@ -1555,23 +1562,23 @@
     MutableCSSPropertyValueSet* style,
     SecureContextMode secure_context_mode) {
   const CSSValue* text_decorations_in_effect =
-      style->GetPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
+      style->GetPropertyCSSValue(CSSPropertyID::kWebkitTextDecorationsInEffect);
   const CSSValue* text_decoration =
-      style->GetPropertyCSSValue(CSSPropertyTextDecorationLine);
+      style->GetPropertyCSSValue(CSSPropertyID::kTextDecorationLine);
   // "web_tests/editing/execCommand/insert-list-and-strikethrough.html" makes
   // both |textDecorationsInEffect| and |textDecoration| non-null.
   if (text_decorations_in_effect) {
-    style->SetProperty(CSSPropertyTextDecorationLine,
+    style->SetProperty(CSSPropertyID::kTextDecorationLine,
                        text_decorations_in_effect->CssText(),
                        /* important */ false, secure_context_mode);
-    style->RemoveProperty(CSSPropertyWebkitTextDecorationsInEffect);
+    style->RemoveProperty(CSSPropertyID::kWebkitTextDecorationsInEffect);
     text_decoration = text_decorations_in_effect;
   }
 
   // If text-decoration is set to "none", remove the property because we don't
   // want to add redundant "text-decoration: none".
   if (text_decoration && !text_decoration->IsValueList())
-    style->RemoveProperty(CSSPropertyTextDecorationLine);
+    style->RemoveProperty(CSSPropertyID::kTextDecorationLine);
 }
 
 StyleChange::StyleChange(EditingStyle* style, const Position& position)
@@ -1602,16 +1609,16 @@
   // space.
   if (IsTabHTMLSpanElementTextNode(position.AnchorNode()) ||
       IsTabHTMLSpanElement((position.AnchorNode())))
-    mutable_style->RemoveProperty(CSSPropertyWhiteSpace);
+    mutable_style->RemoveProperty(CSSPropertyID::kWhiteSpace);
 
   // If unicode-bidi is present in mutableStyle and direction is not, then add
   // direction to mutableStyle.
   // FIXME: Shouldn't this be done in getPropertiesNotIn?
-  if (mutable_style->GetPropertyCSSValue(CSSPropertyUnicodeBidi) &&
-      !style->Style()->GetPropertyCSSValue(CSSPropertyDirection)) {
+  if (mutable_style->GetPropertyCSSValue(CSSPropertyID::kUnicodeBidi) &&
+      !style->Style()->GetPropertyCSSValue(CSSPropertyID::kDirection)) {
     mutable_style->SetProperty(
-        CSSPropertyDirection,
-        style->Style()->GetPropertyValue(CSSPropertyDirection),
+        CSSPropertyID::kDirection,
+        style->Style()->GetPropertyValue(CSSPropertyID::kDirection),
         /* important */ false, document->GetSecureContextMode());
   }
 
@@ -1654,16 +1661,16 @@
 
   float weight = 0;
   bool is_number =
-      GetPrimitiveValueNumber(style, CSSPropertyFontWeight, weight);
-  if (GetIdentifierValue(style, CSSPropertyFontWeight) == CSSValueBold ||
+      GetPrimitiveValueNumber(style, CSSPropertyID::kFontWeight, weight);
+  if (GetIdentifierValue(style, CSSPropertyID::kFontWeight) == CSSValueBold ||
       (is_number && weight >= BoldThreshold())) {
-    style->RemoveProperty(CSSPropertyFontWeight);
+    style->RemoveProperty(CSSPropertyID::kFontWeight);
     apply_bold_ = true;
   }
 
-  int font_style = GetIdentifierValue(style, CSSPropertyFontStyle);
+  int font_style = GetIdentifierValue(style, CSSPropertyID::kFontStyle);
   if (font_style == CSSValueItalic || font_style == CSSValueOblique) {
-    style->RemoveProperty(CSSPropertyFontStyle);
+    style->RemoveProperty(CSSPropertyID::kFontStyle);
     apply_italic_ = true;
   }
 
@@ -1672,7 +1679,7 @@
   // Furthermore, text-decoration: none has been trimmed so that text-decoration
   // property is always a CSSValueList.
   const CSSValue* text_decoration =
-      style->GetPropertyCSSValue(CSSPropertyTextDecorationLine);
+      style->GetPropertyCSSValue(CSSPropertyID::kTextDecorationLine);
   if (const auto* text_decoration_value_list =
           DynamicTo<CSSValueList>(text_decoration)) {
     DEFINE_STATIC_LOCAL(Persistent<CSSIdentifierValue>, underline,
@@ -1687,43 +1694,43 @@
 
     // If trimTextDecorations, delete underline and line-through
     SetTextDecorationProperty(style, new_text_decoration,
-                              CSSPropertyTextDecorationLine,
+                              CSSPropertyID::kTextDecorationLine,
                               document->GetSecureContextMode());
   }
 
-  int vertical_align = GetIdentifierValue(style, CSSPropertyVerticalAlign);
+  int vertical_align = GetIdentifierValue(style, CSSPropertyID::kVerticalAlign);
   switch (vertical_align) {
     case CSSValueSub:
-      style->RemoveProperty(CSSPropertyVerticalAlign);
+      style->RemoveProperty(CSSPropertyID::kVerticalAlign);
       apply_subscript_ = true;
       break;
     case CSSValueSuper:
-      style->RemoveProperty(CSSPropertyVerticalAlign);
+      style->RemoveProperty(CSSPropertyID::kVerticalAlign);
       apply_superscript_ = true;
       break;
   }
 
-  if (style->GetPropertyCSSValue(CSSPropertyColor)) {
+  if (style->GetPropertyCSSValue(CSSPropertyID::kColor)) {
     apply_font_color_ = GetFontColor(style).Serialized();
-    style->RemoveProperty(CSSPropertyColor);
+    style->RemoveProperty(CSSPropertyID::kColor);
   }
 
-  apply_font_face_ = style->GetPropertyValue(CSSPropertyFontFamily);
+  apply_font_face_ = style->GetPropertyValue(CSSPropertyID::kFontFamily);
   // Remove double quotes for Outlook 2007 compatibility. See
   // https://bugs.webkit.org/show_bug.cgi?id=79448
   apply_font_face_.Replace('"', "");
-  style->RemoveProperty(CSSPropertyFontFamily);
+  style->RemoveProperty(CSSPropertyID::kFontFamily);
 
   if (const CSSValue* font_size =
-          style->GetPropertyCSSValue(CSSPropertyFontSize)) {
+          style->GetPropertyCSSValue(CSSPropertyID::kFontSize)) {
     if (!font_size->IsPrimitiveValue() && !font_size->IsIdentifierValue()) {
       // Can't make sense of the number. Put no font size.
-      style->RemoveProperty(CSSPropertyFontSize);
+      style->RemoveProperty(CSSPropertyID::kFontSize);
     } else if (int legacy_font_size = LegacyFontSizeFromCSSValue(
                    document, font_size, is_monospace_font,
                    kUseLegacyFontSizeOnlyIfPixelValuesMatch)) {
       apply_font_size_ = String::Number(legacy_font_size);
-      style->RemoveProperty(CSSPropertyFontSize);
+      style->RemoveProperty(CSSPropertyID::kFontSize);
     }
   }
 }
@@ -1794,35 +1801,36 @@
 
   const CSSValue* base_text_decorations_in_effect =
       base_style->GetPropertyCSSValueInternal(
-          CSSPropertyWebkitTextDecorationsInEffect);
-  DiffTextDecorations(result, CSSPropertyTextDecorationLine,
+          CSSPropertyID::kWebkitTextDecorationsInEffect);
+  DiffTextDecorations(result, CSSPropertyID::kTextDecorationLine,
                       base_text_decorations_in_effect, secure_context_mode);
-  DiffTextDecorations(result, CSSPropertyWebkitTextDecorationsInEffect,
+  DiffTextDecorations(result, CSSPropertyID::kWebkitTextDecorationsInEffect,
                       base_text_decorations_in_effect, secure_context_mode);
 
   if (const CSSValue* base_font_weight =
-          base_style->GetPropertyCSSValueInternal(CSSPropertyFontWeight)) {
+          base_style->GetPropertyCSSValueInternal(CSSPropertyID::kFontWeight)) {
     if (const CSSValue* font_weight =
-            result->GetPropertyCSSValue(CSSPropertyFontWeight)) {
+            result->GetPropertyCSSValue(CSSPropertyID::kFontWeight)) {
       if (!FontWeightNeedsResolving(font_weight) &&
           !FontWeightNeedsResolving(base_font_weight) &&
           (FontWeightIsBold(font_weight) == FontWeightIsBold(base_font_weight)))
-        result->RemoveProperty(CSSPropertyFontWeight);
+        result->RemoveProperty(CSSPropertyID::kFontWeight);
     }
   }
 
-  if (base_style->GetPropertyCSSValueInternal(CSSPropertyColor) &&
+  if (base_style->GetPropertyCSSValueInternal(CSSPropertyID::kColor) &&
       GetFontColor(result) == GetFontColor(base_style))
-    result->RemoveProperty(CSSPropertyColor);
+    result->RemoveProperty(CSSPropertyID::kColor);
 
-  if (base_style->GetPropertyCSSValueInternal(CSSPropertyTextAlign) &&
+  if (base_style->GetPropertyCSSValueInternal(CSSPropertyID::kTextAlign) &&
       TextAlignResolvingStartAndEnd(result) ==
           TextAlignResolvingStartAndEnd(base_style))
-    result->RemoveProperty(CSSPropertyTextAlign);
+    result->RemoveProperty(CSSPropertyID::kTextAlign);
 
-  if (base_style->GetPropertyCSSValueInternal(CSSPropertyBackgroundColor) &&
+  if (base_style->GetPropertyCSSValueInternal(
+          CSSPropertyID::kBackgroundColor) &&
       GetBackgroundColor(result) == GetBackgroundColor(base_style))
-    result->RemoveProperty(CSSPropertyBackgroundColor);
+    result->RemoveProperty(CSSPropertyID::kBackgroundColor);
 
   return result;
 }
diff --git a/third_party/blink/renderer/core/editing/editing_style_test.cc b/third_party/blink/renderer/core/editing/editing_style_test.cc
index 432db0f..26d7001 100644
--- a/third_party/blink/renderer/core/editing/editing_style_test.cc
+++ b/third_party/blink/renderer/core/editing/editing_style_test.cc
@@ -28,7 +28,7 @@
       ToHTMLElement(GetDocument().getElementById("s1")),
       EditingStyle::kOverrideValues);
 
-  EXPECT_FALSE(editing_style->Style()->HasProperty(CSSPropertyFloat))
+  EXPECT_FALSE(editing_style->Style()->HasProperty(CSSPropertyID::kFloat))
       << "Don't merge a property with unresolved value";
   EXPECT_EQ("var(---B)",
             editing_style->Style()->GetPropertyValue(AtomicString("--A")))
diff --git a/third_party/blink/renderer/core/editing/editing_style_utilities.cc b/third_party/blink/renderer/core/editing/editing_style_utilities.cc
index 34e9159..79a6c77 100644
--- a/third_party/blink/renderer/core/editing/editing_style_utilities.cc
+++ b/third_party/blink/renderer/core/editing/editing_style_utilities.cc
@@ -74,7 +74,8 @@
   for (Node& runner : NodeTraversal::InclusiveAncestorsOf(node)) {
     CSSComputedStyleDeclaration* ancestor_style =
         CSSComputedStyleDeclaration::Create(&runner);
-    if (GetIdentifierValue(ancestor_style, CSSPropertyVerticalAlign) == value)
+    if (GetIdentifierValue(ancestor_style, CSSPropertyID::kVerticalAlign) ==
+        value)
       return true;
   }
   return false;
@@ -170,16 +171,16 @@
   // style(vertical-align) to it so that document.queryCommandState() works with
   // the style. See bug http://crbug.com/582225.
   CSSValueID value_id =
-      GetIdentifierValue(style_to_check, CSSPropertyVerticalAlign);
+      GetIdentifierValue(style_to_check, CSSPropertyID::kVerticalAlign);
   if (value_id == CSSValueSub || value_id == CSSValueSuper) {
     CSSComputedStyleDeclaration* element_style =
         CSSComputedStyleDeclaration::Create(element);
     // Find the ancestor that has CSSValueSub or CSSValueSuper as the value of
     // CSS vertical-align property.
-    if (GetIdentifierValue(element_style, CSSPropertyVerticalAlign) ==
+    if (GetIdentifierValue(element_style, CSSPropertyID::kVerticalAlign) ==
             CSSValueBaseline &&
         HasAncestorVerticalAlignStyle(*element, value_id))
-      style->Style()->SetProperty(CSSPropertyVerticalAlign, value_id);
+      style->Style()->SetProperty(CSSPropertyID::kVerticalAlign, value_id);
   }
 
   // If background color is transparent, traverse parent nodes until we hit a
@@ -191,7 +192,7 @@
     const EphemeralRange range(selection.ToNormalizedEphemeralRange());
     if (const CSSValue* value =
             BackgroundColorValueInEffect(range.CommonAncestorContainer())) {
-      style->SetProperty(CSSPropertyBackgroundColor, value->CssText(),
+      style->SetProperty(CSSPropertyID::kBackgroundColor, value->CssText(),
                          /* important */ false,
                          document.GetSecureContextMode());
     }
@@ -213,14 +214,14 @@
 bool EditingStyleUtilities::HasTransparentBackgroundColor(
     CSSStyleDeclaration* style) {
   const CSSValue* css_value =
-      style->GetPropertyCSSValueInternal(CSSPropertyBackgroundColor);
+      style->GetPropertyCSSValueInternal(CSSPropertyID::kBackgroundColor);
   return IsTransparentColorValue(css_value);
 }
 
 bool EditingStyleUtilities::HasTransparentBackgroundColor(
     CSSPropertyValueSet* style) {
   const CSSValue* css_value =
-      style->GetPropertyCSSValue(CSSPropertyBackgroundColor);
+      style->GetPropertyCSSValue(CSSPropertyID::kBackgroundColor);
   return IsTransparentColorValue(css_value);
 }
 
diff --git a/third_party/blink/renderer/core/editing/editor.cc b/third_party/blink/renderer/core/editing/editor.cc
index aba7b71..ef85bdd 100644
--- a/third_party/blink/renderer/core/editing/editor.cc
+++ b/third_party/blink/renderer/core/editing/editor.cc
@@ -650,7 +650,7 @@
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
   style->SetProperty(
-      CSSPropertyDirection,
+      CSSPropertyID::kDirection,
       direction == WritingDirection::kLeftToRight
           ? "ltr"
           : direction == WritingDirection::kRightToLeft ? "rtl" : "inherit",
diff --git a/third_party/blink/renderer/core/editing/layout_selection_test.cc b/third_party/blink/renderer/core/editing/layout_selection_test.cc
index 855a335..23bd8f0 100644
--- a/third_party/blink/renderer/core/editing/layout_selection_test.cc
+++ b/third_party/blink/renderer/core/editing/layout_selection_test.cc
@@ -809,7 +809,7 @@
       DumpSelectionInfo());
 
   Element* span_baz = ToElement(GetDocument().body()->lastChild());
-  span_baz->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  span_baz->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
   GetDocument().UpdateStyleAndLayout();
   Selection().CommitAppearanceIfNeeded();
   EXPECT_EQ(
diff --git a/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc b/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc
index 8441910..a9e90b20 100644
--- a/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc
+++ b/third_party/blink/renderer/core/editing/serializers/styled_markup_accumulator.cc
@@ -102,9 +102,10 @@
   if (inline_style) {
     // wrappingStyleForAnnotatedSerialization should have removed
     // -webkit-text-decorations-in-effect.
-    DCHECK(!ShouldAnnotate() || PropertyMissingOrEqualToNone(
-                                    inline_style->Style(),
-                                    CSSPropertyWebkitTextDecorationsInEffect));
+    DCHECK(!ShouldAnnotate() ||
+           PropertyMissingOrEqualToNone(
+               inline_style->Style(),
+               CSSPropertyID::kWebkitTextDecorationsInEffect));
     DCHECK(document_);
 
     result_.Append("<span style=\"");
@@ -185,7 +186,7 @@
   // wrappingStyleForSerialization should have removed
   // -webkit-text-decorations-in-effect.
   DCHECK(PropertyMissingOrEqualToNone(
-      style, CSSPropertyWebkitTextDecorationsInEffect));
+      style, CSSPropertyID::kWebkitTextDecorationsInEffect));
   DCHECK(document_);
 
   StringBuilder open_tag;
diff --git a/third_party/blink/renderer/core/editing/serializers/styled_markup_serializer.cc b/third_party/blink/renderer/core/editing/serializers/styled_markup_serializer.cc
index 857cdac7b..45e9414 100644
--- a/third_party/blink/renderer/core/editing/serializers/styled_markup_serializer.cc
+++ b/third_party/blink/renderer/core/editing/serializers/styled_markup_serializer.cc
@@ -252,10 +252,10 @@
         if ((!fully_selected_root_style ||
              !fully_selected_root_style->Style() ||
              !fully_selected_root_style->Style()->GetPropertyCSSValue(
-                 CSSPropertyBackgroundImage)) &&
+                 CSSPropertyID::kBackgroundImage)) &&
             fully_selected_root->hasAttribute(kBackgroundAttr)) {
           fully_selected_root_style->Style()->SetProperty(
-              CSSPropertyBackgroundImage,
+              CSSPropertyID::kBackgroundImage,
               "url('" + fully_selected_root->getAttribute(kBackgroundAttr) +
                   "')",
               /* important */ false,
@@ -268,14 +268,16 @@
           // all text of a <body> element whose 'text-decoration' property is
           // "inherit", and copy it.
           if (!PropertyMissingOrEqualToNone(fully_selected_root_style->Style(),
-                                            CSSPropertyTextDecoration))
+                                            CSSPropertyID::kTextDecoration)) {
             fully_selected_root_style->Style()->SetProperty(
-                CSSPropertyTextDecoration, CSSValueNone);
+                CSSPropertyID::kTextDecoration, CSSValueNone);
+          }
           if (!PropertyMissingOrEqualToNone(
                   fully_selected_root_style->Style(),
-                  CSSPropertyWebkitTextDecorationsInEffect))
+                  CSSPropertyID::kWebkitTextDecorationsInEffect)) {
             fully_selected_root_style->Style()->SetProperty(
-                CSSPropertyWebkitTextDecorationsInEffect, CSSValueNone);
+                CSSPropertyID::kWebkitTextDecorationsInEffect, CSSValueNone);
+          }
           markup_accumulator.WrapWithStyleNode(
               fully_selected_root_style->Style());
         }
@@ -287,7 +289,7 @@
         // don't want to keep styles that affect its relationship to the nodes
         // around it only the ones that affect it and the nodes within it.
         if (style && style->Style())
-          style->Style()->RemoveProperty(CSSPropertyFloat);
+          style->Style()->RemoveProperty(CSSPropertyID::kFloat);
         traverser.WrapWithNode(*ancestor, style);
       }
 
@@ -506,7 +508,7 @@
         // block }.
         inline_style->ForceInline();
         // FIXME: Should this be included in forceInline?
-        inline_style->Style()->SetProperty(CSSPropertyFloat, CSSValueNone);
+        inline_style->Style()->SetProperty(CSSPropertyID::kFloat, CSSValueNone);
       }
       accumulator_->AppendTextWithInlineStyle(text, inline_style);
       break;
diff --git a/third_party/blink/renderer/core/exported/web_form_element_observer_impl.cc b/third_party/blink/renderer/core/exported/web_form_element_observer_impl.cc
index 683d6985..a6ba8bd 100644
--- a/third_party/blink/renderer/core/exported/web_form_element_observer_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_form_element_observer_impl.cc
@@ -85,7 +85,7 @@
       // Either "style" or "class" was modified. Check the computed style.
       CSSComputedStyleDeclaration* style =
           CSSComputedStyleDeclaration::Create(record->target());
-      if (style->GetPropertyValue(CSSPropertyDisplay) == "none") {
+      if (style->GetPropertyValue(CSSPropertyID::kDisplay) == "none") {
         callback_->ElementWasHiddenOrRemoved();
         Disconnect();
         return;
diff --git a/third_party/blink/renderer/core/exported/web_frame_test.cc b/third_party/blink/renderer/core/exported/web_frame_test.cc
index 061e623..c4ae875 100644
--- a/third_party/blink/renderer/core/exported/web_frame_test.cc
+++ b/third_party/blink/renderer/core/exported/web_frame_test.cc
@@ -12003,7 +12003,7 @@
 
   // Setting the background of the body to red will cause the background
   // color of the WebView to switch to red.
-  body->SetInlineStyleProperty(CSSPropertyBackgroundColor, "red");
+  body->SetInlineStyleProperty(CSSPropertyID::kBackgroundColor, "red");
   Compositor().BeginFrame();
   EXPECT_EQ(SK_ColorRED, Compositor().background_color());
 }
@@ -12081,13 +12081,13 @@
 
   // Changing the display from 'none' -> 'block' should cause layout objects to
   // appear.
-  element->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueBlock);
+  element->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueBlock);
   Compositor().BeginFrame();
   EXPECT_TRUE(iframe_doc->documentElement()->GetLayoutObject());
 
   // Changing the display from 'block' -> 'none' should cause layout objects to
   // disappear.
-  element->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  element->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
 
   Compositor().BeginFrame();
   EXPECT_FALSE(iframe_doc->documentElement()->GetLayoutObject());
@@ -12141,7 +12141,7 @@
 
   // Changing the display from 'block' -> 'none' should cause layout objects to
   // disappear.
-  element->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  element->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
   Compositor().BeginFrame();
   EXPECT_FALSE(iframe_doc->documentElement()->GetLayoutObject());
 }
diff --git a/third_party/blink/renderer/core/frame/PRESUBMIT.py b/third_party/blink/renderer/core/frame/PRESUBMIT.py
index c986d32..302f6ab 100644
--- a/third_party/blink/renderer/core/frame/PRESUBMIT.py
+++ b/third_party/blink/renderer/core/frame/PRESUBMIT.py
@@ -22,10 +22,9 @@
     largest_found_bucket = 0
     expected_max_bucket = 0
 
-    # Looking for a line like "case CSSPropertyGrid: return 453;"
+    # Looking for a line like "case CSSPropertyID::kGrid: return 453;"
     bucket_finder = input_api.re.compile(
-        r'case CSSProperty\w*?:\s+?return (\d+);',
-        input_api.re.MULTILINE)
+        r'case CSSPropertyID::k\w+:\s*return\s*(\d+);')
 
     # Looking for a line like "const int32 kMaximumCSSSampleId = 452;"
     expected_max_finder = input_api.re.compile(
diff --git a/third_party/blink/renderer/core/frame/use_counter.cc b/third_party/blink/renderer/core/frame/use_counter.cc
index 043255e..d006c10 100644
--- a/third_party/blink/renderer/core/frame/use_counter.cc
+++ b/third_party/blink/renderer/core/frame/use_counter.cc
@@ -52,620 +52,620 @@
     CSSPropertyID unresolved_property) {
   switch (unresolved_property) {
     // Begin at 2, because 1 is reserved for totalPagesMeasuredCSSSampleId.
-    case CSSPropertyColor:
+    case CSSPropertyID::kColor:
       return 2;
-    case CSSPropertyDirection:
+    case CSSPropertyID::kDirection:
       return 3;
-    case CSSPropertyDisplay:
+    case CSSPropertyID::kDisplay:
       return 4;
-    case CSSPropertyFont:
+    case CSSPropertyID::kFont:
       return 5;
-    case CSSPropertyFontFamily:
+    case CSSPropertyID::kFontFamily:
       return 6;
-    case CSSPropertyFontSize:
+    case CSSPropertyID::kFontSize:
       return 7;
-    case CSSPropertyFontStyle:
+    case CSSPropertyID::kFontStyle:
       return 8;
-    case CSSPropertyFontVariant:
+    case CSSPropertyID::kFontVariant:
       return 9;
-    case CSSPropertyFontWeight:
+    case CSSPropertyID::kFontWeight:
       return 10;
-    case CSSPropertyTextRendering:
+    case CSSPropertyID::kTextRendering:
       return 11;
-    case CSSPropertyAliasWebkitFontFeatureSettings:
+    case CSSPropertyID::kAliasWebkitFontFeatureSettings:
       return 12;
-    case CSSPropertyFontKerning:
+    case CSSPropertyID::kFontKerning:
       return 13;
-    case CSSPropertyWebkitFontSmoothing:
+    case CSSPropertyID::kWebkitFontSmoothing:
       return 14;
-    case CSSPropertyFontVariantLigatures:
+    case CSSPropertyID::kFontVariantLigatures:
       return 15;
-    case CSSPropertyWebkitLocale:
+    case CSSPropertyID::kWebkitLocale:
       return 16;
-    case CSSPropertyWebkitTextOrientation:
+    case CSSPropertyID::kWebkitTextOrientation:
       return 17;
-    case CSSPropertyWebkitWritingMode:
+    case CSSPropertyID::kWebkitWritingMode:
       return 18;
-    case CSSPropertyZoom:
+    case CSSPropertyID::kZoom:
       return 19;
-    case CSSPropertyLineHeight:
+    case CSSPropertyID::kLineHeight:
       return 20;
-    case CSSPropertyBackground:
+    case CSSPropertyID::kBackground:
       return 21;
-    case CSSPropertyBackgroundAttachment:
+    case CSSPropertyID::kBackgroundAttachment:
       return 22;
-    case CSSPropertyBackgroundClip:
+    case CSSPropertyID::kBackgroundClip:
       return 23;
-    case CSSPropertyBackgroundColor:
+    case CSSPropertyID::kBackgroundColor:
       return 24;
-    case CSSPropertyBackgroundImage:
+    case CSSPropertyID::kBackgroundImage:
       return 25;
-    case CSSPropertyBackgroundOrigin:
+    case CSSPropertyID::kBackgroundOrigin:
       return 26;
-    case CSSPropertyBackgroundPosition:
+    case CSSPropertyID::kBackgroundPosition:
       return 27;
-    case CSSPropertyBackgroundPositionX:
+    case CSSPropertyID::kBackgroundPositionX:
       return 28;
-    case CSSPropertyBackgroundPositionY:
+    case CSSPropertyID::kBackgroundPositionY:
       return 29;
-    case CSSPropertyBackgroundRepeat:
+    case CSSPropertyID::kBackgroundRepeat:
       return 30;
-    case CSSPropertyBackgroundRepeatX:
+    case CSSPropertyID::kBackgroundRepeatX:
       return 31;
-    case CSSPropertyBackgroundRepeatY:
+    case CSSPropertyID::kBackgroundRepeatY:
       return 32;
-    case CSSPropertyBackgroundSize:
+    case CSSPropertyID::kBackgroundSize:
       return 33;
-    case CSSPropertyBorder:
+    case CSSPropertyID::kBorder:
       return 34;
-    case CSSPropertyBorderBottom:
+    case CSSPropertyID::kBorderBottom:
       return 35;
-    case CSSPropertyBorderBottomColor:
+    case CSSPropertyID::kBorderBottomColor:
       return 36;
-    case CSSPropertyBorderBottomLeftRadius:
+    case CSSPropertyID::kBorderBottomLeftRadius:
       return 37;
-    case CSSPropertyBorderBottomRightRadius:
+    case CSSPropertyID::kBorderBottomRightRadius:
       return 38;
-    case CSSPropertyBorderBottomStyle:
+    case CSSPropertyID::kBorderBottomStyle:
       return 39;
-    case CSSPropertyBorderBottomWidth:
+    case CSSPropertyID::kBorderBottomWidth:
       return 40;
-    case CSSPropertyBorderCollapse:
+    case CSSPropertyID::kBorderCollapse:
       return 41;
-    case CSSPropertyBorderColor:
+    case CSSPropertyID::kBorderColor:
       return 42;
-    case CSSPropertyBorderImage:
+    case CSSPropertyID::kBorderImage:
       return 43;
-    case CSSPropertyBorderImageOutset:
+    case CSSPropertyID::kBorderImageOutset:
       return 44;
-    case CSSPropertyBorderImageRepeat:
+    case CSSPropertyID::kBorderImageRepeat:
       return 45;
-    case CSSPropertyBorderImageSlice:
+    case CSSPropertyID::kBorderImageSlice:
       return 46;
-    case CSSPropertyBorderImageSource:
+    case CSSPropertyID::kBorderImageSource:
       return 47;
-    case CSSPropertyBorderImageWidth:
+    case CSSPropertyID::kBorderImageWidth:
       return 48;
-    case CSSPropertyBorderLeft:
+    case CSSPropertyID::kBorderLeft:
       return 49;
-    case CSSPropertyBorderLeftColor:
+    case CSSPropertyID::kBorderLeftColor:
       return 50;
-    case CSSPropertyBorderLeftStyle:
+    case CSSPropertyID::kBorderLeftStyle:
       return 51;
-    case CSSPropertyBorderLeftWidth:
+    case CSSPropertyID::kBorderLeftWidth:
       return 52;
-    case CSSPropertyBorderRadius:
+    case CSSPropertyID::kBorderRadius:
       return 53;
-    case CSSPropertyBorderRight:
+    case CSSPropertyID::kBorderRight:
       return 54;
-    case CSSPropertyBorderRightColor:
+    case CSSPropertyID::kBorderRightColor:
       return 55;
-    case CSSPropertyBorderRightStyle:
+    case CSSPropertyID::kBorderRightStyle:
       return 56;
-    case CSSPropertyBorderRightWidth:
+    case CSSPropertyID::kBorderRightWidth:
       return 57;
-    case CSSPropertyBorderSpacing:
+    case CSSPropertyID::kBorderSpacing:
       return 58;
-    case CSSPropertyBorderStyle:
+    case CSSPropertyID::kBorderStyle:
       return 59;
-    case CSSPropertyBorderTop:
+    case CSSPropertyID::kBorderTop:
       return 60;
-    case CSSPropertyBorderTopColor:
+    case CSSPropertyID::kBorderTopColor:
       return 61;
-    case CSSPropertyBorderTopLeftRadius:
+    case CSSPropertyID::kBorderTopLeftRadius:
       return 62;
-    case CSSPropertyBorderTopRightRadius:
+    case CSSPropertyID::kBorderTopRightRadius:
       return 63;
-    case CSSPropertyBorderTopStyle:
+    case CSSPropertyID::kBorderTopStyle:
       return 64;
-    case CSSPropertyBorderTopWidth:
+    case CSSPropertyID::kBorderTopWidth:
       return 65;
-    case CSSPropertyBorderWidth:
+    case CSSPropertyID::kBorderWidth:
       return 66;
-    case CSSPropertyBottom:
+    case CSSPropertyID::kBottom:
       return 67;
-    case CSSPropertyBoxShadow:
+    case CSSPropertyID::kBoxShadow:
       return 68;
-    case CSSPropertyBoxSizing:
+    case CSSPropertyID::kBoxSizing:
       return 69;
-    case CSSPropertyCaptionSide:
+    case CSSPropertyID::kCaptionSide:
       return 70;
-    case CSSPropertyClear:
+    case CSSPropertyID::kClear:
       return 71;
-    case CSSPropertyClip:
+    case CSSPropertyID::kClip:
       return 72;
-    case CSSPropertyAliasWebkitClipPath:
+    case CSSPropertyID::kAliasWebkitClipPath:
       return 73;
-    case CSSPropertyContent:
+    case CSSPropertyID::kContent:
       return 74;
-    case CSSPropertyCounterIncrement:
+    case CSSPropertyID::kCounterIncrement:
       return 75;
-    case CSSPropertyCounterReset:
+    case CSSPropertyID::kCounterReset:
       return 76;
-    case CSSPropertyCursor:
+    case CSSPropertyID::kCursor:
       return 77;
-    case CSSPropertyEmptyCells:
+    case CSSPropertyID::kEmptyCells:
       return 78;
-    case CSSPropertyFloat:
+    case CSSPropertyID::kFloat:
       return 79;
-    case CSSPropertyFontStretch:
+    case CSSPropertyID::kFontStretch:
       return 80;
-    case CSSPropertyHeight:
+    case CSSPropertyID::kHeight:
       return 81;
-    case CSSPropertyImageRendering:
+    case CSSPropertyID::kImageRendering:
       return 82;
-    case CSSPropertyLeft:
+    case CSSPropertyID::kLeft:
       return 83;
-    case CSSPropertyLetterSpacing:
+    case CSSPropertyID::kLetterSpacing:
       return 84;
-    case CSSPropertyListStyle:
+    case CSSPropertyID::kListStyle:
       return 85;
-    case CSSPropertyListStyleImage:
+    case CSSPropertyID::kListStyleImage:
       return 86;
-    case CSSPropertyListStylePosition:
+    case CSSPropertyID::kListStylePosition:
       return 87;
-    case CSSPropertyListStyleType:
+    case CSSPropertyID::kListStyleType:
       return 88;
-    case CSSPropertyMargin:
+    case CSSPropertyID::kMargin:
       return 89;
-    case CSSPropertyMarginBottom:
+    case CSSPropertyID::kMarginBottom:
       return 90;
-    case CSSPropertyMarginLeft:
+    case CSSPropertyID::kMarginLeft:
       return 91;
-    case CSSPropertyMarginRight:
+    case CSSPropertyID::kMarginRight:
       return 92;
-    case CSSPropertyMarginTop:
+    case CSSPropertyID::kMarginTop:
       return 93;
-    case CSSPropertyMaxHeight:
+    case CSSPropertyID::kMaxHeight:
       return 94;
-    case CSSPropertyMaxWidth:
+    case CSSPropertyID::kMaxWidth:
       return 95;
-    case CSSPropertyMinHeight:
+    case CSSPropertyID::kMinHeight:
       return 96;
-    case CSSPropertyMinWidth:
+    case CSSPropertyID::kMinWidth:
       return 97;
-    case CSSPropertyOpacity:
+    case CSSPropertyID::kOpacity:
       return 98;
-    case CSSPropertyOrphans:
+    case CSSPropertyID::kOrphans:
       return 99;
-    case CSSPropertyOutline:
+    case CSSPropertyID::kOutline:
       return 100;
-    case CSSPropertyOutlineColor:
+    case CSSPropertyID::kOutlineColor:
       return 101;
-    case CSSPropertyOutlineOffset:
+    case CSSPropertyID::kOutlineOffset:
       return 102;
-    case CSSPropertyOutlineStyle:
+    case CSSPropertyID::kOutlineStyle:
       return 103;
-    case CSSPropertyOutlineWidth:
+    case CSSPropertyID::kOutlineWidth:
       return 104;
-    case CSSPropertyOverflow:
+    case CSSPropertyID::kOverflow:
       return 105;
-    case CSSPropertyOverflowWrap:
+    case CSSPropertyID::kOverflowWrap:
       return 106;
-    case CSSPropertyOverflowX:
+    case CSSPropertyID::kOverflowX:
       return 107;
-    case CSSPropertyOverflowY:
+    case CSSPropertyID::kOverflowY:
       return 108;
-    case CSSPropertyPadding:
+    case CSSPropertyID::kPadding:
       return 109;
-    case CSSPropertyPaddingBottom:
+    case CSSPropertyID::kPaddingBottom:
       return 110;
-    case CSSPropertyPaddingLeft:
+    case CSSPropertyID::kPaddingLeft:
       return 111;
-    case CSSPropertyPaddingRight:
+    case CSSPropertyID::kPaddingRight:
       return 112;
-    case CSSPropertyPaddingTop:
+    case CSSPropertyID::kPaddingTop:
       return 113;
-    case CSSPropertyPage:
+    case CSSPropertyID::kPage:
       return 114;
-    case CSSPropertyPageBreakAfter:
+    case CSSPropertyID::kPageBreakAfter:
       return 115;
-    case CSSPropertyPageBreakBefore:
+    case CSSPropertyID::kPageBreakBefore:
       return 116;
-    case CSSPropertyPageBreakInside:
+    case CSSPropertyID::kPageBreakInside:
       return 117;
-    case CSSPropertyPointerEvents:
+    case CSSPropertyID::kPointerEvents:
       return 118;
-    case CSSPropertyPosition:
+    case CSSPropertyID::kPosition:
       return 119;
-    case CSSPropertyQuotes:
+    case CSSPropertyID::kQuotes:
       return 120;
-    case CSSPropertyResize:
+    case CSSPropertyID::kResize:
       return 121;
-    case CSSPropertyRight:
+    case CSSPropertyID::kRight:
       return 122;
-    case CSSPropertySize:
+    case CSSPropertyID::kSize:
       return 123;
-    case CSSPropertySrc:
+    case CSSPropertyID::kSrc:
       return 124;
-    case CSSPropertySpeak:
+    case CSSPropertyID::kSpeak:
       return 125;
-    case CSSPropertyTableLayout:
+    case CSSPropertyID::kTableLayout:
       return 126;
-    case CSSPropertyTabSize:
+    case CSSPropertyID::kTabSize:
       return 127;
-    case CSSPropertyTextAlign:
+    case CSSPropertyID::kTextAlign:
       return 128;
-    case CSSPropertyTextDecoration:
+    case CSSPropertyID::kTextDecoration:
       return 129;
-    case CSSPropertyTextIndent:
+    case CSSPropertyID::kTextIndent:
       return 130;
     /* Removed CSSPropertyTextLineThrough* - 131-135 */
-    case CSSPropertyTextOverflow:
+    case CSSPropertyID::kTextOverflow:
       return 136;
     /* Removed CSSPropertyTextOverline* - 137-141 */
-    case CSSPropertyTextShadow:
+    case CSSPropertyID::kTextShadow:
       return 142;
-    case CSSPropertyTextTransform:
+    case CSSPropertyID::kTextTransform:
       return 143;
     /* Removed CSSPropertyTextUnderline* - 144-148 */
-    case CSSPropertyTop:
+    case CSSPropertyID::kTop:
       return 149;
-    case CSSPropertyTransition:
+    case CSSPropertyID::kTransition:
       return 150;
-    case CSSPropertyTransitionDelay:
+    case CSSPropertyID::kTransitionDelay:
       return 151;
-    case CSSPropertyTransitionDuration:
+    case CSSPropertyID::kTransitionDuration:
       return 152;
-    case CSSPropertyTransitionProperty:
+    case CSSPropertyID::kTransitionProperty:
       return 153;
-    case CSSPropertyTransitionTimingFunction:
+    case CSSPropertyID::kTransitionTimingFunction:
       return 154;
-    case CSSPropertyUnicodeBidi:
+    case CSSPropertyID::kUnicodeBidi:
       return 155;
-    case CSSPropertyUnicodeRange:
+    case CSSPropertyID::kUnicodeRange:
       return 156;
-    case CSSPropertyVerticalAlign:
+    case CSSPropertyID::kVerticalAlign:
       return 157;
-    case CSSPropertyVisibility:
+    case CSSPropertyID::kVisibility:
       return 158;
-    case CSSPropertyWhiteSpace:
+    case CSSPropertyID::kWhiteSpace:
       return 159;
-    case CSSPropertyWidows:
+    case CSSPropertyID::kWidows:
       return 160;
-    case CSSPropertyWidth:
+    case CSSPropertyID::kWidth:
       return 161;
-    case CSSPropertyWordBreak:
+    case CSSPropertyID::kWordBreak:
       return 162;
-    case CSSPropertyWordSpacing:
+    case CSSPropertyID::kWordSpacing:
       return 163;
-    case CSSPropertyAliasWordWrap:
+    case CSSPropertyID::kAliasWordWrap:
       return 164;
-    case CSSPropertyZIndex:
+    case CSSPropertyID::kZIndex:
       return 165;
-    case CSSPropertyAliasWebkitAnimation:
+    case CSSPropertyID::kAliasWebkitAnimation:
       return 166;
-    case CSSPropertyAliasWebkitAnimationDelay:
+    case CSSPropertyID::kAliasWebkitAnimationDelay:
       return 167;
-    case CSSPropertyAliasWebkitAnimationDirection:
+    case CSSPropertyID::kAliasWebkitAnimationDirection:
       return 168;
-    case CSSPropertyAliasWebkitAnimationDuration:
+    case CSSPropertyID::kAliasWebkitAnimationDuration:
       return 169;
-    case CSSPropertyAliasWebkitAnimationFillMode:
+    case CSSPropertyID::kAliasWebkitAnimationFillMode:
       return 170;
-    case CSSPropertyAliasWebkitAnimationIterationCount:
+    case CSSPropertyID::kAliasWebkitAnimationIterationCount:
       return 171;
-    case CSSPropertyAliasWebkitAnimationName:
+    case CSSPropertyID::kAliasWebkitAnimationName:
       return 172;
-    case CSSPropertyAliasWebkitAnimationPlayState:
+    case CSSPropertyID::kAliasWebkitAnimationPlayState:
       return 173;
-    case CSSPropertyAliasWebkitAnimationTimingFunction:
+    case CSSPropertyID::kAliasWebkitAnimationTimingFunction:
       return 174;
-    case CSSPropertyWebkitAppearance:
+    case CSSPropertyID::kWebkitAppearance:
       return 175;
     // CSSPropertyWebkitAspectRatio was 176
-    case CSSPropertyAliasWebkitBackfaceVisibility:
+    case CSSPropertyID::kAliasWebkitBackfaceVisibility:
       return 177;
-    case CSSPropertyAliasWebkitBackgroundClip:
+    case CSSPropertyID::kAliasWebkitBackgroundClip:
       return 178;
     // case CSSPropertyWebkitBackgroundComposite: return 179;
-    case CSSPropertyAliasWebkitBackgroundOrigin:
+    case CSSPropertyID::kAliasWebkitBackgroundOrigin:
       return 180;
-    case CSSPropertyAliasWebkitBackgroundSize:
+    case CSSPropertyID::kAliasWebkitBackgroundSize:
       return 181;
-    case CSSPropertyAliasWebkitBorderAfter:
+    case CSSPropertyID::kAliasWebkitBorderAfter:
       return 182;
-    case CSSPropertyAliasWebkitBorderAfterColor:
+    case CSSPropertyID::kAliasWebkitBorderAfterColor:
       return 183;
-    case CSSPropertyAliasWebkitBorderAfterStyle:
+    case CSSPropertyID::kAliasWebkitBorderAfterStyle:
       return 184;
-    case CSSPropertyAliasWebkitBorderAfterWidth:
+    case CSSPropertyID::kAliasWebkitBorderAfterWidth:
       return 185;
-    case CSSPropertyAliasWebkitBorderBefore:
+    case CSSPropertyID::kAliasWebkitBorderBefore:
       return 186;
-    case CSSPropertyAliasWebkitBorderBeforeColor:
+    case CSSPropertyID::kAliasWebkitBorderBeforeColor:
       return 187;
-    case CSSPropertyAliasWebkitBorderBeforeStyle:
+    case CSSPropertyID::kAliasWebkitBorderBeforeStyle:
       return 188;
-    case CSSPropertyAliasWebkitBorderBeforeWidth:
+    case CSSPropertyID::kAliasWebkitBorderBeforeWidth:
       return 189;
-    case CSSPropertyAliasWebkitBorderEnd:
+    case CSSPropertyID::kAliasWebkitBorderEnd:
       return 190;
-    case CSSPropertyAliasWebkitBorderEndColor:
+    case CSSPropertyID::kAliasWebkitBorderEndColor:
       return 191;
-    case CSSPropertyAliasWebkitBorderEndStyle:
+    case CSSPropertyID::kAliasWebkitBorderEndStyle:
       return 192;
-    case CSSPropertyAliasWebkitBorderEndWidth:
+    case CSSPropertyID::kAliasWebkitBorderEndWidth:
       return 193;
     // CSSPropertyWebkitBorderFit was 194
-    case CSSPropertyWebkitBorderHorizontalSpacing:
+    case CSSPropertyID::kWebkitBorderHorizontalSpacing:
       return 195;
-    case CSSPropertyWebkitBorderImage:
+    case CSSPropertyID::kWebkitBorderImage:
       return 196;
-    case CSSPropertyAliasWebkitBorderRadius:
+    case CSSPropertyID::kAliasWebkitBorderRadius:
       return 197;
-    case CSSPropertyAliasWebkitBorderStart:
+    case CSSPropertyID::kAliasWebkitBorderStart:
       return 198;
-    case CSSPropertyAliasWebkitBorderStartColor:
+    case CSSPropertyID::kAliasWebkitBorderStartColor:
       return 199;
-    case CSSPropertyAliasWebkitBorderStartStyle:
+    case CSSPropertyID::kAliasWebkitBorderStartStyle:
       return 200;
-    case CSSPropertyAliasWebkitBorderStartWidth:
+    case CSSPropertyID::kAliasWebkitBorderStartWidth:
       return 201;
-    case CSSPropertyWebkitBorderVerticalSpacing:
+    case CSSPropertyID::kWebkitBorderVerticalSpacing:
       return 202;
-    case CSSPropertyWebkitBoxAlign:
+    case CSSPropertyID::kWebkitBoxAlign:
       return 203;
-    case CSSPropertyWebkitBoxDirection:
+    case CSSPropertyID::kWebkitBoxDirection:
       return 204;
-    case CSSPropertyWebkitBoxFlex:
+    case CSSPropertyID::kWebkitBoxFlex:
       return 205;
     // CSSPropertyWebkitBoxFlexGroup was 206
     // CSSPropertyWebkitBoxLines was 207
-    case CSSPropertyWebkitBoxOrdinalGroup:
+    case CSSPropertyID::kWebkitBoxOrdinalGroup:
       return 208;
-    case CSSPropertyWebkitBoxOrient:
+    case CSSPropertyID::kWebkitBoxOrient:
       return 209;
-    case CSSPropertyWebkitBoxPack:
+    case CSSPropertyID::kWebkitBoxPack:
       return 210;
-    case CSSPropertyWebkitBoxReflect:
+    case CSSPropertyID::kWebkitBoxReflect:
       return 211;
-    case CSSPropertyAliasWebkitBoxShadow:
+    case CSSPropertyID::kAliasWebkitBoxShadow:
       return 212;
     // CSSPropertyWebkitColumnAxis was 214
-    case CSSPropertyWebkitColumnBreakAfter:
+    case CSSPropertyID::kWebkitColumnBreakAfter:
       return 215;
-    case CSSPropertyWebkitColumnBreakBefore:
+    case CSSPropertyID::kWebkitColumnBreakBefore:
       return 216;
-    case CSSPropertyWebkitColumnBreakInside:
+    case CSSPropertyID::kWebkitColumnBreakInside:
       return 217;
-    case CSSPropertyAliasWebkitColumnCount:
+    case CSSPropertyID::kAliasWebkitColumnCount:
       return 218;
-    case CSSPropertyAliasWebkitColumnGap:
+    case CSSPropertyID::kAliasWebkitColumnGap:
       return 219;
     // CSSPropertyWebkitColumnProgression was 220
-    case CSSPropertyAliasWebkitColumnRule:
+    case CSSPropertyID::kAliasWebkitColumnRule:
       return 221;
-    case CSSPropertyAliasWebkitColumnRuleColor:
+    case CSSPropertyID::kAliasWebkitColumnRuleColor:
       return 222;
-    case CSSPropertyAliasWebkitColumnRuleStyle:
+    case CSSPropertyID::kAliasWebkitColumnRuleStyle:
       return 223;
-    case CSSPropertyAliasWebkitColumnRuleWidth:
+    case CSSPropertyID::kAliasWebkitColumnRuleWidth:
       return 224;
-    case CSSPropertyAliasWebkitColumnSpan:
+    case CSSPropertyID::kAliasWebkitColumnSpan:
       return 225;
-    case CSSPropertyAliasWebkitColumnWidth:
+    case CSSPropertyID::kAliasWebkitColumnWidth:
       return 226;
-    case CSSPropertyAliasWebkitColumns:
+    case CSSPropertyID::kAliasWebkitColumns:
       return 227;
-    // 228 was CSSPropertyWebkitBoxDecorationBreak (duplicated due to #ifdef).
-    // 229 was CSSPropertyWebkitFilter (duplicated due to #ifdef).
-    case CSSPropertyAlignContent:
+    // 228 was CSSPropertyID::kWebkitBoxDecorationBreak (duplicated due to
+    // #ifdef). 229 was CSSPropertyWebkitFilter (duplicated due to #ifdef).
+    case CSSPropertyID::kAlignContent:
       return 230;
-    case CSSPropertyAlignItems:
+    case CSSPropertyID::kAlignItems:
       return 231;
-    case CSSPropertyAlignSelf:
+    case CSSPropertyID::kAlignSelf:
       return 232;
-    case CSSPropertyFlex:
+    case CSSPropertyID::kFlex:
       return 233;
-    case CSSPropertyFlexBasis:
+    case CSSPropertyID::kFlexBasis:
       return 234;
-    case CSSPropertyFlexDirection:
+    case CSSPropertyID::kFlexDirection:
       return 235;
-    case CSSPropertyFlexFlow:
+    case CSSPropertyID::kFlexFlow:
       return 236;
-    case CSSPropertyFlexGrow:
+    case CSSPropertyID::kFlexGrow:
       return 237;
-    case CSSPropertyFlexShrink:
+    case CSSPropertyID::kFlexShrink:
       return 238;
-    case CSSPropertyFlexWrap:
+    case CSSPropertyID::kFlexWrap:
       return 239;
-    case CSSPropertyJustifyContent:
+    case CSSPropertyID::kJustifyContent:
       return 240;
-    case CSSPropertyWebkitFontSizeDelta:
+    case CSSPropertyID::kWebkitFontSizeDelta:
       return 241;
-    case CSSPropertyGridTemplateColumns:
+    case CSSPropertyID::kGridTemplateColumns:
       return 242;
-    case CSSPropertyGridTemplateRows:
+    case CSSPropertyID::kGridTemplateRows:
       return 243;
-    case CSSPropertyGridColumnStart:
+    case CSSPropertyID::kGridColumnStart:
       return 244;
-    case CSSPropertyGridColumnEnd:
+    case CSSPropertyID::kGridColumnEnd:
       return 245;
-    case CSSPropertyGridRowStart:
+    case CSSPropertyID::kGridRowStart:
       return 246;
-    case CSSPropertyGridRowEnd:
+    case CSSPropertyID::kGridRowEnd:
       return 247;
-    case CSSPropertyGridColumn:
+    case CSSPropertyID::kGridColumn:
       return 248;
-    case CSSPropertyGridRow:
+    case CSSPropertyID::kGridRow:
       return 249;
-    case CSSPropertyGridAutoFlow:
+    case CSSPropertyID::kGridAutoFlow:
       return 250;
-    case CSSPropertyWebkitHighlight:
+    case CSSPropertyID::kWebkitHighlight:
       return 251;
-    case CSSPropertyWebkitHyphenateCharacter:
+    case CSSPropertyID::kWebkitHyphenateCharacter:
       return 252;
     // case CSSPropertyWebkitLineBoxContain: return 257;
     // case CSSPropertyWebkitLineAlign: return 258;
-    case CSSPropertyWebkitLineBreak:
+    case CSSPropertyID::kWebkitLineBreak:
       return 259;
-    case CSSPropertyWebkitLineClamp:
+    case CSSPropertyID::kWebkitLineClamp:
       return 260;
     // case CSSPropertyWebkitLineGrid: return 261;
     // case CSSPropertyWebkitLineSnap: return 262;
-    case CSSPropertyAliasWebkitLogicalWidth:
+    case CSSPropertyID::kAliasWebkitLogicalWidth:
       return 263;
-    case CSSPropertyAliasWebkitLogicalHeight:
+    case CSSPropertyID::kAliasWebkitLogicalHeight:
       return 264;
-    case CSSPropertyWebkitMarginAfterCollapse:
+    case CSSPropertyID::kWebkitMarginAfterCollapse:
       return 265;
-    case CSSPropertyWebkitMarginBeforeCollapse:
+    case CSSPropertyID::kWebkitMarginBeforeCollapse:
       return 266;
-    case CSSPropertyWebkitMarginBottomCollapse:
+    case CSSPropertyID::kWebkitMarginBottomCollapse:
       return 267;
-    case CSSPropertyWebkitMarginTopCollapse:
+    case CSSPropertyID::kWebkitMarginTopCollapse:
       return 268;
-    case CSSPropertyWebkitMarginCollapse:
+    case CSSPropertyID::kWebkitMarginCollapse:
       return 269;
-    case CSSPropertyAliasWebkitMarginAfter:
+    case CSSPropertyID::kAliasWebkitMarginAfter:
       return 270;
-    case CSSPropertyAliasWebkitMarginBefore:
+    case CSSPropertyID::kAliasWebkitMarginBefore:
       return 271;
-    case CSSPropertyAliasWebkitMarginEnd:
+    case CSSPropertyID::kAliasWebkitMarginEnd:
       return 272;
-    case CSSPropertyAliasWebkitMarginStart:
+    case CSSPropertyID::kAliasWebkitMarginStart:
       return 273;
     // CSSPropertyWebkitMarquee was 274.
     // CSSPropertyInternalMarquee* were 275-279.
-    case CSSPropertyWebkitMask:
+    case CSSPropertyID::kWebkitMask:
       return 280;
-    case CSSPropertyWebkitMaskBoxImage:
+    case CSSPropertyID::kWebkitMaskBoxImage:
       return 281;
-    case CSSPropertyWebkitMaskBoxImageOutset:
+    case CSSPropertyID::kWebkitMaskBoxImageOutset:
       return 282;
-    case CSSPropertyWebkitMaskBoxImageRepeat:
+    case CSSPropertyID::kWebkitMaskBoxImageRepeat:
       return 283;
-    case CSSPropertyWebkitMaskBoxImageSlice:
+    case CSSPropertyID::kWebkitMaskBoxImageSlice:
       return 284;
-    case CSSPropertyWebkitMaskBoxImageSource:
+    case CSSPropertyID::kWebkitMaskBoxImageSource:
       return 285;
-    case CSSPropertyWebkitMaskBoxImageWidth:
+    case CSSPropertyID::kWebkitMaskBoxImageWidth:
       return 286;
-    case CSSPropertyWebkitMaskClip:
+    case CSSPropertyID::kWebkitMaskClip:
       return 287;
-    case CSSPropertyWebkitMaskComposite:
+    case CSSPropertyID::kWebkitMaskComposite:
       return 288;
-    case CSSPropertyWebkitMaskImage:
+    case CSSPropertyID::kWebkitMaskImage:
       return 289;
-    case CSSPropertyWebkitMaskOrigin:
+    case CSSPropertyID::kWebkitMaskOrigin:
       return 290;
-    case CSSPropertyWebkitMaskPosition:
+    case CSSPropertyID::kWebkitMaskPosition:
       return 291;
-    case CSSPropertyWebkitMaskPositionX:
+    case CSSPropertyID::kWebkitMaskPositionX:
       return 292;
-    case CSSPropertyWebkitMaskPositionY:
+    case CSSPropertyID::kWebkitMaskPositionY:
       return 293;
-    case CSSPropertyWebkitMaskRepeat:
+    case CSSPropertyID::kWebkitMaskRepeat:
       return 294;
-    case CSSPropertyWebkitMaskRepeatX:
+    case CSSPropertyID::kWebkitMaskRepeatX:
       return 295;
-    case CSSPropertyWebkitMaskRepeatY:
+    case CSSPropertyID::kWebkitMaskRepeatY:
       return 296;
-    case CSSPropertyWebkitMaskSize:
+    case CSSPropertyID::kWebkitMaskSize:
       return 297;
-    case CSSPropertyAliasWebkitMaxLogicalWidth:
+    case CSSPropertyID::kAliasWebkitMaxLogicalWidth:
       return 298;
-    case CSSPropertyAliasWebkitMaxLogicalHeight:
+    case CSSPropertyID::kAliasWebkitMaxLogicalHeight:
       return 299;
-    case CSSPropertyAliasWebkitMinLogicalWidth:
+    case CSSPropertyID::kAliasWebkitMinLogicalWidth:
       return 300;
-    case CSSPropertyAliasWebkitMinLogicalHeight:
+    case CSSPropertyID::kAliasWebkitMinLogicalHeight:
       return 301;
     // WebkitNbspMode has been deleted, was return 302;
-    case CSSPropertyOrder:
+    case CSSPropertyID::kOrder:
       return 303;
-    case CSSPropertyAliasWebkitPaddingAfter:
+    case CSSPropertyID::kAliasWebkitPaddingAfter:
       return 304;
-    case CSSPropertyAliasWebkitPaddingBefore:
+    case CSSPropertyID::kAliasWebkitPaddingBefore:
       return 305;
-    case CSSPropertyAliasWebkitPaddingEnd:
+    case CSSPropertyID::kAliasWebkitPaddingEnd:
       return 306;
-    case CSSPropertyAliasWebkitPaddingStart:
+    case CSSPropertyID::kAliasWebkitPaddingStart:
       return 307;
-    case CSSPropertyAliasWebkitPerspective:
+    case CSSPropertyID::kAliasWebkitPerspective:
       return 308;
-    case CSSPropertyAliasWebkitPerspectiveOrigin:
+    case CSSPropertyID::kAliasWebkitPerspectiveOrigin:
       return 309;
-    case CSSPropertyWebkitPerspectiveOriginX:
+    case CSSPropertyID::kWebkitPerspectiveOriginX:
       return 310;
-    case CSSPropertyWebkitPerspectiveOriginY:
+    case CSSPropertyID::kWebkitPerspectiveOriginY:
       return 311;
-    case CSSPropertyWebkitPrintColorAdjust:
+    case CSSPropertyID::kWebkitPrintColorAdjust:
       return 312;
-    case CSSPropertyWebkitRtlOrdering:
+    case CSSPropertyID::kWebkitRtlOrdering:
       return 313;
-    case CSSPropertyWebkitRubyPosition:
+    case CSSPropertyID::kWebkitRubyPosition:
       return 314;
-    case CSSPropertyWebkitTextCombine:
+    case CSSPropertyID::kWebkitTextCombine:
       return 315;
-    case CSSPropertyWebkitTextDecorationsInEffect:
+    case CSSPropertyID::kWebkitTextDecorationsInEffect:
       return 316;
-    case CSSPropertyWebkitTextEmphasis:
+    case CSSPropertyID::kWebkitTextEmphasis:
       return 317;
-    case CSSPropertyWebkitTextEmphasisColor:
+    case CSSPropertyID::kWebkitTextEmphasisColor:
       return 318;
-    case CSSPropertyWebkitTextEmphasisPosition:
+    case CSSPropertyID::kWebkitTextEmphasisPosition:
       return 319;
-    case CSSPropertyWebkitTextEmphasisStyle:
+    case CSSPropertyID::kWebkitTextEmphasisStyle:
       return 320;
-    case CSSPropertyWebkitTextFillColor:
+    case CSSPropertyID::kWebkitTextFillColor:
       return 321;
-    case CSSPropertyWebkitTextSecurity:
+    case CSSPropertyID::kWebkitTextSecurity:
       return 322;
-    case CSSPropertyWebkitTextStroke:
+    case CSSPropertyID::kWebkitTextStroke:
       return 323;
-    case CSSPropertyWebkitTextStrokeColor:
+    case CSSPropertyID::kWebkitTextStrokeColor:
       return 324;
-    case CSSPropertyWebkitTextStrokeWidth:
+    case CSSPropertyID::kWebkitTextStrokeWidth:
       return 325;
-    case CSSPropertyAliasWebkitTransform:
+    case CSSPropertyID::kAliasWebkitTransform:
       return 326;
-    case CSSPropertyAliasWebkitTransformOrigin:
+    case CSSPropertyID::kAliasWebkitTransformOrigin:
       return 327;
-    case CSSPropertyWebkitTransformOriginX:
+    case CSSPropertyID::kWebkitTransformOriginX:
       return 328;
-    case CSSPropertyWebkitTransformOriginY:
+    case CSSPropertyID::kWebkitTransformOriginY:
       return 329;
-    case CSSPropertyWebkitTransformOriginZ:
+    case CSSPropertyID::kWebkitTransformOriginZ:
       return 330;
-    case CSSPropertyAliasWebkitTransformStyle:
+    case CSSPropertyID::kAliasWebkitTransformStyle:
       return 331;
-    case CSSPropertyAliasWebkitTransition:
+    case CSSPropertyID::kAliasWebkitTransition:
       return 332;
-    case CSSPropertyAliasWebkitTransitionDelay:
+    case CSSPropertyID::kAliasWebkitTransitionDelay:
       return 333;
-    case CSSPropertyAliasWebkitTransitionDuration:
+    case CSSPropertyID::kAliasWebkitTransitionDuration:
       return 334;
-    case CSSPropertyAliasWebkitTransitionProperty:
+    case CSSPropertyID::kAliasWebkitTransitionProperty:
       return 335;
-    case CSSPropertyAliasWebkitTransitionTimingFunction:
+    case CSSPropertyID::kAliasWebkitTransitionTimingFunction:
       return 336;
-    case CSSPropertyWebkitUserDrag:
+    case CSSPropertyID::kWebkitUserDrag:
       return 337;
-    case CSSPropertyWebkitUserModify:
+    case CSSPropertyID::kWebkitUserModify:
       return 338;
-    case CSSPropertyAliasWebkitUserSelect:
+    case CSSPropertyID::kAliasWebkitUserSelect:
       return 339;
     // case CSSPropertyWebkitFlowInto: return 340;
     // case CSSPropertyWebkitFlowFrom: return 341;
@@ -674,94 +674,95 @@
     // case CSSPropertyWebkitRegionBreakBefore: return 344;
     // case CSSPropertyWebkitRegionBreakInside: return 345;
     // case CSSPropertyShapeInside: return 346;
-    case CSSPropertyShapeOutside:
+    case CSSPropertyID::kShapeOutside:
       return 347;
-    case CSSPropertyShapeMargin:
+    case CSSPropertyID::kShapeMargin:
       return 348;
     // case CSSPropertyShapePadding: return 349;
     // case CSSPropertyWebkitWrapFlow: return 350;
     // case CSSPropertyWebkitWrapThrough: return 351;
     // CSSPropertyWebkitWrap was 352.
-    // 353 was CSSPropertyWebkitTapHighlightColor (duplicated due to #ifdef).
-    // 354 was CSSPropertyWebkitAppRegion (duplicated due to #ifdef).
-    case CSSPropertyClipPath:
+    // 353 was CSSPropertyID::kWebkitTapHighlightColor (duplicated due to
+    // #ifdef). 354 was CSSPropertyID::kWebkitAppRegion (duplicated due to
+    // #ifdef).
+    case CSSPropertyID::kClipPath:
       return 355;
-    case CSSPropertyClipRule:
+    case CSSPropertyID::kClipRule:
       return 356;
-    case CSSPropertyMask:
+    case CSSPropertyID::kMask:
       return 357;
     // CSSPropertyEnableBackground has been removed, was return 358;
-    case CSSPropertyFilter:
+    case CSSPropertyID::kFilter:
       return 359;
-    case CSSPropertyFloodColor:
+    case CSSPropertyID::kFloodColor:
       return 360;
-    case CSSPropertyFloodOpacity:
+    case CSSPropertyID::kFloodOpacity:
       return 361;
-    case CSSPropertyLightingColor:
+    case CSSPropertyID::kLightingColor:
       return 362;
-    case CSSPropertyStopColor:
+    case CSSPropertyID::kStopColor:
       return 363;
-    case CSSPropertyStopOpacity:
+    case CSSPropertyID::kStopOpacity:
       return 364;
-    case CSSPropertyColorInterpolation:
+    case CSSPropertyID::kColorInterpolation:
       return 365;
-    case CSSPropertyColorInterpolationFilters:
+    case CSSPropertyID::kColorInterpolationFilters:
       return 366;
     // case CSSPropertyColorProfile: return 367;
-    case CSSPropertyColorRendering:
+    case CSSPropertyID::kColorRendering:
       return 368;
-    case CSSPropertyFill:
+    case CSSPropertyID::kFill:
       return 369;
-    case CSSPropertyFillOpacity:
+    case CSSPropertyID::kFillOpacity:
       return 370;
-    case CSSPropertyFillRule:
+    case CSSPropertyID::kFillRule:
       return 371;
-    case CSSPropertyMarker:
+    case CSSPropertyID::kMarker:
       return 372;
-    case CSSPropertyMarkerEnd:
+    case CSSPropertyID::kMarkerEnd:
       return 373;
-    case CSSPropertyMarkerMid:
+    case CSSPropertyID::kMarkerMid:
       return 374;
-    case CSSPropertyMarkerStart:
+    case CSSPropertyID::kMarkerStart:
       return 375;
-    case CSSPropertyMaskType:
+    case CSSPropertyID::kMaskType:
       return 376;
-    case CSSPropertyShapeRendering:
+    case CSSPropertyID::kShapeRendering:
       return 377;
-    case CSSPropertyStroke:
+    case CSSPropertyID::kStroke:
       return 378;
-    case CSSPropertyStrokeDasharray:
+    case CSSPropertyID::kStrokeDasharray:
       return 379;
-    case CSSPropertyStrokeDashoffset:
+    case CSSPropertyID::kStrokeDashoffset:
       return 380;
-    case CSSPropertyStrokeLinecap:
+    case CSSPropertyID::kStrokeLinecap:
       return 381;
-    case CSSPropertyStrokeLinejoin:
+    case CSSPropertyID::kStrokeLinejoin:
       return 382;
-    case CSSPropertyStrokeMiterlimit:
+    case CSSPropertyID::kStrokeMiterlimit:
       return 383;
-    case CSSPropertyStrokeOpacity:
+    case CSSPropertyID::kStrokeOpacity:
       return 384;
-    case CSSPropertyStrokeWidth:
+    case CSSPropertyID::kStrokeWidth:
       return 385;
-    case CSSPropertyAlignmentBaseline:
+    case CSSPropertyID::kAlignmentBaseline:
       return 386;
-    case CSSPropertyBaselineShift:
+    case CSSPropertyID::kBaselineShift:
       return 387;
-    case CSSPropertyDominantBaseline:
+    case CSSPropertyID::kDominantBaseline:
       return 388;
     // CSSPropertyGlyphOrientationHorizontal has been removed, was return 389;
     // CSSPropertyGlyphOrientationVertical has been removed, was return 390;
     // CSSPropertyKerning has been removed, was return 391;
-    case CSSPropertyTextAnchor:
+    case CSSPropertyID::kTextAnchor:
       return 392;
-    case CSSPropertyVectorEffect:
+    case CSSPropertyID::kVectorEffect:
       return 393;
-    case CSSPropertyWritingMode:
+    case CSSPropertyID::kWritingMode:
       return 394;
 // CSSPropertyWebkitSvgShadow has been removed, was return 395;
 // CSSPropertyWebkitCursorVisibility has been removed, was return 396;
-// CSSPropertyImageOrientation has been removed, was return 397;
+// CSSPropertyID::kImageOrientation has been removed, was return 397;
 // CSSPropertyImageResolution has been removed, was return 398;
 #if defined(ENABLE_CSS_COMPOSITING) && ENABLE_CSS_COMPOSITING
     case CSSPropertyWebkitBlendMode:
@@ -769,460 +770,460 @@
     case CSSPropertyWebkitBackgroundBlendMode:
       return 400;
 #endif
-    case CSSPropertyTextDecorationLine:
+    case CSSPropertyID::kTextDecorationLine:
       return 401;
-    case CSSPropertyTextDecorationStyle:
+    case CSSPropertyID::kTextDecorationStyle:
       return 402;
-    case CSSPropertyTextDecorationColor:
+    case CSSPropertyID::kTextDecorationColor:
       return 403;
-    case CSSPropertyTextAlignLast:
+    case CSSPropertyID::kTextAlignLast:
       return 404;
-    case CSSPropertyTextUnderlinePosition:
+    case CSSPropertyID::kTextUnderlinePosition:
       return 405;
-    case CSSPropertyMaxZoom:
+    case CSSPropertyID::kMaxZoom:
       return 406;
-    case CSSPropertyMinZoom:
+    case CSSPropertyID::kMinZoom:
       return 407;
-    case CSSPropertyOrientation:
+    case CSSPropertyID::kOrientation:
       return 408;
-    case CSSPropertyUserZoom:
+    case CSSPropertyID::kUserZoom:
       return 409;
     // CSSPropertyWebkitDashboardRegion was 410.
     // CSSPropertyWebkitOverflowScrolling was 411.
-    case CSSPropertyWebkitAppRegion:
+    case CSSPropertyID::kWebkitAppRegion:
       return 412;
-    case CSSPropertyAliasWebkitFilter:
+    case CSSPropertyID::kAliasWebkitFilter:
       return 413;
-    case CSSPropertyWebkitBoxDecorationBreak:
+    case CSSPropertyID::kWebkitBoxDecorationBreak:
       return 414;
-    case CSSPropertyWebkitTapHighlightColor:
+    case CSSPropertyID::kWebkitTapHighlightColor:
       return 415;
-    case CSSPropertyBufferedRendering:
+    case CSSPropertyID::kBufferedRendering:
       return 416;
-    case CSSPropertyGridAutoRows:
+    case CSSPropertyID::kGridAutoRows:
       return 417;
-    case CSSPropertyGridAutoColumns:
+    case CSSPropertyID::kGridAutoColumns:
       return 418;
-    case CSSPropertyBackgroundBlendMode:
+    case CSSPropertyID::kBackgroundBlendMode:
       return 419;
-    case CSSPropertyMixBlendMode:
+    case CSSPropertyID::kMixBlendMode:
       return 420;
-    case CSSPropertyTouchAction:
+    case CSSPropertyID::kTouchAction:
       return 421;
-    case CSSPropertyGridArea:
+    case CSSPropertyID::kGridArea:
       return 422;
-    case CSSPropertyGridTemplateAreas:
+    case CSSPropertyID::kGridTemplateAreas:
       return 423;
-    case CSSPropertyAnimation:
+    case CSSPropertyID::kAnimation:
       return 424;
-    case CSSPropertyAnimationDelay:
+    case CSSPropertyID::kAnimationDelay:
       return 425;
-    case CSSPropertyAnimationDirection:
+    case CSSPropertyID::kAnimationDirection:
       return 426;
-    case CSSPropertyAnimationDuration:
+    case CSSPropertyID::kAnimationDuration:
       return 427;
-    case CSSPropertyAnimationFillMode:
+    case CSSPropertyID::kAnimationFillMode:
       return 428;
-    case CSSPropertyAnimationIterationCount:
+    case CSSPropertyID::kAnimationIterationCount:
       return 429;
-    case CSSPropertyAnimationName:
+    case CSSPropertyID::kAnimationName:
       return 430;
-    case CSSPropertyAnimationPlayState:
+    case CSSPropertyID::kAnimationPlayState:
       return 431;
-    case CSSPropertyAnimationTimingFunction:
+    case CSSPropertyID::kAnimationTimingFunction:
       return 432;
-    case CSSPropertyObjectFit:
+    case CSSPropertyID::kObjectFit:
       return 433;
-    case CSSPropertyPaintOrder:
+    case CSSPropertyID::kPaintOrder:
       return 434;
-    case CSSPropertyMaskSourceType:
+    case CSSPropertyID::kMaskSourceType:
       return 435;
-    case CSSPropertyIsolation:
+    case CSSPropertyID::kIsolation:
       return 436;
-    case CSSPropertyObjectPosition:
+    case CSSPropertyID::kObjectPosition:
       return 437;
     // case CSSPropertyInternalCallback: return 438;
-    case CSSPropertyShapeImageThreshold:
+    case CSSPropertyID::kShapeImageThreshold:
       return 439;
-    case CSSPropertyColumnFill:
+    case CSSPropertyID::kColumnFill:
       return 440;
-    case CSSPropertyTextJustify:
+    case CSSPropertyID::kTextJustify:
       return 441;
     // CSSPropertyTouchActionDelay was 442
-    case CSSPropertyJustifySelf:
+    case CSSPropertyID::kJustifySelf:
       return 443;
-    case CSSPropertyScrollBehavior:
+    case CSSPropertyID::kScrollBehavior:
       return 444;
-    case CSSPropertyWillChange:
+    case CSSPropertyID::kWillChange:
       return 445;
-    case CSSPropertyTransform:
+    case CSSPropertyID::kTransform:
       return 446;
-    case CSSPropertyTransformOrigin:
+    case CSSPropertyID::kTransformOrigin:
       return 447;
-    case CSSPropertyTransformStyle:
+    case CSSPropertyID::kTransformStyle:
       return 448;
-    case CSSPropertyPerspective:
+    case CSSPropertyID::kPerspective:
       return 449;
-    case CSSPropertyPerspectiveOrigin:
+    case CSSPropertyID::kPerspectiveOrigin:
       return 450;
-    case CSSPropertyBackfaceVisibility:
+    case CSSPropertyID::kBackfaceVisibility:
       return 451;
-    case CSSPropertyGridTemplate:
+    case CSSPropertyID::kGridTemplate:
       return 452;
-    case CSSPropertyGrid:
+    case CSSPropertyID::kGrid:
       return 453;
-    case CSSPropertyAll:
+    case CSSPropertyID::kAll:
       return 454;
-    case CSSPropertyJustifyItems:
+    case CSSPropertyID::kJustifyItems:
       return 455;
     // CSSPropertyMotionPath was 457.
     // CSSPropertyAliasMotionOffset was 458.
     // CSSPropertyAliasMotionRotation was 459.
     // CSSPropertyMotion was 460.
-    case CSSPropertyX:
+    case CSSPropertyID::kX:
       return 461;
-    case CSSPropertyY:
+    case CSSPropertyID::kY:
       return 462;
-    case CSSPropertyRx:
+    case CSSPropertyID::kRx:
       return 463;
-    case CSSPropertyRy:
+    case CSSPropertyID::kRy:
       return 464;
-    case CSSPropertyFontSizeAdjust:
+    case CSSPropertyID::kFontSizeAdjust:
       return 465;
-    case CSSPropertyCx:
+    case CSSPropertyID::kCx:
       return 466;
-    case CSSPropertyCy:
+    case CSSPropertyID::kCy:
       return 467;
-    case CSSPropertyR:
+    case CSSPropertyID::kR:
       return 468;
-    case CSSPropertyAliasEpubCaptionSide:
+    case CSSPropertyID::kAliasEpubCaptionSide:
       return 469;
-    case CSSPropertyAliasEpubTextCombine:
+    case CSSPropertyID::kAliasEpubTextCombine:
       return 470;
-    case CSSPropertyAliasEpubTextEmphasis:
+    case CSSPropertyID::kAliasEpubTextEmphasis:
       return 471;
-    case CSSPropertyAliasEpubTextEmphasisColor:
+    case CSSPropertyID::kAliasEpubTextEmphasisColor:
       return 472;
-    case CSSPropertyAliasEpubTextEmphasisStyle:
+    case CSSPropertyID::kAliasEpubTextEmphasisStyle:
       return 473;
-    case CSSPropertyAliasEpubTextOrientation:
+    case CSSPropertyID::kAliasEpubTextOrientation:
       return 474;
-    case CSSPropertyAliasEpubTextTransform:
+    case CSSPropertyID::kAliasEpubTextTransform:
       return 475;
-    case CSSPropertyAliasEpubWordBreak:
+    case CSSPropertyID::kAliasEpubWordBreak:
       return 476;
-    case CSSPropertyAliasEpubWritingMode:
+    case CSSPropertyID::kAliasEpubWritingMode:
       return 477;
-    case CSSPropertyAliasWebkitAlignContent:
+    case CSSPropertyID::kAliasWebkitAlignContent:
       return 478;
-    case CSSPropertyAliasWebkitAlignItems:
+    case CSSPropertyID::kAliasWebkitAlignItems:
       return 479;
-    case CSSPropertyAliasWebkitAlignSelf:
+    case CSSPropertyID::kAliasWebkitAlignSelf:
       return 480;
-    case CSSPropertyAliasWebkitBorderBottomLeftRadius:
+    case CSSPropertyID::kAliasWebkitBorderBottomLeftRadius:
       return 481;
-    case CSSPropertyAliasWebkitBorderBottomRightRadius:
+    case CSSPropertyID::kAliasWebkitBorderBottomRightRadius:
       return 482;
-    case CSSPropertyAliasWebkitBorderTopLeftRadius:
+    case CSSPropertyID::kAliasWebkitBorderTopLeftRadius:
       return 483;
-    case CSSPropertyAliasWebkitBorderTopRightRadius:
+    case CSSPropertyID::kAliasWebkitBorderTopRightRadius:
       return 484;
-    case CSSPropertyAliasWebkitBoxSizing:
+    case CSSPropertyID::kAliasWebkitBoxSizing:
       return 485;
-    case CSSPropertyAliasWebkitFlex:
+    case CSSPropertyID::kAliasWebkitFlex:
       return 486;
-    case CSSPropertyAliasWebkitFlexBasis:
+    case CSSPropertyID::kAliasWebkitFlexBasis:
       return 487;
-    case CSSPropertyAliasWebkitFlexDirection:
+    case CSSPropertyID::kAliasWebkitFlexDirection:
       return 488;
-    case CSSPropertyAliasWebkitFlexFlow:
+    case CSSPropertyID::kAliasWebkitFlexFlow:
       return 489;
-    case CSSPropertyAliasWebkitFlexGrow:
+    case CSSPropertyID::kAliasWebkitFlexGrow:
       return 490;
-    case CSSPropertyAliasWebkitFlexShrink:
+    case CSSPropertyID::kAliasWebkitFlexShrink:
       return 491;
-    case CSSPropertyAliasWebkitFlexWrap:
+    case CSSPropertyID::kAliasWebkitFlexWrap:
       return 492;
-    case CSSPropertyAliasWebkitJustifyContent:
+    case CSSPropertyID::kAliasWebkitJustifyContent:
       return 493;
-    case CSSPropertyAliasWebkitOpacity:
+    case CSSPropertyID::kAliasWebkitOpacity:
       return 494;
-    case CSSPropertyAliasWebkitOrder:
+    case CSSPropertyID::kAliasWebkitOrder:
       return 495;
-    case CSSPropertyAliasWebkitShapeImageThreshold:
+    case CSSPropertyID::kAliasWebkitShapeImageThreshold:
       return 496;
-    case CSSPropertyAliasWebkitShapeMargin:
+    case CSSPropertyID::kAliasWebkitShapeMargin:
       return 497;
-    case CSSPropertyAliasWebkitShapeOutside:
+    case CSSPropertyID::kAliasWebkitShapeOutside:
       return 498;
-    case CSSPropertyScrollSnapType:
+    case CSSPropertyID::kScrollSnapType:
       return 499;
     // CSSPropertyScrollSnapPointsX was 500.
     // CSSPropertyScrollSnapPointsY was 501.
     // CSSPropertyScrollSnapCoordinate was 502.
     // CSSPropertyScrollSnapDestination was 503.
-    case CSSPropertyTranslate:
+    case CSSPropertyID::kTranslate:
       return 504;
-    case CSSPropertyRotate:
+    case CSSPropertyID::kRotate:
       return 505;
-    case CSSPropertyScale:
+    case CSSPropertyID::kScale:
       return 506;
-    case CSSPropertyImageOrientation:
+    case CSSPropertyID::kImageOrientation:
       return 507;
-    case CSSPropertyBackdropFilter:
+    case CSSPropertyID::kBackdropFilter:
       return 508;
-    case CSSPropertyTextCombineUpright:
+    case CSSPropertyID::kTextCombineUpright:
       return 509;
-    case CSSPropertyTextOrientation:
+    case CSSPropertyID::kTextOrientation:
       return 510;
-    case CSSPropertyGridColumnGap:
+    case CSSPropertyID::kGridColumnGap:
       return 511;
-    case CSSPropertyGridRowGap:
+    case CSSPropertyID::kGridRowGap:
       return 512;
-    case CSSPropertyGridGap:
+    case CSSPropertyID::kGridGap:
       return 513;
-    case CSSPropertyFontFeatureSettings:
+    case CSSPropertyID::kFontFeatureSettings:
       return 514;
-    case CSSPropertyVariable:
+    case CSSPropertyID::kVariable:
       return 515;
-    case CSSPropertyFontDisplay:
+    case CSSPropertyID::kFontDisplay:
       return 516;
-    case CSSPropertyContain:
+    case CSSPropertyID::kContain:
       return 517;
-    case CSSPropertyD:
+    case CSSPropertyID::kD:
       return 518;
-    case CSSPropertyLineHeightStep:
+    case CSSPropertyID::kLineHeightStep:
       return 519;
-    case CSSPropertyBreakAfter:
+    case CSSPropertyID::kBreakAfter:
       return 520;
-    case CSSPropertyBreakBefore:
+    case CSSPropertyID::kBreakBefore:
       return 521;
-    case CSSPropertyBreakInside:
+    case CSSPropertyID::kBreakInside:
       return 522;
-    case CSSPropertyColumnCount:
+    case CSSPropertyID::kColumnCount:
       return 523;
-    case CSSPropertyColumnGap:
+    case CSSPropertyID::kColumnGap:
       return 524;
-    case CSSPropertyColumnRule:
+    case CSSPropertyID::kColumnRule:
       return 525;
-    case CSSPropertyColumnRuleColor:
+    case CSSPropertyID::kColumnRuleColor:
       return 526;
-    case CSSPropertyColumnRuleStyle:
+    case CSSPropertyID::kColumnRuleStyle:
       return 527;
-    case CSSPropertyColumnRuleWidth:
+    case CSSPropertyID::kColumnRuleWidth:
       return 528;
-    case CSSPropertyColumnSpan:
+    case CSSPropertyID::kColumnSpan:
       return 529;
-    case CSSPropertyColumnWidth:
+    case CSSPropertyID::kColumnWidth:
       return 530;
-    case CSSPropertyColumns:
+    case CSSPropertyID::kColumns:
       return 531;
     // CSSPropertyApplyAtRule was 532.
-    case CSSPropertyFontVariantCaps:
+    case CSSPropertyID::kFontVariantCaps:
       return 533;
-    case CSSPropertyHyphens:
+    case CSSPropertyID::kHyphens:
       return 534;
-    case CSSPropertyFontVariantNumeric:
+    case CSSPropertyID::kFontVariantNumeric:
       return 535;
-    case CSSPropertyTextSizeAdjust:
+    case CSSPropertyID::kTextSizeAdjust:
       return 536;
-    case CSSPropertyAliasWebkitTextSizeAdjust:
+    case CSSPropertyID::kAliasWebkitTextSizeAdjust:
       return 537;
-    case CSSPropertyOverflowAnchor:
+    case CSSPropertyID::kOverflowAnchor:
       return 538;
-    case CSSPropertyUserSelect:
+    case CSSPropertyID::kUserSelect:
       return 539;
-    case CSSPropertyOffsetDistance:
+    case CSSPropertyID::kOffsetDistance:
       return 540;
-    case CSSPropertyOffsetPath:
+    case CSSPropertyID::kOffsetPath:
       return 541;
     // CSSPropertyOffsetRotation was 542.
-    case CSSPropertyOffset:
+    case CSSPropertyID::kOffset:
       return 543;
-    case CSSPropertyOffsetAnchor:
+    case CSSPropertyID::kOffsetAnchor:
       return 544;
-    case CSSPropertyOffsetPosition:
+    case CSSPropertyID::kOffsetPosition:
       return 545;
     // CSSPropertyTextDecorationSkip was 546.
-    case CSSPropertyCaretColor:
+    case CSSPropertyID::kCaretColor:
       return 547;
-    case CSSPropertyOffsetRotate:
+    case CSSPropertyID::kOffsetRotate:
       return 548;
-    case CSSPropertyFontVariationSettings:
+    case CSSPropertyID::kFontVariationSettings:
       return 549;
-    case CSSPropertyInlineSize:
+    case CSSPropertyID::kInlineSize:
       return 550;
-    case CSSPropertyBlockSize:
+    case CSSPropertyID::kBlockSize:
       return 551;
-    case CSSPropertyMinInlineSize:
+    case CSSPropertyID::kMinInlineSize:
       return 552;
-    case CSSPropertyMinBlockSize:
+    case CSSPropertyID::kMinBlockSize:
       return 553;
-    case CSSPropertyMaxInlineSize:
+    case CSSPropertyID::kMaxInlineSize:
       return 554;
-    case CSSPropertyMaxBlockSize:
+    case CSSPropertyID::kMaxBlockSize:
       return 555;
-    case CSSPropertyLineBreak:
+    case CSSPropertyID::kLineBreak:
       return 556;
-    case CSSPropertyPlaceContent:
+    case CSSPropertyID::kPlaceContent:
       return 557;
-    case CSSPropertyPlaceItems:
+    case CSSPropertyID::kPlaceItems:
       return 558;
-    case CSSPropertyTransformBox:
+    case CSSPropertyID::kTransformBox:
       return 559;
-    case CSSPropertyPlaceSelf:
+    case CSSPropertyID::kPlaceSelf:
       return 560;
-    case CSSPropertyScrollSnapAlign:
+    case CSSPropertyID::kScrollSnapAlign:
       return 561;
-    case CSSPropertyScrollPadding:
+    case CSSPropertyID::kScrollPadding:
       return 562;
-    case CSSPropertyScrollPaddingTop:
+    case CSSPropertyID::kScrollPaddingTop:
       return 563;
-    case CSSPropertyScrollPaddingRight:
+    case CSSPropertyID::kScrollPaddingRight:
       return 564;
-    case CSSPropertyScrollPaddingBottom:
+    case CSSPropertyID::kScrollPaddingBottom:
       return 565;
-    case CSSPropertyScrollPaddingLeft:
+    case CSSPropertyID::kScrollPaddingLeft:
       return 566;
-    case CSSPropertyScrollPaddingBlock:
+    case CSSPropertyID::kScrollPaddingBlock:
       return 567;
-    case CSSPropertyScrollPaddingBlockStart:
+    case CSSPropertyID::kScrollPaddingBlockStart:
       return 568;
-    case CSSPropertyScrollPaddingBlockEnd:
+    case CSSPropertyID::kScrollPaddingBlockEnd:
       return 569;
-    case CSSPropertyScrollPaddingInline:
+    case CSSPropertyID::kScrollPaddingInline:
       return 570;
-    case CSSPropertyScrollPaddingInlineStart:
+    case CSSPropertyID::kScrollPaddingInlineStart:
       return 571;
-    case CSSPropertyScrollPaddingInlineEnd:
+    case CSSPropertyID::kScrollPaddingInlineEnd:
       return 572;
-    case CSSPropertyScrollMargin:
+    case CSSPropertyID::kScrollMargin:
       return 573;
-    case CSSPropertyScrollMarginTop:
+    case CSSPropertyID::kScrollMarginTop:
       return 574;
-    case CSSPropertyScrollMarginRight:
+    case CSSPropertyID::kScrollMarginRight:
       return 575;
-    case CSSPropertyScrollMarginBottom:
+    case CSSPropertyID::kScrollMarginBottom:
       return 576;
-    case CSSPropertyScrollMarginLeft:
+    case CSSPropertyID::kScrollMarginLeft:
       return 577;
-    case CSSPropertyScrollMarginBlock:
+    case CSSPropertyID::kScrollMarginBlock:
       return 578;
-    case CSSPropertyScrollMarginBlockStart:
+    case CSSPropertyID::kScrollMarginBlockStart:
       return 579;
-    case CSSPropertyScrollMarginBlockEnd:
+    case CSSPropertyID::kScrollMarginBlockEnd:
       return 580;
-    case CSSPropertyScrollMarginInline:
+    case CSSPropertyID::kScrollMarginInline:
       return 581;
-    case CSSPropertyScrollMarginInlineStart:
+    case CSSPropertyID::kScrollMarginInlineStart:
       return 582;
-    case CSSPropertyScrollMarginInlineEnd:
+    case CSSPropertyID::kScrollMarginInlineEnd:
       return 583;
-    case CSSPropertyScrollSnapStop:
+    case CSSPropertyID::kScrollSnapStop:
       return 584;
-    case CSSPropertyOverscrollBehavior:
+    case CSSPropertyID::kOverscrollBehavior:
       return 585;
-    case CSSPropertyOverscrollBehaviorX:
+    case CSSPropertyID::kOverscrollBehaviorX:
       return 586;
-    case CSSPropertyOverscrollBehaviorY:
+    case CSSPropertyID::kOverscrollBehaviorY:
       return 587;
-    case CSSPropertyFontVariantEastAsian:
+    case CSSPropertyID::kFontVariantEastAsian:
       return 588;
-    case CSSPropertyTextDecorationSkipInk:
+    case CSSPropertyID::kTextDecorationSkipInk:
       return 589;
-    case CSSPropertyScrollCustomization:
+    case CSSPropertyID::kScrollCustomization:
       return 590;
-    case CSSPropertyRowGap:
+    case CSSPropertyID::kRowGap:
       return 591;
-    case CSSPropertyGap:
+    case CSSPropertyID::kGap:
       return 592;
-    case CSSPropertyViewportFit:
+    case CSSPropertyID::kViewportFit:
       return 593;
-    case CSSPropertyMarginBlockStart:
+    case CSSPropertyID::kMarginBlockStart:
       return 594;
-    case CSSPropertyMarginBlockEnd:
+    case CSSPropertyID::kMarginBlockEnd:
       return 595;
-    case CSSPropertyMarginInlineStart:
+    case CSSPropertyID::kMarginInlineStart:
       return 596;
-    case CSSPropertyMarginInlineEnd:
+    case CSSPropertyID::kMarginInlineEnd:
       return 597;
-    case CSSPropertyPaddingBlockStart:
+    case CSSPropertyID::kPaddingBlockStart:
       return 598;
-    case CSSPropertyPaddingBlockEnd:
+    case CSSPropertyID::kPaddingBlockEnd:
       return 599;
-    case CSSPropertyPaddingInlineStart:
+    case CSSPropertyID::kPaddingInlineStart:
       return 600;
-    case CSSPropertyPaddingInlineEnd:
+    case CSSPropertyID::kPaddingInlineEnd:
       return 601;
-    case CSSPropertyBorderBlockEndColor:
+    case CSSPropertyID::kBorderBlockEndColor:
       return 602;
-    case CSSPropertyBorderBlockEndStyle:
+    case CSSPropertyID::kBorderBlockEndStyle:
       return 603;
-    case CSSPropertyBorderBlockEndWidth:
+    case CSSPropertyID::kBorderBlockEndWidth:
       return 604;
-    case CSSPropertyBorderBlockStartColor:
+    case CSSPropertyID::kBorderBlockStartColor:
       return 605;
-    case CSSPropertyBorderBlockStartStyle:
+    case CSSPropertyID::kBorderBlockStartStyle:
       return 606;
-    case CSSPropertyBorderBlockStartWidth:
+    case CSSPropertyID::kBorderBlockStartWidth:
       return 607;
-    case CSSPropertyBorderInlineEndColor:
+    case CSSPropertyID::kBorderInlineEndColor:
       return 608;
-    case CSSPropertyBorderInlineEndStyle:
+    case CSSPropertyID::kBorderInlineEndStyle:
       return 609;
-    case CSSPropertyBorderInlineEndWidth:
+    case CSSPropertyID::kBorderInlineEndWidth:
       return 610;
-    case CSSPropertyBorderInlineStartColor:
+    case CSSPropertyID::kBorderInlineStartColor:
       return 611;
-    case CSSPropertyBorderInlineStartStyle:
+    case CSSPropertyID::kBorderInlineStartStyle:
       return 612;
-    case CSSPropertyBorderInlineStartWidth:
+    case CSSPropertyID::kBorderInlineStartWidth:
       return 613;
-    case CSSPropertyBorderBlockStart:
+    case CSSPropertyID::kBorderBlockStart:
       return 614;
-    case CSSPropertyBorderBlockEnd:
+    case CSSPropertyID::kBorderBlockEnd:
       return 615;
-    case CSSPropertyBorderInlineStart:
+    case CSSPropertyID::kBorderInlineStart:
       return 616;
-    case CSSPropertyBorderInlineEnd:
+    case CSSPropertyID::kBorderInlineEnd:
       return 617;
-    case CSSPropertyMarginBlock:
+    case CSSPropertyID::kMarginBlock:
       return 618;
-    case CSSPropertyMarginInline:
+    case CSSPropertyID::kMarginInline:
       return 619;
-    case CSSPropertyPaddingBlock:
+    case CSSPropertyID::kPaddingBlock:
       return 620;
-    case CSSPropertyPaddingInline:
+    case CSSPropertyID::kPaddingInline:
       return 621;
-    case CSSPropertyBorderBlockColor:
+    case CSSPropertyID::kBorderBlockColor:
       return 622;
-    case CSSPropertyBorderBlockStyle:
+    case CSSPropertyID::kBorderBlockStyle:
       return 623;
-    case CSSPropertyBorderBlockWidth:
+    case CSSPropertyID::kBorderBlockWidth:
       return 624;
-    case CSSPropertyBorderInlineColor:
+    case CSSPropertyID::kBorderInlineColor:
       return 625;
-    case CSSPropertyBorderInlineStyle:
+    case CSSPropertyID::kBorderInlineStyle:
       return 626;
-    case CSSPropertyBorderInlineWidth:
+    case CSSPropertyID::kBorderInlineWidth:
       return 627;
-    case CSSPropertyBorderBlock:
+    case CSSPropertyID::kBorderBlock:
       return 628;
-    case CSSPropertyBorderInline:
+    case CSSPropertyID::kBorderInline:
       return 629;
-    case CSSPropertyInsetBlockStart:
+    case CSSPropertyID::kInsetBlockStart:
       return 630;
-    case CSSPropertyInsetBlockEnd:
+    case CSSPropertyID::kInsetBlockEnd:
       return 631;
-    case CSSPropertyInsetBlock:
+    case CSSPropertyID::kInsetBlock:
       return 632;
-    case CSSPropertyInsetInlineStart:
+    case CSSPropertyID::kInsetInlineStart:
       return 633;
-    case CSSPropertyInsetInlineEnd:
+    case CSSPropertyID::kInsetInlineEnd:
       return 634;
-    case CSSPropertyInsetInline:
+    case CSSPropertyID::kInsetInline:
       return 635;
-    case CSSPropertyInset:
+    case CSSPropertyID::kInset:
       return 636;
     // 1. Add new features above this line (don't change the assigned numbers of
     // the existing items).
@@ -1231,7 +1232,7 @@
     // value.
     // 3. Run the update_use_counter_css.py script in
     // chromium/src/tools/metrics/histograms to update the UMA histogram names.
-    case CSSPropertyInvalid:
+    case CSSPropertyID::kInvalid:
       NOTREACHED();
       return 0;
   }
@@ -1420,7 +1421,7 @@
 
 bool UseCounter::IsCounted(Document& document, const String& string) {
   CSSPropertyID unresolved_property = unresolvedCSSPropertyID(string);
-  if (unresolved_property == CSSPropertyInvalid)
+  if (unresolved_property == CSSPropertyID::kInvalid)
     return false;
   DocumentLoader* loader = document.Loader();
   return loader ? loader->GetUseCounter().IsCounted(unresolved_property)
@@ -1451,7 +1452,8 @@
 void UseCounter::Count(CSSParserMode css_parser_mode,
                        CSSPropertyID property,
                        const LocalFrame* source_frame) {
-  DCHECK(isCSSPropertyIDWithName(property) || property == CSSPropertyVariable);
+  DCHECK(isCSSPropertyIDWithName(property) ||
+         property == CSSPropertyID::kVariable);
 
   if (!IsUseCounterEnabledForMode(css_parser_mode) || mute_count_)
     return;
@@ -1479,7 +1481,7 @@
 bool UseCounter::IsCountedAnimatedCSS(Document& document,
                                       const String& string) {
   CSSPropertyID unresolved_property = unresolvedCSSPropertyID(string);
-  if (unresolved_property == CSSPropertyInvalid)
+  if (unresolved_property == CSSPropertyID::kInvalid)
     return false;
   DocumentLoader* loader = document.Loader();
   return loader
@@ -1496,7 +1498,8 @@
 
 void UseCounter::CountAnimatedCSS(CSSPropertyID property,
                                   const LocalFrame* source_frame) {
-  DCHECK(isCSSPropertyIDWithName(property) || property == CSSPropertyVariable);
+  DCHECK(isCSSPropertyIDWithName(property) ||
+         property == CSSPropertyID::kVariable);
 
   if (mute_count_)
     return;
diff --git a/third_party/blink/renderer/core/frame/use_counter_test.cc b/third_party/blink/renderer/core/frame/use_counter_test.cc
index c4f7be4..8d7ef05d 100644
--- a/third_party/blink/renderer/core/frame/use_counter_test.cc
+++ b/third_party/blink/renderer/core/frame/use_counter_test.cc
@@ -376,7 +376,7 @@
 TEST_F(DeprecationTest, InspectorDisablesDeprecation) {
   // The specific feature we use here isn't important.
   WebFeature feature = WebFeature::kCSSDeepCombinator;
-  CSSPropertyID property = CSSPropertyFontWeight;
+  CSSPropertyID property = CSSPropertyID::kFontWeight;
 
   EXPECT_FALSE(deprecation_.IsSuppressed(property));
 
diff --git a/third_party/blink/renderer/core/geometry/dom_matrix_read_only.cc b/third_party/blink/renderer/core/geometry/dom_matrix_read_only.cc
index fd98d66e..0906368 100644
--- a/third_party/blink/renderer/core/geometry/dom_matrix_read_only.cc
+++ b/third_party/blink/renderer/core/geometry/dom_matrix_read_only.cc
@@ -471,7 +471,7 @@
     string = identity_matrix2d;
 
   const CSSValue* value = CSSParser::ParseSingleValue(
-      CSSPropertyTransform, string,
+      CSSPropertyID::kTransform, string,
       StrictCSSParserContext(execution_context->GetSecureContextMode()));
 
   if (!value || value->IsCSSWideKeyword()) {
diff --git a/third_party/blink/renderer/core/html/canvas/canvas_font_cache.cc b/third_party/blink/renderer/core/html/canvas/canvas_font_cache.cc
index 0a32e5f3..43186ee1 100644
--- a/third_party/blink/renderer/core/html/canvas/canvas_font_cache.cc
+++ b/third_party/blink/renderer/core/html/canvas/canvas_font_cache.cc
@@ -90,7 +90,7 @@
     parsed_style = i->value;
   } else {
     parsed_style = MutableCSSPropertyValueSet::Create(kHTMLStandardMode);
-    CSSParser::ParseValue(parsed_style, CSSPropertyFont, font_string, true,
+    CSSParser::ParseValue(parsed_style, CSSPropertyID::kFont, font_string, true,
                           document_->GetSecureContextMode());
     if (parsed_style->IsEmpty())
       return nullptr;
@@ -98,7 +98,7 @@
     // http://lists.w3.org/Archives/Public/public-html/2009Jul/0947.html,
     // the "inherit", "initial" and "unset" values must be ignored.
     const CSSValue* font_value =
-        parsed_style->GetPropertyCSSValue(CSSPropertyFontSize);
+        parsed_style->GetPropertyCSSValue(CSSPropertyID::kFontSize);
     if (font_value && font_value->IsCSSWideKeyword())
       return nullptr;
     fetched_fonts_.insert(font_string, parsed_style);
diff --git a/third_party/blink/renderer/core/html/forms/color_input_type.cc b/third_party/blink/renderer/core/html/forms/color_input_type.cc
index 5958e5b1..4ddf584 100644
--- a/third_party/blink/renderer/core/html/forms/color_input_type.cc
+++ b/third_party/blink/renderer/core/html/forms/color_input_type.cc
@@ -219,7 +219,7 @@
   if (!color_swatch)
     return;
 
-  color_swatch->SetInlineStyleProperty(CSSPropertyBackgroundColor,
+  color_swatch->SetInlineStyleProperty(CSSPropertyID::kBackgroundColor,
                                        GetElement().value());
 }
 
diff --git a/third_party/blink/renderer/core/html/forms/date_time_numeric_field_element.cc b/third_party/blink/renderer/core/html/forms/date_time_numeric_field_element.cc
index 52402eb..539240f 100644
--- a/third_party/blink/renderer/core/html/forms/date_time_numeric_field_element.cc
+++ b/third_party/blink/renderer/core/html/forms/date_time_numeric_field_element.cc
@@ -70,8 +70,8 @@
     if (dir == WTF::unicode::kLeftToRight ||
         dir == WTF::unicode::kEuropeanNumber ||
         dir == WTF::unicode::kArabicNumber) {
-      SetInlineStyleProperty(CSSPropertyUnicodeBidi, CSSValueBidiOverride);
-      SetInlineStyleProperty(CSSPropertyDirection, CSSValueLtr);
+      SetInlineStyleProperty(CSSPropertyID::kUnicodeBidi, CSSValueBidiOverride);
+      SetInlineStyleProperty(CSSPropertyID::kDirection, CSSValueLtr);
     }
   }
 }
diff --git a/third_party/blink/renderer/core/html/forms/html_input_element.cc b/third_party/blink/renderer/core/html/forms/html_input_element.cc
index 76d81ef..a235146 100644
--- a/third_party/blink/renderer/core/html/forms/html_input_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_input_element.cc
@@ -707,20 +707,20 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kVspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginTop, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginBottom, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginTop, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginBottom, value);
   } else if (name == kHspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginLeft, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginRight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginLeft, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginRight, value);
   } else if (name == kAlignAttr) {
     if (input_type_->ShouldRespectAlignAttribute())
       ApplyAlignmentAttributeToStyle(value, style);
   } else if (name == kWidthAttr) {
     if (input_type_->ShouldRespectHeightAndWidthAttributes())
-      AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+      AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   } else if (name == kHeightAttr) {
     if (input_type_->ShouldRespectHeightAndWidthAttributes())
-      AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+      AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   } else if (name == kBorderAttr &&
              type() == input_type_names::kImage) {  // FIXME: Remove type check.
     ApplyBorderAttributeToStyle(value, style);
diff --git a/third_party/blink/renderer/core/html/forms/html_opt_group_element.cc b/third_party/blink/renderer/core/html/forms/html_opt_group_element.cc
index 0a21f37b..7e934db 100644
--- a/third_party/blink/renderer/core/html/forms/html_opt_group_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_opt_group_element.cc
@@ -142,8 +142,8 @@
   HTMLDivElement* label = HTMLDivElement::Create(GetDocument());
   label->setAttribute(kRoleAttr, AtomicString("group"));
   label->setAttribute(kAriaLabelAttr, AtomicString());
-  label->SetInlineStyleProperty(CSSPropertyPadding, label_padding);
-  label->SetInlineStyleProperty(CSSPropertyMinHeight, label_min_height);
+  label->SetInlineStyleProperty(CSSPropertyID::kPadding, label_padding);
+  label->SetInlineStyleProperty(CSSPropertyID::kMinHeight, label_min_height);
   label->SetIdAttribute(shadow_element_names::OptGroupLabel());
   root.AppendChild(label);
 
diff --git a/third_party/blink/renderer/core/html/forms/html_text_area_element.cc b/third_party/blink/renderer/core/html/forms/html_text_area_element.cc
index cc07317..d342790 100644
--- a/third_party/blink/renderer/core/html/forms/html_text_area_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_text_area_element.cc
@@ -130,15 +130,15 @@
     MutableCSSPropertyValueSet* style) {
   if (name == kWrapAttr) {
     if (ShouldWrapText()) {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWhiteSpace,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kWhiteSpace,
                                               CSSValuePreWrap);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyOverflowWrap,
-                                              CSSValueBreakWord);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kOverflowWrap, CSSValueBreakWord);
     } else {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWhiteSpace,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kWhiteSpace,
                                               CSSValuePre);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyOverflowWrap,
-                                              CSSValueNormal);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kOverflowWrap, CSSValueNormal);
     }
   } else {
     TextControlElement::CollectStyleForPresentationAttribute(name, value,
@@ -607,7 +607,7 @@
     placeholder->SetShadowPseudoId(AtomicString("-webkit-input-placeholder"));
     placeholder->setAttribute(kIdAttr, shadow_element_names::Placeholder());
     placeholder->SetInlineStyleProperty(
-        CSSPropertyDisplay,
+        CSSPropertyID::kDisplay,
         IsPlaceholderVisible() ? CSSValueBlock : CSSValueNone, true);
     UserAgentShadowRoot()->InsertBefore(placeholder, InnerEditorElement());
   }
diff --git a/third_party/blink/renderer/core/html/forms/internal_popup_menu_test.cc b/third_party/blink/renderer/core/html/forms/internal_popup_menu_test.cc
index e2fb3ff..5507daf 100644
--- a/third_party/blink/renderer/core/html/forms/internal_popup_menu_test.cc
+++ b/third_party/blink/renderer/core/html/forms/internal_popup_menu_test.cc
@@ -38,7 +38,7 @@
   InternalPopupMenu* menu =
       InternalPopupMenu::Create(EmptyChromeClient::Create(), *select);
 
-  document.body()->SetInlineStyleProperty(CSSPropertyColor, "blue");
+  document.body()->SetInlineStyleProperty(CSSPropertyID::kColor, "blue");
 
   scoped_refptr<SharedBuffer> buffer = SharedBuffer::Create();
 
diff --git a/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc b/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
index fd2ac78..cec2835 100644
--- a/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
+++ b/third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
@@ -600,7 +600,7 @@
     return;
   picker_indicator_is_visible_ = false;
   DCHECK(GetPickerIndicatorElement());
-  GetPickerIndicatorElement()->SetInlineStyleProperty(CSSPropertyDisplay,
+  GetPickerIndicatorElement()->SetInlineStyleProperty(CSSPropertyID::kDisplay,
                                                       CSSValueNone);
 }
 
@@ -609,7 +609,8 @@
     return;
   picker_indicator_is_visible_ = true;
   DCHECK(GetPickerIndicatorElement());
-  GetPickerIndicatorElement()->RemoveInlineStyleProperty(CSSPropertyDisplay);
+  GetPickerIndicatorElement()->RemoveInlineStyleProperty(
+      CSSPropertyID::kDisplay);
 }
 
 void MultipleFieldsTemporalInputTypeView::FocusAndSelectClearButtonOwner() {
@@ -634,13 +635,13 @@
 
   if (GetElement().IsRequired() ||
       !GetDateTimeEditElement()->AnyEditableFieldsHaveValues()) {
-    clear_button->SetInlineStyleProperty(CSSPropertyOpacity, 0.0,
+    clear_button->SetInlineStyleProperty(CSSPropertyID::kOpacity, 0.0,
                                          CSSPrimitiveValue::UnitType::kNumber);
-    clear_button->SetInlineStyleProperty(CSSPropertyPointerEvents,
+    clear_button->SetInlineStyleProperty(CSSPropertyID::kPointerEvents,
                                          CSSValueNone);
   } else {
-    clear_button->RemoveInlineStyleProperty(CSSPropertyOpacity);
-    clear_button->RemoveInlineStyleProperty(CSSPropertyPointerEvents);
+    clear_button->RemoveInlineStyleProperty(CSSPropertyID::kOpacity);
+    clear_button->RemoveInlineStyleProperty(CSSPropertyID::kPointerEvents);
   }
 }
 
diff --git a/third_party/blink/renderer/core/html/forms/search_input_type.cc b/third_party/blink/renderer/core/html/forms/search_input_type.cc
index ab37141..d80baadb6 100644
--- a/third_party/blink/renderer/core/html/forms/search_input_type.cc
+++ b/third_party/blink/renderer/core/html/forms/search_input_type.cc
@@ -155,12 +155,12 @@
   if (!button)
     return;
   if (GetElement().value().IsEmpty()) {
-    button->SetInlineStyleProperty(CSSPropertyOpacity, 0.0,
+    button->SetInlineStyleProperty(CSSPropertyID::kOpacity, 0.0,
                                    CSSPrimitiveValue::UnitType::kNumber);
-    button->SetInlineStyleProperty(CSSPropertyPointerEvents, CSSValueNone);
+    button->SetInlineStyleProperty(CSSPropertyID::kPointerEvents, CSSValueNone);
   } else {
-    button->RemoveInlineStyleProperty(CSSPropertyOpacity);
-    button->RemoveInlineStyleProperty(CSSPropertyPointerEvents);
+    button->RemoveInlineStyleProperty(CSSPropertyID::kOpacity);
+    button->RemoveInlineStyleProperty(CSSPropertyID::kPointerEvents);
   }
 }
 
diff --git a/third_party/blink/renderer/core/html/forms/text_control_element.cc b/third_party/blink/renderer/core/html/forms/text_control_element.cc
index 1648260..d5feddc 100644
--- a/third_party/blink/renderer/core/html/forms/text_control_element.cc
+++ b/third_party/blink/renderer/core/html/forms/text_control_element.cc
@@ -189,7 +189,7 @@
   SetPlaceholderVisibility(PlaceholderShouldBeVisible());
 
   placeholder->SetInlineStyleProperty(
-      CSSPropertyDisplay,
+      CSSPropertyID::kDisplay,
       IsPlaceholderVisible() || !SuggestedValue().IsEmpty() ? CSSValueBlock
                                                             : CSSValueNone,
       true);
diff --git a/third_party/blink/renderer/core/html/forms/text_field_input_type.cc b/third_party/blink/renderer/core/html/forms/text_field_input_type.cc
index 7e99900..ad8cbeb 100644
--- a/third_party/blink/renderer/core/html/forms/text_field_input_type.cc
+++ b/third_party/blink/renderer/core/html/forms/text_field_input_type.cc
@@ -477,7 +477,7 @@
     placeholder = new_element;
     placeholder->SetShadowPseudoId(AtomicString("-webkit-input-placeholder"));
     placeholder->SetInlineStyleProperty(
-        CSSPropertyDisplay,
+        CSSPropertyID::kDisplay,
         GetElement().IsPlaceholderVisible() ? CSSValueBlock : CSSValueNone,
         true);
     placeholder->setAttribute(kIdAttr, shadow_element_names::Placeholder());
diff --git a/third_party/blink/renderer/core/html/html_body_element.cc b/third_party/blink/renderer/core/html/html_body_element.cc
index d668722..0378241 100644
--- a/third_party/blink/renderer/core/html/html_body_element.cc
+++ b/third_party/blink/renderer/core/html/html_body_element.cc
@@ -73,15 +73,15 @@
           CSSPropertyValue(GetCSSPropertyBackgroundImage(), *image_value));
     }
   } else if (name == kMarginwidthAttr || name == kLeftmarginAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginRight, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginLeft, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginRight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginLeft, value);
   } else if (name == kMarginheightAttr || name == kTopmarginAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginBottom, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginTop, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginBottom, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginTop, value);
   } else if (name == kBgcolorAttr) {
-    AddHTMLColorToStyle(style, CSSPropertyBackgroundColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kBackgroundColor, value);
   } else if (name == kTextAttr) {
-    AddHTMLColorToStyle(style, CSSPropertyColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kColor, value);
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
diff --git a/third_party/blink/renderer/core/html/html_br_element.cc b/third_party/blink/renderer/core/html/html_br_element.cc
index b11c391..2690873 100644
--- a/third_party/blink/renderer/core/html/html_br_element.cc
+++ b/third_party/blink/renderer/core/html/html_br_element.cc
@@ -52,10 +52,11 @@
     // etc. -dwh
     if (!value.IsEmpty()) {
       if (DeprecatedEqualIgnoringCase(value, "all"))
-        AddPropertyToPresentationAttributeStyle(style, CSSPropertyClear,
+        AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kClear,
                                                 CSSValueBoth);
       else
-        AddPropertyToPresentationAttributeStyle(style, CSSPropertyClear, value);
+        AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kClear,
+                                                value);
     }
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
diff --git a/third_party/blink/renderer/core/html/html_details_element.cc b/third_party/blink/renderer/core/html/html_details_element.cc
index 1fe24870..30096b3 100644
--- a/third_party/blink/renderer/core/html/html_details_element.cc
+++ b/third_party/blink/renderer/core/html/html_details_element.cc
@@ -93,7 +93,7 @@
   content->SetIdAttribute(shadow_element_names::DetailsContent());
   content->AppendChild(
       HTMLSlotElement::CreateUserAgentDefaultSlot(GetDocument()));
-  content->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  content->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
   root.AppendChild(content);
 }
 
@@ -127,9 +127,9 @@
         shadow_element_names::DetailsContent());
     DCHECK(content);
     if (is_open_)
-      content->RemoveInlineStyleProperty(CSSPropertyDisplay);
+      content->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
     else
-      content->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+      content->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
 
     // Invalidate the LayoutDetailsMarker in order to turn the arrow signifying
     // if the details element is open or closed.
diff --git a/third_party/blink/renderer/core/html/html_div_element.cc b/third_party/blink/renderer/core/html/html_div_element.cc
index fbc2f5d..df43580 100644
--- a/third_party/blink/renderer/core/html/html_div_element.cc
+++ b/third_party/blink/renderer/core/html/html_div_element.cc
@@ -42,16 +42,16 @@
   if (name == kAlignAttr) {
     if (DeprecatedEqualIgnoringCase(value, "middle") ||
         DeprecatedEqualIgnoringCase(value, "center"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitCenter);
     else if (DeprecatedEqualIgnoringCase(value, "left"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitLeft);
     else if (DeprecatedEqualIgnoringCase(value, "right"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitRight);
     else
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               value);
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc
index 1210e66..440d16e 100644
--- a/third_party/blink/renderer/core/html/html_element.cc
+++ b/third_party/blink/renderer/core/html/html_element.cc
@@ -195,10 +195,10 @@
 void HTMLElement::ApplyBorderAttributeToStyle(
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
-  AddPropertyToPresentationAttributeStyle(style, CSSPropertyBorderWidth,
+  AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kBorderWidth,
                                           ParseBorderWidthAttribute(value),
                                           CSSPrimitiveValue::UnitType::kPixels);
-  AddPropertyToPresentationAttributeStyle(style, CSSPropertyBorderStyle,
+  AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kBorderStyle,
                                           CSSValueSolid);
 }
 
@@ -208,7 +208,7 @@
   if (!value.IsEmpty()) {
     // Have to quote so the locale id is treated as a string instead of as a CSS
     // keyword.
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyWebkitLocale,
+    AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kWebkitLocale,
                                             SerializeString(value));
 
     // FIXME: Remove the following UseCounter code when we collect enough
@@ -235,7 +235,7 @@
     }
   } else {
     // The empty string means the language is explicitly unknown.
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyWebkitLocale,
+    AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kWebkitLocale,
                                             CSSValueAuto);
   }
 }
@@ -261,66 +261,70 @@
     MutableCSSPropertyValueSet* style) {
   if (name == kAlignAttr) {
     if (DeprecatedEqualIgnoringCase(value, "middle"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueCenter);
     else
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               value);
   } else if (name == kContenteditableAttr) {
     if (value.IsEmpty() || DeprecatedEqualIgnoringCase(value, "true")) {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyWebkitUserModify, CSSValueReadWrite);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyOverflowWrap,
-                                              CSSValueBreakWord);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWebkitLineBreak,
-                                              CSSValueAfterWhiteSpace);
+          style, CSSPropertyID::kWebkitUserModify, CSSValueReadWrite);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kOverflowWrap, CSSValueBreakWord);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kWebkitLineBreak, CSSValueAfterWhiteSpace);
       UseCounter::Count(GetDocument(), WebFeature::kContentEditableTrue);
       if (HasTagName(kHTMLTag)) {
         UseCounter::Count(GetDocument(),
                           WebFeature::kContentEditableTrueOnHTML);
       }
     } else if (DeprecatedEqualIgnoringCase(value, "plaintext-only")) {
+      AddPropertyToPresentationAttributeStyle(style,
+                                              CSSPropertyID::kWebkitUserModify,
+                                              CSSValueReadWritePlaintextOnly);
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyWebkitUserModify, CSSValueReadWritePlaintextOnly);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyOverflowWrap,
-                                              CSSValueBreakWord);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWebkitLineBreak,
-                                              CSSValueAfterWhiteSpace);
+          style, CSSPropertyID::kOverflowWrap, CSSValueBreakWord);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kWebkitLineBreak, CSSValueAfterWhiteSpace);
       UseCounter::Count(GetDocument(),
                         WebFeature::kContentEditablePlainTextOnly);
     } else if (DeprecatedEqualIgnoringCase(value, "false")) {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyWebkitUserModify, CSSValueReadOnly);
+          style, CSSPropertyID::kWebkitUserModify, CSSValueReadOnly);
     }
   } else if (name == kHiddenAttr) {
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyDisplay,
+    AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kDisplay,
                                             CSSValueNone);
   } else if (name == kDraggableAttr) {
     UseCounter::Count(GetDocument(), WebFeature::kDraggableAttribute);
     if (DeprecatedEqualIgnoringCase(value, "true")) {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWebkitUserDrag,
-                                              CSSValueElement);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyUserSelect,
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kWebkitUserDrag, CSSValueElement);
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kUserSelect,
                                               CSSValueNone);
     } else if (DeprecatedEqualIgnoringCase(value, "false")) {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWebkitUserDrag,
-                                              CSSValueNone);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kWebkitUserDrag, CSSValueNone);
     }
   } else if (name == kDirAttr) {
     if (DeprecatedEqualIgnoringCase(value, "auto")) {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyUnicodeBidi, UnicodeBidiAttributeForDirAuto(this));
+          style, CSSPropertyID::kUnicodeBidi,
+          UnicodeBidiAttributeForDirAuto(this));
     } else {
-      if (IsValidDirAttribute(value))
-        AddPropertyToPresentationAttributeStyle(style, CSSPropertyDirection,
-                                                value);
-      else if (IsHTMLBodyElement(*this))
-        AddPropertyToPresentationAttributeStyle(style, CSSPropertyDirection,
-                                                "ltr");
+      if (IsValidDirAttribute(value)) {
+        AddPropertyToPresentationAttributeStyle(
+            style, CSSPropertyID::kDirection, value);
+      } else if (IsHTMLBodyElement(*this)) {
+        AddPropertyToPresentationAttributeStyle(
+            style, CSSPropertyID::kDirection, "ltr");
+      }
       if (!HasTagName(kBdiTag) && !HasTagName(kBdoTag) &&
-          !HasTagName(kOutputTag))
-        AddPropertyToPresentationAttributeStyle(style, CSSPropertyUnicodeBidi,
-                                                CSSValueIsolate);
+          !HasTagName(kOutputTag)) {
+        AddPropertyToPresentationAttributeStyle(
+            style, CSSPropertyID::kUnicodeBidi, CSSValueIsolate);
+      }
     }
   } else if (name.Matches(xml_names::kLangAttr)) {
     MapLanguageAttributeToLocale(value, style);
@@ -820,13 +824,15 @@
     vertical_align_value = CSSValueTextTop;
   }
 
-  if (float_value != CSSValueInvalid)
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyFloat,
+  if (float_value != CSSValueInvalid) {
+    AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kFloat,
                                             float_value);
+  }
 
-  if (vertical_align_value != CSSValueInvalid)
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                            vertical_align_value);
+  if (vertical_align_value != CSSValueInvalid) {
+    AddPropertyToPresentationAttributeStyle(
+        style, CSSPropertyID::kVerticalAlign, vertical_align_value);
+  }
 }
 
 bool HTMLElement::HasCustomFocusLogic() const {
@@ -1167,7 +1173,7 @@
   HTMLDimension dimension;
   if (!ParseDimensionValue(value, dimension))
     return;
-  if (property_id == CSSPropertyWidth &&
+  if (property_id == CSSPropertyID::kWidth &&
       (dimension.IsPercentage() || dimension.IsRelative())) {
     UseCounter::Count(GetDocument(), WebFeature::kHTMLElementDeprecatedWidth);
   }
diff --git a/third_party/blink/renderer/core/html/html_embed_element.cc b/third_party/blink/renderer/core/html/html_embed_element.cc
index b3d614d..badfb76f 100644
--- a/third_party/blink/renderer/core/html/html_embed_element.cc
+++ b/third_party/blink/renderer/core/html/html_embed_element.cc
@@ -93,9 +93,11 @@
     if (DeprecatedEqualIgnoringCase(value, "yes") ||
         DeprecatedEqualIgnoringCase(value, "true")) {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyWidth, 0, CSSPrimitiveValue::UnitType::kPixels);
+          style, CSSPropertyID::kWidth, 0,
+          CSSPrimitiveValue::UnitType::kPixels);
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyHeight, 0, CSSPrimitiveValue::UnitType::kPixels);
+          style, CSSPropertyID::kHeight, 0,
+          CSSPrimitiveValue::UnitType::kPixels);
     }
   } else {
     HTMLPlugInElement::CollectStyleForPresentationAttribute(name, value, style);
diff --git a/third_party/blink/renderer/core/html/html_font_element.cc b/third_party/blink/renderer/core/html/html_font_element.cc
index fb2526c..5ee9522 100644
--- a/third_party/blink/renderer/core/html/html_font_element.cc
+++ b/third_party/blink/renderer/core/html/html_font_element.cc
@@ -126,7 +126,7 @@
       CssValuePool().GetFontFaceCacheEntry(string);
   if (!entry.stored_value->value) {
     const CSSValue* parsed_value = CSSParser::ParseSingleValue(
-        CSSPropertyFontFamily, string,
+        CSSPropertyID::kFontFamily, string,
         StrictCSSParserContext(secure_context_mode));
     if (auto* parsed_value_list = DynamicTo<CSSValueList>(parsed_value))
       entry.stored_value->value = parsed_value_list;
@@ -181,10 +181,12 @@
     MutableCSSPropertyValueSet* style) {
   if (name == kSizeAttr) {
     CSSValueID size = CSSValueInvalid;
-    if (CssValueFromFontSizeNumber(value, size))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyFontSize, size);
+    if (CssValueFromFontSizeNumber(value, size)) {
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kFontSize,
+                                              size);
+    }
   } else if (name == kColorAttr) {
-    AddHTMLColorToStyle(style, CSSPropertyColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kColor, value);
   } else if (name == kFaceAttr && !value.IsEmpty()) {
     if (const CSSValueList* font_face_value = CreateFontFaceValueWithPool(
             value, GetDocument().GetSecureContextMode())) {
diff --git a/third_party/blink/renderer/core/html/html_frame_set_element.cc b/third_party/blink/renderer/core/html/html_frame_set_element.cc
index d37c419..0d506b9 100644
--- a/third_party/blink/renderer/core/html/html_frame_set_element.cc
+++ b/third_party/blink/renderer/core/html/html_frame_set_element.cc
@@ -66,7 +66,7 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kBordercolorAttr)
-    AddHTMLColorToStyle(style, CSSPropertyBorderColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kBorderColor, value);
   else
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
 }
diff --git a/third_party/blink/renderer/core/html/html_hr_element.cc b/third_party/blink/renderer/core/html/html_hr_element.cc
index f959326..20269a0 100644
--- a/third_party/blink/renderer/core/html/html_hr_element.cc
+++ b/third_party/blink/renderer/core/html/html_hr_element.cc
@@ -54,55 +54,58 @@
   if (name == kAlignAttr) {
     if (DeprecatedEqualIgnoringCase(value, "left")) {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyMarginLeft, 0,
+          style, CSSPropertyID::kMarginLeft, 0,
           CSSPrimitiveValue::UnitType::kPixels);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyMarginRight,
-                                              CSSValueAuto);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kMarginRight, CSSValueAuto);
     } else if (DeprecatedEqualIgnoringCase(value, "right")) {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyMarginLeft,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kMarginLeft,
                                               CSSValueAuto);
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyMarginRight, 0,
+          style, CSSPropertyID::kMarginRight, 0,
           CSSPrimitiveValue::UnitType::kPixels);
     } else {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyMarginLeft,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kMarginLeft,
                                               CSSValueAuto);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyMarginRight,
-                                              CSSValueAuto);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kMarginRight, CSSValueAuto);
     }
   } else if (name == kWidthAttr) {
     bool ok;
     int v = value.ToInt(&ok);
-    if (ok && !v)
+    if (ok && !v) {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyWidth, 1, CSSPrimitiveValue::UnitType::kPixels);
-    else
-      AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+          style, CSSPropertyID::kWidth, 1,
+          CSSPrimitiveValue::UnitType::kPixels);
+    } else {
+      AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
+    }
   } else if (name == kColorAttr) {
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyBorderStyle,
+    AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kBorderStyle,
                                             CSSValueSolid);
-    AddHTMLColorToStyle(style, CSSPropertyBorderColor, value);
-    AddHTMLColorToStyle(style, CSSPropertyBackgroundColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kBorderColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kBackgroundColor, value);
   } else if (name == kNoshadeAttr) {
     if (!hasAttribute(kColorAttr)) {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyBorderStyle,
-                                              CSSValueSolid);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kBorderStyle, CSSValueSolid);
 
       const CSSColorValue& dark_gray_value =
           *CSSColorValue::Create(Color::kDarkGray);
-      style->SetProperty(CSSPropertyBorderColor, dark_gray_value);
-      style->SetProperty(CSSPropertyBackgroundColor, dark_gray_value);
+      style->SetProperty(CSSPropertyID::kBorderColor, dark_gray_value);
+      style->SetProperty(CSSPropertyID::kBackgroundColor, dark_gray_value);
     }
   } else if (name == kSizeAttr) {
     int size = value.ToInt();
-    if (size <= 1)
+    if (size <= 1) {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyBorderBottomWidth, 0,
+          style, CSSPropertyID::kBorderBottomWidth, 0,
           CSSPrimitiveValue::UnitType::kPixels);
-    else
+    } else {
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyHeight, size - 2,
+          style, CSSPropertyID::kHeight, size - 2,
           CSSPrimitiveValue::UnitType::kPixels);
+    }
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc
index 8d2b3ff8..9f67616 100644
--- a/third_party/blink/renderer/core/html/html_iframe_element.cc
+++ b/third_party/blink/renderer/core/html/html_iframe_element.cc
@@ -105,9 +105,9 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kWidthAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   } else if (name == kHeightAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   } else if (name == kAlignAttr) {
     ApplyAlignmentAttributeToStyle(value, style);
   } else if (name == kFrameborderAttr) {
@@ -117,7 +117,7 @@
     if (!value.ToInt()) {
       // Add a rule that nulls out our border width.
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyBorderWidth, 0,
+          style, CSSPropertyID::kBorderWidth, 0,
           CSSPrimitiveValue::UnitType::kPixels);
     }
   } else {
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
index 15c1a9b4..401ab7e9 100644
--- a/third_party/blink/renderer/core/html/html_image_element.cc
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
@@ -188,22 +188,22 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kWidthAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   } else if (name == kHeightAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   } else if (name == kBorderAttr) {
     ApplyBorderAttributeToStyle(value, style);
   } else if (name == kVspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginTop, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginBottom, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginTop, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginBottom, value);
   } else if (name == kHspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginLeft, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginRight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginLeft, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginRight, value);
   } else if (name == kAlignAttr) {
     ApplyAlignmentAttributeToStyle(value, style);
   } else if (name == kValignAttr) {
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                            value);
+    AddPropertyToPresentationAttributeStyle(
+        style, CSSPropertyID::kVerticalAlign, value);
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
@@ -887,8 +887,10 @@
     const CSSPropertyValueSet* property_set) {
   if (!property_set)
     return false;
-  const CSSValue* height = property_set->GetPropertyCSSValue(CSSPropertyHeight);
-  const CSSValue* width = property_set->GetPropertyCSSValue(CSSPropertyWidth);
+  const CSSValue* height =
+      property_set->GetPropertyCSSValue(CSSPropertyID::kHeight);
+  const CSSValue* width =
+      property_set->GetPropertyCSSValue(CSSPropertyID::kWidth);
   const auto* width_prim = DynamicTo<CSSPrimitiveValue>(width);
   const auto* height_prim = DynamicTo<CSSPrimitiveValue>(height);
   if (!width_prim || !height_prim)
diff --git a/third_party/blink/renderer/core/html/html_image_fallback_helper.cc b/third_party/blink/renderer/core/html/html_image_fallback_helper.cc
index d55f46f..9e0a770 100644
--- a/third_party/blink/renderer/core/html/html_image_fallback_helper.cc
+++ b/third_party/blink/renderer/core/html/html_image_fallback_helper.cc
@@ -62,7 +62,7 @@
   broken_image->setAttribute(kWidthAttr, AtomicString("16"));
   broken_image->setAttribute(kHeightAttr, AtomicString("16"));
   broken_image->setAttribute(kAlignAttr, AtomicString("left"));
-  broken_image->SetInlineStyleProperty(CSSPropertyMargin, 0,
+  broken_image->SetInlineStyleProperty(CSSPropertyID::kMargin, 0,
                                        CSSPrimitiveValue::UnitType::kPixels);
 
   HTMLSpanElement* alt_text = HTMLSpanElement::Create(element.GetDocument());
@@ -103,7 +103,7 @@
       new_style->SetWidth(new_style->Height());
     if (new_style->Width().IsSpecifiedOrIntrinsic() &&
         new_style->Height().IsSpecifiedOrIntrinsic()) {
-      place_holder->SetInlineStyleProperty(CSSPropertyVerticalAlign,
+      place_holder->SetInlineStyleProperty(CSSPropertyID::kVerticalAlign,
                                            CSSValueBaseline);
     }
   }
@@ -124,39 +124,42 @@
     // attribute, or the Document is in quirks mode The user agent is expected
     // to treat the element as a replaced element whose content is the text that
     // the element represents, if any."
-    place_holder->SetInlineStyleProperty(CSSPropertyOverflow, CSSValueHidden);
-    place_holder->SetInlineStyleProperty(CSSPropertyDisplay,
+    place_holder->SetInlineStyleProperty(CSSPropertyID::kOverflow,
+                                         CSSValueHidden);
+    place_holder->SetInlineStyleProperty(CSSPropertyID::kDisplay,
                                          CSSValueInlineBlock);
-    place_holder->SetInlineStyleProperty(CSSPropertyPointerEvents,
+    place_holder->SetInlineStyleProperty(CSSPropertyID::kPointerEvents,
                                          CSSValueNone);
     place_holder->SetInlineStyleProperty(
-        CSSPropertyHeight,
+        CSSPropertyID::kHeight,
         *CSSValue::Create(new_style->Height(), new_style->EffectiveZoom()));
     place_holder->SetInlineStyleProperty(
-        CSSPropertyWidth,
+        CSSPropertyID::kWidth,
         *CSSValue::Create(new_style->Width(), new_style->EffectiveZoom()));
 
     // 16px for the image and 2px for its top/left border/padding offset.
     int pixels_for_alt_image = 18;
     if (ImageSmallerThanAltImage(pixels_for_alt_image, new_style->Width(),
                                  new_style->Height())) {
-      broken_image->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+      broken_image->SetInlineStyleProperty(CSSPropertyID::kDisplay,
+                                           CSSValueNone);
     } else {
       place_holder->SetInlineStyleProperty(
-          CSSPropertyBorderWidth, 1, CSSPrimitiveValue::UnitType::kPixels);
-      place_holder->SetInlineStyleProperty(CSSPropertyBorderStyle,
+          CSSPropertyID::kBorderWidth, 1, CSSPrimitiveValue::UnitType::kPixels);
+      place_holder->SetInlineStyleProperty(CSSPropertyID::kBorderStyle,
                                            CSSValueSolid);
-      place_holder->SetInlineStyleProperty(CSSPropertyBorderColor,
+      place_holder->SetInlineStyleProperty(CSSPropertyID::kBorderColor,
                                            CSSValueSilver);
       place_holder->SetInlineStyleProperty(
-          CSSPropertyPadding, 1, CSSPrimitiveValue::UnitType::kPixels);
-      place_holder->SetInlineStyleProperty(CSSPropertyBoxSizing,
+          CSSPropertyID::kPadding, 1, CSSPrimitiveValue::UnitType::kPixels);
+      place_holder->SetInlineStyleProperty(CSSPropertyID::kBoxSizing,
                                            CSSValueBorderBox);
-      broken_image->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueInline);
+      broken_image->SetInlineStyleProperty(CSSPropertyID::kDisplay,
+                                           CSSValueInline);
       // Make sure the broken image icon appears on the appropriate side of the
       // image for the element's writing direction.
       broken_image->SetInlineStyleProperty(
-          CSSPropertyFloat,
+          CSSPropertyID::kFloat,
           AtomicString(new_style->Direction() == TextDirection::kLtr
                            ? "left"
                            : "right"));
@@ -172,7 +175,8 @@
       // treat the element as an empty inline element."
       //  - We achieve this by hiding the broken image so that the span is
       //  empty.
-      broken_image->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+      broken_image->SetInlineStyleProperty(CSSPropertyID::kDisplay,
+                                           CSSValueNone);
     } else {
       // "If the element is an img element that represents some text and the
       // user agent does not expect this to change the user agent is expected to
@@ -180,11 +184,12 @@
       // the text, optionally with an icon indicating that an image is missing,
       // so that the user can request the image be displayed or investigate why
       // it is not rendering."
-      broken_image->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueInline);
+      broken_image->SetInlineStyleProperty(CSSPropertyID::kDisplay,
+                                           CSSValueInline);
       // Make sure the broken image icon appears on the appropriate side of
       // the image for the element's writing direction.
       broken_image->SetInlineStyleProperty(
-          CSSPropertyFloat,
+          CSSPropertyID::kFloat,
           AtomicString(new_style->Direction() == TextDirection::kLtr
                            ? "left"
                            : "right"));
diff --git a/third_party/blink/renderer/core/html/html_li_element.cc b/third_party/blink/renderer/core/html/html_li_element.cc
index 15953cd9..bce4394 100644
--- a/third_party/blink/renderer/core/html/html_li_element.cc
+++ b/third_party/blink/renderer/core/html/html_li_element.cc
@@ -73,9 +73,10 @@
     MutableCSSPropertyValueSet* style) {
   if (name == kTypeAttr) {
     CSSValueID type_value = ListTypeToCSSValueID(value);
-    if (type_value != CSSValueInvalid)
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              type_value);
+    if (type_value != CSSValueInvalid) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, type_value);
+    }
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
diff --git a/third_party/blink/renderer/core/html/html_marquee_element.cc b/third_party/blink/renderer/core/html/html_marquee_element.cc
index 4564dc1..ad3089e 100644
--- a/third_party/blink/renderer/core/html/html_marquee_element.cc
+++ b/third_party/blink/renderer/core/html/html_marquee_element.cc
@@ -224,17 +224,17 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (attr == html_names::kBgcolorAttr) {
-    AddHTMLColorToStyle(style, CSSPropertyBackgroundColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kBackgroundColor, value);
   } else if (attr == html_names::kHeightAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   } else if (attr == html_names::kHspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginLeft, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginRight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginLeft, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginRight, value);
   } else if (attr == html_names::kVspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginTop, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginBottom, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginTop, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginBottom, value);
   } else if (attr == html_names::kWidthAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(attr, value, style);
   }
@@ -252,14 +252,14 @@
   StringKeyframeVector keyframes;
   StringKeyframe* keyframe1 = StringKeyframe::Create();
   set_result = keyframe1->SetCSSPropertyValue(
-      CSSPropertyTransform, parameters.transform_begin, secure_context_mode,
-      style_sheet_contents);
+      CSSPropertyID::kTransform, parameters.transform_begin,
+      secure_context_mode, style_sheet_contents);
   DCHECK(set_result.did_parse);
   keyframes.push_back(keyframe1);
 
   StringKeyframe* keyframe2 = StringKeyframe::Create();
   set_result = keyframe2->SetCSSPropertyValue(
-      CSSPropertyTransform, parameters.transform_end, secure_context_mode,
+      CSSPropertyID::kTransform, parameters.transform_end, secure_context_mode,
       style_sheet_contents);
   DCHECK(set_result.did_parse);
   keyframes.push_back(keyframe2);
diff --git a/third_party/blink/renderer/core/html/html_meter_element.cc b/third_party/blink/renderer/core/html/html_meter_element.cc
index a178db4..68274b33 100644
--- a/third_party/blink/renderer/core/html/html_meter_element.cc
+++ b/third_party/blink/renderer/core/html/html_meter_element.cc
@@ -203,7 +203,7 @@
   DEFINE_STATIC_LOCAL(AtomicString, even_less_good_pseudo_id,
                       ("-webkit-meter-even-less-good-value"));
 
-  value_->SetInlineStyleProperty(CSSPropertyWidth, percentage,
+  value_->SetInlineStyleProperty(CSSPropertyID::kWidth, percentage,
                                  CSSPrimitiveValue::UnitType::kPercentage);
   switch (GetGaugeRegion()) {
     case kGaugeRegionOptimum:
diff --git a/third_party/blink/renderer/core/html/html_olist_element.cc b/third_party/blink/renderer/core/html/html_olist_element.cc
index 7fff18f..4a6cc24 100644
--- a/third_party/blink/renderer/core/html/html_olist_element.cc
+++ b/third_party/blink/renderer/core/html/html_olist_element.cc
@@ -56,21 +56,22 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kTypeAttr) {
-    if (value == "a")
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueLowerAlpha);
-    else if (value == "A")
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueUpperAlpha);
-    else if (value == "i")
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueLowerRoman);
-    else if (value == "I")
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueUpperRoman);
-    else if (value == "1")
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueDecimal);
+    if (value == "a") {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueLowerAlpha);
+    } else if (value == "A") {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueUpperAlpha);
+    } else if (value == "i") {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueLowerRoman);
+    } else if (value == "I") {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueUpperRoman);
+    } else if (value == "1") {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueDecimal);
+    }
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
diff --git a/third_party/blink/renderer/core/html/html_paragraph_element.cc b/third_party/blink/renderer/core/html/html_paragraph_element.cc
index 0deb8c28..151f0eb 100644
--- a/third_party/blink/renderer/core/html/html_paragraph_element.cc
+++ b/third_party/blink/renderer/core/html/html_paragraph_element.cc
@@ -42,16 +42,16 @@
   if (name == kAlignAttr) {
     if (DeprecatedEqualIgnoringCase(value, "middle") ||
         DeprecatedEqualIgnoringCase(value, "center"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitCenter);
     else if (DeprecatedEqualIgnoringCase(value, "left"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitLeft);
     else if (DeprecatedEqualIgnoringCase(value, "right"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitRight);
     else
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               value);
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
diff --git a/third_party/blink/renderer/core/html/html_plugin_element.cc b/third_party/blink/renderer/core/html/html_plugin_element.cc
index 917a2cc..6801e1c 100644
--- a/third_party/blink/renderer/core/html/html_plugin_element.cc
+++ b/third_party/blink/renderer/core/html/html_plugin_element.cc
@@ -440,15 +440,15 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kWidthAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   } else if (name == kHeightAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   } else if (name == kVspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginTop, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginBottom, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginTop, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginBottom, value);
   } else if (name == kHspaceAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyMarginLeft, value);
-    AddHTMLLengthToStyle(style, CSSPropertyMarginRight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginLeft, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kMarginRight, value);
   } else if (name == kAlignAttr) {
     ApplyAlignmentAttributeToStyle(value, style);
   } else {
diff --git a/third_party/blink/renderer/core/html/html_pre_element.cc b/third_party/blink/renderer/core/html/html_pre_element.cc
index d0d52b9f..e85a06bf 100644
--- a/third_party/blink/renderer/core/html/html_pre_element.cc
+++ b/third_party/blink/renderer/core/html/html_pre_element.cc
@@ -48,7 +48,7 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kWrapAttr)
-    style->SetProperty(CSSPropertyWhiteSpace, CSSValuePreWrap);
+    style->SetProperty(CSSPropertyID::kWhiteSpace, CSSValuePreWrap);
   else
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
 }
diff --git a/third_party/blink/renderer/core/html/html_progress_element.cc b/third_party/blink/renderer/core/html/html_progress_element.cc
index d774d16..e1eb637e 100644
--- a/third_party/blink/renderer/core/html/html_progress_element.cc
+++ b/third_party/blink/renderer/core/html/html_progress_element.cc
@@ -157,7 +157,7 @@
 }
 
 void HTMLProgressElement::SetValueWidthPercentage(double width) const {
-  value_->SetInlineStyleProperty(CSSPropertyWidth, width,
+  value_->SetInlineStyleProperty(CSSPropertyID::kWidth, width,
                                  CSSPrimitiveValue::UnitType::kPercentage);
 }
 
diff --git a/third_party/blink/renderer/core/html/html_table_caption_element.cc b/third_party/blink/renderer/core/html/html_table_caption_element.cc
index dd542cb5..4d8f10f0 100644
--- a/third_party/blink/renderer/core/html/html_table_caption_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_caption_element.cc
@@ -41,9 +41,10 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kAlignAttr) {
-    if (!value.IsEmpty())
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyCaptionSide,
-                                              value);
+    if (!value.IsEmpty()) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kCaptionSide, value);
+    }
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
diff --git a/third_party/blink/renderer/core/html/html_table_cell_element.cc b/third_party/blink/renderer/core/html/html_table_cell_element.cc
index a1101778..059cdff 100644
--- a/third_party/blink/renderer/core/html/html_table_cell_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_cell_element.cc
@@ -98,20 +98,20 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kNowrapAttr) {
-    AddPropertyToPresentationAttributeStyle(style, CSSPropertyWhiteSpace,
+    AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kWhiteSpace,
                                             CSSValueWebkitNowrap);
   } else if (name == kWidthAttr) {
     if (!value.IsEmpty()) {
       int width_int = value.ToInt();
       if (width_int > 0)  // width="0" is ignored for compatibility with WinIE.
-        AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+        AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
     }
   } else if (name == kHeightAttr) {
     if (!value.IsEmpty()) {
       int height_int = value.ToInt();
       if (height_int >
           0)  // height="0" is ignored for compatibility with WinIE.
-        AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+        AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
     }
   } else {
     HTMLTablePartElement::CollectStyleForPresentationAttribute(name, value,
diff --git a/third_party/blink/renderer/core/html/html_table_col_element.cc b/third_party/blink/renderer/core/html/html_table_col_element.cc
index 6cff56e..48a4a2d2 100644
--- a/third_party/blink/renderer/core/html/html_table_col_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_col_element.cc
@@ -55,7 +55,7 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kWidthAttr)
-    AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   else
     HTMLTablePartElement::CollectStyleForPresentationAttribute(name, value,
                                                                style);
diff --git a/third_party/blink/renderer/core/html/html_table_element.cc b/third_party/blink/renderer/core/html/html_table_element.cc
index 8325798..69a9d450 100644
--- a/third_party/blink/renderer/core/html/html_table_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_element.cc
@@ -310,18 +310,18 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kWidthAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   } else if (name == kHeightAttr) {
-    AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   } else if (name == kBorderAttr) {
     AddPropertyToPresentationAttributeStyle(
-        style, CSSPropertyBorderWidth, ParseBorderWidthAttribute(value),
+        style, CSSPropertyID::kBorderWidth, ParseBorderWidthAttribute(value),
         CSSPrimitiveValue::UnitType::kPixels);
   } else if (name == kBordercolorAttr) {
     if (!value.IsEmpty())
-      AddHTMLColorToStyle(style, CSSPropertyBorderColor, value);
+      AddHTMLColorToStyle(style, CSSPropertyID::kBorderColor, value);
   } else if (name == kBgcolorAttr) {
-    AddHTMLColorToStyle(style, CSSPropertyBackgroundColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kBackgroundColor, value);
   } else if (name == kBackgroundAttr) {
     String url = StripLeadingAndTrailingHTMLSpaces(value);
     if (!url.IsEmpty()) {
@@ -336,31 +336,34 @@
           CSSPropertyValue(GetCSSPropertyBackgroundImage(), *image_value));
     }
   } else if (name == kValignAttr) {
-    if (!value.IsEmpty())
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                              value);
+    if (!value.IsEmpty()) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kVerticalAlign, value);
+    }
   } else if (name == kCellspacingAttr) {
     if (!value.IsEmpty()) {
-      AddHTMLLengthToStyle(style, CSSPropertyBorderSpacing, value,
+      AddHTMLLengthToStyle(style, CSSPropertyID::kBorderSpacing, value,
                            kDontAllowPercentageValues);
     }
   } else if (name == kAlignAttr) {
     if (!value.IsEmpty()) {
       if (DeprecatedEqualIgnoringCase(value, "center")) {
         AddPropertyToPresentationAttributeStyle(
-            style, CSSPropertyMarginInlineStart, CSSValueAuto);
+            style, CSSPropertyID::kMarginInlineStart, CSSValueAuto);
         AddPropertyToPresentationAttributeStyle(
-            style, CSSPropertyMarginInlineEnd, CSSValueAuto);
+            style, CSSPropertyID::kMarginInlineEnd, CSSValueAuto);
       } else {
-        AddPropertyToPresentationAttributeStyle(style, CSSPropertyFloat, value);
+        AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kFloat,
+                                                value);
       }
     }
   } else if (name == kRulesAttr) {
     // The presence of a valid rules attribute causes border collapsing to be
     // enabled.
-    if (rules_attr_ != kUnsetRules)
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyBorderCollapse,
-                                              CSSValueCollapse);
+    if (rules_attr_ != kUnsetRules) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kBorderCollapse, CSSValueCollapse);
+    }
   } else if (name == kFrameAttr) {
     bool border_top;
     bool border_right;
@@ -368,19 +371,19 @@
     bool border_left;
     if (GetBordersFromFrameAttributeValue(value, border_top, border_right,
                                           border_bottom, border_left)) {
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyBorderWidth,
-                                              CSSValueThin);
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyBorderTopStyle,
+          style, CSSPropertyID::kBorderWidth, CSSValueThin);
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kBorderTopStyle,
           border_top ? CSSValueSolid : CSSValueHidden);
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyBorderBottomStyle,
+          style, CSSPropertyID::kBorderBottomStyle,
           border_bottom ? CSSValueSolid : CSSValueHidden);
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyBorderLeftStyle,
+          style, CSSPropertyID::kBorderLeftStyle,
           border_left ? CSSValueSolid : CSSValueHidden);
       AddPropertyToPresentationAttributeStyle(
-          style, CSSPropertyBorderRightStyle,
+          style, CSSPropertyID::kBorderRightStyle,
           border_right ? CSSValueSolid : CSSValueHidden);
     }
   } else {
@@ -453,10 +456,10 @@
 static CSSPropertyValueSet* CreateBorderStyle(CSSValueID value) {
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
-  style->SetProperty(CSSPropertyBorderTopStyle, value);
-  style->SetProperty(CSSPropertyBorderBottomStyle, value);
-  style->SetProperty(CSSPropertyBorderLeftStyle, value);
-  style->SetProperty(CSSPropertyBorderRightStyle, value);
+  style->SetProperty(CSSPropertyID::kBorderTopStyle, value);
+  style->SetProperty(CSSPropertyID::kBorderBottomStyle, value);
+  style->SetProperty(CSSPropertyID::kBorderLeftStyle, value);
+  style->SetProperty(CSSPropertyID::kBorderRightStyle, value);
   return style;
 }
 
@@ -514,34 +517,38 @@
 
   switch (GetCellBorders()) {
     case kSolidBordersColsOnly:
-      style->SetProperty(CSSPropertyBorderLeftWidth, CSSValueThin);
-      style->SetProperty(CSSPropertyBorderRightWidth, CSSValueThin);
-      style->SetProperty(CSSPropertyBorderLeftStyle, CSSValueSolid);
-      style->SetProperty(CSSPropertyBorderRightStyle, CSSValueSolid);
-      style->SetProperty(CSSPropertyBorderColor, *CSSInheritedValue::Create());
+      style->SetProperty(CSSPropertyID::kBorderLeftWidth, CSSValueThin);
+      style->SetProperty(CSSPropertyID::kBorderRightWidth, CSSValueThin);
+      style->SetProperty(CSSPropertyID::kBorderLeftStyle, CSSValueSolid);
+      style->SetProperty(CSSPropertyID::kBorderRightStyle, CSSValueSolid);
+      style->SetProperty(CSSPropertyID::kBorderColor,
+                         *CSSInheritedValue::Create());
       break;
     case kSolidBordersRowsOnly:
-      style->SetProperty(CSSPropertyBorderTopWidth, CSSValueThin);
-      style->SetProperty(CSSPropertyBorderBottomWidth, CSSValueThin);
-      style->SetProperty(CSSPropertyBorderTopStyle, CSSValueSolid);
-      style->SetProperty(CSSPropertyBorderBottomStyle, CSSValueSolid);
-      style->SetProperty(CSSPropertyBorderColor, *CSSInheritedValue::Create());
+      style->SetProperty(CSSPropertyID::kBorderTopWidth, CSSValueThin);
+      style->SetProperty(CSSPropertyID::kBorderBottomWidth, CSSValueThin);
+      style->SetProperty(CSSPropertyID::kBorderTopStyle, CSSValueSolid);
+      style->SetProperty(CSSPropertyID::kBorderBottomStyle, CSSValueSolid);
+      style->SetProperty(CSSPropertyID::kBorderColor,
+                         *CSSInheritedValue::Create());
       break;
     case kSolidBorders:
       style->SetProperty(
-          CSSPropertyBorderWidth,
+          CSSPropertyID::kBorderWidth,
           *CSSPrimitiveValue::Create(1, CSSPrimitiveValue::UnitType::kPixels));
-      style->SetProperty(CSSPropertyBorderStyle,
+      style->SetProperty(CSSPropertyID::kBorderStyle,
                          *CSSIdentifierValue::Create(CSSValueSolid));
-      style->SetProperty(CSSPropertyBorderColor, *CSSInheritedValue::Create());
+      style->SetProperty(CSSPropertyID::kBorderColor,
+                         *CSSInheritedValue::Create());
       break;
     case kInsetBorders:
       style->SetProperty(
-          CSSPropertyBorderWidth,
+          CSSPropertyID::kBorderWidth,
           *CSSPrimitiveValue::Create(1, CSSPrimitiveValue::UnitType::kPixels));
-      style->SetProperty(CSSPropertyBorderStyle,
+      style->SetProperty(CSSPropertyID::kBorderStyle,
                          *CSSIdentifierValue::Create(CSSValueInset));
-      style->SetProperty(CSSPropertyBorderColor, *CSSInheritedValue::Create());
+      style->SetProperty(CSSPropertyID::kBorderColor,
+                         *CSSInheritedValue::Create());
       break;
     case kNoBorders:
       // If 'rules=none' then allow any borders set at cell level to take
@@ -550,7 +557,7 @@
   }
 
   if (padding_)
-    style->SetProperty(CSSPropertyPadding,
+    style->SetProperty(CSSPropertyID::kPadding,
                        *CSSPrimitiveValue::Create(
                            padding_, CSSPrimitiveValue::UnitType::kPixels));
 
@@ -567,15 +574,15 @@
   MutableCSSPropertyValueSet* style =
       MutableCSSPropertyValueSet::Create(kHTMLQuirksMode);
   if (rows) {
-    style->SetProperty(CSSPropertyBorderTopWidth, CSSValueThin);
-    style->SetProperty(CSSPropertyBorderBottomWidth, CSSValueThin);
-    style->SetProperty(CSSPropertyBorderTopStyle, CSSValueSolid);
-    style->SetProperty(CSSPropertyBorderBottomStyle, CSSValueSolid);
+    style->SetProperty(CSSPropertyID::kBorderTopWidth, CSSValueThin);
+    style->SetProperty(CSSPropertyID::kBorderBottomWidth, CSSValueThin);
+    style->SetProperty(CSSPropertyID::kBorderTopStyle, CSSValueSolid);
+    style->SetProperty(CSSPropertyID::kBorderBottomStyle, CSSValueSolid);
   } else {
-    style->SetProperty(CSSPropertyBorderLeftWidth, CSSValueThin);
-    style->SetProperty(CSSPropertyBorderRightWidth, CSSValueThin);
-    style->SetProperty(CSSPropertyBorderLeftStyle, CSSValueSolid);
-    style->SetProperty(CSSPropertyBorderRightStyle, CSSValueSolid);
+    style->SetProperty(CSSPropertyID::kBorderLeftWidth, CSSValueThin);
+    style->SetProperty(CSSPropertyID::kBorderRightWidth, CSSValueThin);
+    style->SetProperty(CSSPropertyID::kBorderLeftStyle, CSSValueSolid);
+    style->SetProperty(CSSPropertyID::kBorderRightStyle, CSSValueSolid);
   }
   return style;
 }
diff --git a/third_party/blink/renderer/core/html/html_table_part_element.cc b/third_party/blink/renderer/core/html/html_table_part_element.cc
index 3f98eae..aa0d7cac 100644
--- a/third_party/blink/renderer/core/html/html_table_part_element.cc
+++ b/third_party/blink/renderer/core/html/html_table_part_element.cc
@@ -53,7 +53,7 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kBgcolorAttr) {
-    AddHTMLColorToStyle(style, CSSPropertyBackgroundColor, value);
+    AddHTMLColorToStyle(style, CSSPropertyID::kBackgroundColor, value);
   } else if (name == kBackgroundAttr) {
     String url = StripLeadingAndTrailingHTMLSpaces(value);
     if (!url.IsEmpty()) {
@@ -68,41 +68,42 @@
           CSSPropertyValue(GetCSSPropertyBackgroundImage(), *image_value));
     }
   } else if (name == kValignAttr) {
-    if (DeprecatedEqualIgnoringCase(value, "top"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                              CSSValueTop);
-    else if (DeprecatedEqualIgnoringCase(value, "middle"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                              CSSValueMiddle);
-    else if (DeprecatedEqualIgnoringCase(value, "bottom"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                              CSSValueBottom);
-    else if (DeprecatedEqualIgnoringCase(value, "baseline"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                              CSSValueBaseline);
-    else
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyVerticalAlign,
-                                              value);
+    if (DeprecatedEqualIgnoringCase(value, "top")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kVerticalAlign, CSSValueTop);
+    } else if (DeprecatedEqualIgnoringCase(value, "middle")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kVerticalAlign, CSSValueMiddle);
+    } else if (DeprecatedEqualIgnoringCase(value, "bottom")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kVerticalAlign, CSSValueBottom);
+    } else if (DeprecatedEqualIgnoringCase(value, "baseline")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kVerticalAlign, CSSValueBaseline);
+    } else {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kVerticalAlign, value);
+    }
   } else if (name == kAlignAttr) {
     if (DeprecatedEqualIgnoringCase(value, "middle") ||
         DeprecatedEqualIgnoringCase(value, "center"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitCenter);
     else if (DeprecatedEqualIgnoringCase(value, "absmiddle"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueCenter);
     else if (DeprecatedEqualIgnoringCase(value, "left"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitLeft);
     else if (DeprecatedEqualIgnoringCase(value, "right"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               CSSValueWebkitRight);
     else
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyTextAlign,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kTextAlign,
                                               value);
   } else if (name == kHeightAttr) {
     if (!value.IsEmpty())
-      AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+      AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
diff --git a/third_party/blink/renderer/core/html/html_ulist_element.cc b/third_party/blink/renderer/core/html/html_ulist_element.cc
index f458780..cb815ac 100644
--- a/third_party/blink/renderer/core/html/html_ulist_element.cc
+++ b/third_party/blink/renderer/core/html/html_ulist_element.cc
@@ -46,18 +46,19 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kTypeAttr) {
-    if (DeprecatedEqualIgnoringCase(value, "disc"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueDisc);
-    else if (DeprecatedEqualIgnoringCase(value, "circle"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueCircle);
-    else if (DeprecatedEqualIgnoringCase(value, "square"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueSquare);
-    else if (DeprecatedEqualIgnoringCase(value, "none"))
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyListStyleType,
-                                              CSSValueNone);
+    if (DeprecatedEqualIgnoringCase(value, "disc")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueDisc);
+    } else if (DeprecatedEqualIgnoringCase(value, "circle")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueCircle);
+    } else if (DeprecatedEqualIgnoringCase(value, "square")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueSquare);
+    } else if (DeprecatedEqualIgnoringCase(value, "none")) {
+      AddPropertyToPresentationAttributeStyle(
+          style, CSSPropertyID::kListStyleType, CSSValueNone);
+    }
   } else {
     HTMLElement::CollectStyleForPresentationAttribute(name, value, style);
   }
diff --git a/third_party/blink/renderer/core/html/image_document.cc b/third_party/blink/renderer/core/html/image_document.cc
index f68b9ef..899b841 100644
--- a/third_party/blink/renderer/core/html/image_document.cc
+++ b/third_party/blink/renderer/core/html/image_document.cc
@@ -486,7 +486,7 @@
 
   if (shrink_to_fit_mode_ == kViewport) {
     int div_width = CalculateDivWidth();
-    div_element_->SetInlineStyleProperty(CSSPropertyWidth, div_width,
+    div_element_->SetInlineStyleProperty(CSSPropertyID::kWidth, div_width,
                                          CSSPrimitiveValue::UnitType::kPixels);
 
     // Explicitly set the height of the <div> containing the <img> so that it
@@ -500,7 +500,7 @@
     float aspect_ratio = View()->GetLayoutSize().AspectRatio();
     int div_height = std::max(ImageSize().Height(),
                               static_cast<int>(div_width / aspect_ratio));
-    div_element_->SetInlineStyleProperty(CSSPropertyHeight, div_height,
+    div_element_->SetInlineStyleProperty(CSSPropertyID::kHeight, div_height,
                                          CSSPrimitiveValue::UnitType::kPixels);
     return;
   }
diff --git a/third_party/blink/renderer/core/html/media/html_video_element.cc b/third_party/blink/renderer/core/html/media/html_video_element.cc
index c39bb4ce..659be8b 100644
--- a/third_party/blink/renderer/core/html/media/html_video_element.cc
+++ b/third_party/blink/renderer/core/html/media/html_video_element.cc
@@ -176,9 +176,9 @@
     const AtomicString& value,
     MutableCSSPropertyValueSet* style) {
   if (name == kWidthAttr)
-    AddHTMLLengthToStyle(style, CSSPropertyWidth, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kWidth, value);
   else if (name == kHeightAttr)
-    AddHTMLLengthToStyle(style, CSSPropertyHeight, value);
+    AddHTMLLengthToStyle(style, CSSPropertyID::kHeight, value);
   else
     HTMLMediaElement::CollectStyleForPresentationAttribute(name, value, style);
 }
diff --git a/third_party/blink/renderer/core/html/media/media_remoting_interstitial.cc b/third_party/blink/renderer/core/html/media/media_remoting_interstitial.cc
index c704d86..a0e0590 100644
--- a/third_party/blink/renderer/core/html/media/media_remoting_interstitial.cc
+++ b/third_party/blink/renderer/core/html/media/media_remoting_interstitial.cc
@@ -72,8 +72,8 @@
   if (toggle_interstitial_timer_.IsActive())
     toggle_interstitial_timer_.Stop();
   state_ = VISIBLE;
-  RemoveInlineStyleProperty(CSSPropertyDisplay);
-  SetInlineStyleProperty(CSSPropertyOpacity, 0,
+  RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
+  SetInlineStyleProperty(CSSPropertyID::kOpacity, 0,
                          CSSPrimitiveValue::UnitType::kNumber);
   toggle_interstitial_timer_.StartOneShot(kStyleChangeTransitionDuration,
                                           FROM_HERE);
@@ -96,7 +96,7 @@
     toast_message_->setInnerText(stop_text, ASSERT_NO_EXCEPTION);
     state_ = TOAST;
   }
-  SetInlineStyleProperty(CSSPropertyOpacity, 0,
+  SetInlineStyleProperty(CSSPropertyID::kOpacity, 0,
                          CSSPrimitiveValue::UnitType::kNumber);
   toggle_interstitial_timer_.StartOneShot(kHiddenAnimationDuration, FROM_HERE);
 }
@@ -105,28 +105,31 @@
   toggle_interstitial_timer_.Stop();
   if (IsVisible()) {
     // Show interstitial except the |toast_message_|.
-    background_image_->RemoveInlineStyleProperty(CSSPropertyDisplay);
-    cast_icon_->RemoveInlineStyleProperty(CSSPropertyDisplay);
-    cast_text_message_->RemoveInlineStyleProperty(CSSPropertyDisplay);
-    toast_message_->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
-    SetInlineStyleProperty(CSSPropertyBackgroundColor, CSSValueBlack);
-    SetInlineStyleProperty(CSSPropertyOpacity, 1,
+    background_image_->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
+    cast_icon_->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
+    cast_text_message_->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
+    toast_message_->SetInlineStyleProperty(CSSPropertyID::kDisplay,
+                                           CSSValueNone);
+    SetInlineStyleProperty(CSSPropertyID::kBackgroundColor, CSSValueBlack);
+    SetInlineStyleProperty(CSSPropertyID::kOpacity, 1,
                            CSSPrimitiveValue::UnitType::kNumber);
   } else if (state_ == HIDDEN) {
-    SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+    SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
     toast_message_->setInnerText(WebString(), ASSERT_NO_EXCEPTION);
   } else {
     // Show |toast_message_| only.
-    toast_message_->RemoveInlineStyleProperty(CSSPropertyDisplay);
-    SetInlineStyleProperty(CSSPropertyBackgroundColor, CSSValueTransparent);
-    SetInlineStyleProperty(CSSPropertyOpacity, 1,
+    toast_message_->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
+    SetInlineStyleProperty(CSSPropertyID::kBackgroundColor,
+                           CSSValueTransparent);
+    SetInlineStyleProperty(CSSPropertyID::kOpacity, 1,
                            CSSPrimitiveValue::UnitType::kNumber);
-    background_image_->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
-    cast_icon_->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
-    cast_text_message_->SetInlineStyleProperty(CSSPropertyDisplay,
+    background_image_->SetInlineStyleProperty(CSSPropertyID::kDisplay,
+                                              CSSValueNone);
+    cast_icon_->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
+    cast_text_message_->SetInlineStyleProperty(CSSPropertyID::kDisplay,
                                                CSSValueNone);
     toast_message_->SetInlineStyleProperty(
-        CSSPropertyOpacity, 1, CSSPrimitiveValue::UnitType::kNumber);
+        CSSPropertyID::kOpacity, 1, CSSPrimitiveValue::UnitType::kNumber);
     state_ = HIDDEN;
     toggle_interstitial_timer_.StartOneShot(kShowToastDuration, FROM_HERE);
   }
diff --git a/third_party/blink/renderer/core/html/media/picture_in_picture_interstitial.cc b/third_party/blink/renderer/core/html/media/picture_in_picture_interstitial.cc
index 1440cd7..3a88ca1 100644
--- a/third_party/blink/renderer/core/html/media/picture_in_picture_interstitial.cc
+++ b/third_party/blink/renderer/core/html/media/picture_in_picture_interstitial.cc
@@ -92,7 +92,7 @@
   if (interstitial_timer_.IsActive())
     interstitial_timer_.Stop();
   should_be_visible_ = true;
-  RemoveInlineStyleProperty(CSSPropertyDisplay);
+  RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
   interstitial_timer_.StartOneShot(
       kPictureInPictureStyleChangeTransitionDuration, FROM_HERE);
 
@@ -107,7 +107,7 @@
   if (interstitial_timer_.IsActive())
     interstitial_timer_.Stop();
   should_be_visible_ = false;
-  SetInlineStyleProperty(CSSPropertyOpacity, 0,
+  SetInlineStyleProperty(CSSPropertyID::kOpacity, 0,
                          CSSPrimitiveValue::UnitType::kNumber);
   interstitial_timer_.StartOneShot(kPictureInPictureHiddenAnimationSeconds,
                                    FROM_HERE);
@@ -147,11 +147,11 @@
 void PictureInPictureInterstitial::ToggleInterstitialTimerFired(TimerBase*) {
   interstitial_timer_.Stop();
   if (should_be_visible_) {
-    SetInlineStyleProperty(CSSPropertyBackgroundColor, CSSValueBlack);
-    SetInlineStyleProperty(CSSPropertyOpacity, 1,
+    SetInlineStyleProperty(CSSPropertyID::kBackgroundColor, CSSValueBlack);
+    SetInlineStyleProperty(CSSPropertyID::kOpacity, 1,
                            CSSPrimitiveValue::UnitType::kNumber);
   } else {
-    SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+    SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
   }
 }
 
diff --git a/third_party/blink/renderer/core/html/plugin_document.cc b/third_party/blink/renderer/core/html/plugin_document.cc
index 53885c1..ca63c9b 100644
--- a/third_party/blink/renderer/core/html/plugin_document.cc
+++ b/third_party/blink/renderer/core/html/plugin_document.cc
@@ -143,7 +143,7 @@
   body->setAttribute(kStyleAttr,
                      "height: 100%; width: 100%; overflow: hidden; margin: 0");
   body->SetInlineStyleProperty(
-      CSSPropertyBackgroundColor,
+      CSSPropertyID::kBackgroundColor,
       *cssvalue::CSSColorValue::Create(background_color_.Rgb()));
   root_element->AppendChild(body);
   if (IsStopped()) {
diff --git a/third_party/blink/renderer/core/html/track/text_track_container.cc b/third_party/blink/renderer/core/html/track/text_track_container.cc
index 96f2cdc..9c58cb28 100644
--- a/third_party/blink/renderer/core/html/track/text_track_container.cc
+++ b/third_party/blink/renderer/core/html/track/text_track_container.cc
@@ -125,7 +125,7 @@
   current_font_size = font_size;
   if (current_font_size == old_font_size)
     return;
-  SetInlineStyleProperty(CSSPropertyFontSize, default_font_size_,
+  SetInlineStyleProperty(CSSPropertyID::kFontSize, default_font_size_,
                          CSSPrimitiveValue::UnitType::kPixels);
 }
 
diff --git a/third_party/blink/renderer/core/html/track/vtt/vtt_cue.cc b/third_party/blink/renderer/core/html/track/vtt/vtt_cue.cc
index 95b4dd3..b0c08f3 100644
--- a/third_party/blink/renderer/core/html/track/vtt/vtt_cue.cc
+++ b/third_party/blink/renderer/core/html/track/vtt/vtt_cue.cc
@@ -153,37 +153,38 @@
   // settings:
 
   // the 'position' property must be set to 'absolute'
-  SetInlineStyleProperty(CSSPropertyPosition, CSSValueAbsolute);
+  SetInlineStyleProperty(CSSPropertyID::kPosition, CSSValueAbsolute);
 
   //  the 'unicode-bidi' property must be set to 'plaintext'
-  SetInlineStyleProperty(CSSPropertyUnicodeBidi, CSSValueWebkitPlaintext);
+  SetInlineStyleProperty(CSSPropertyID::kUnicodeBidi, CSSValueWebkitPlaintext);
 
   // the 'direction' property must be set to direction
-  SetInlineStyleProperty(CSSPropertyDirection, display_parameters.direction);
+  SetInlineStyleProperty(CSSPropertyID::kDirection,
+                         display_parameters.direction);
 
   // the 'writing-mode' property must be set to writing-mode
-  SetInlineStyleProperty(CSSPropertyWebkitWritingMode,
+  SetInlineStyleProperty(CSSPropertyID::kWebkitWritingMode,
                          display_parameters.writing_mode);
 
   const FloatPoint& position = display_parameters.position;
 
   // the 'top' property must be set to top,
-  SetInlineStyleProperty(CSSPropertyTop, position.Y(),
+  SetInlineStyleProperty(CSSPropertyID::kTop, position.Y(),
                          CSSPrimitiveValue::UnitType::kPercentage);
 
   // the 'left' property must be set to left
-  SetInlineStyleProperty(CSSPropertyLeft, position.X(),
+  SetInlineStyleProperty(CSSPropertyID::kLeft, position.X(),
                          CSSPrimitiveValue::UnitType::kPercentage);
 
   // the 'width' property must be set to width, and the 'height' property  must
   // be set to height
   if (display_parameters.writing_mode == CSSValueHorizontalTb) {
-    SetInlineStyleProperty(CSSPropertyWidth, display_parameters.size,
+    SetInlineStyleProperty(CSSPropertyID::kWidth, display_parameters.size,
                            CSSPrimitiveValue::UnitType::kPercentage);
-    SetInlineStyleProperty(CSSPropertyHeight, CSSValueAuto);
+    SetInlineStyleProperty(CSSPropertyID::kHeight, CSSValueAuto);
   } else {
-    SetInlineStyleProperty(CSSPropertyWidth, CSSValueAuto);
-    SetInlineStyleProperty(CSSPropertyHeight, display_parameters.size,
+    SetInlineStyleProperty(CSSPropertyID::kWidth, CSSValueAuto);
+    SetInlineStyleProperty(CSSPropertyID::kHeight, display_parameters.size,
                            CSSPrimitiveValue::UnitType::kPercentage);
   }
 
@@ -191,7 +192,8 @@
   // be set to the value in the second cell of the row of the table below
   // whose first cell is the value of the corresponding cue's WebVTT cue
   // text alignment:
-  SetInlineStyleProperty(CSSPropertyTextAlign, display_parameters.text_align);
+  SetInlineStyleProperty(CSSPropertyID::kTextAlign,
+                         display_parameters.text_align);
 
   // TODO(foolip): The position adjustment for non-snap-to-lines cues has
   // been removed from the spec:
@@ -206,10 +208,10 @@
     // of the way across the height of the video's rendering area, while
     // maintaining the relative positions of the boxes in boxes to each
     // other.
-    SetInlineStyleProperty(CSSPropertyTransform,
+    SetInlineStyleProperty(CSSPropertyID::kTransform,
                            String::Format("translate(-%.2f%%, -%.2f%%)",
                                           position.X(), position.Y()));
-    SetInlineStyleProperty(CSSPropertyWhiteSpace, CSSValuePre);
+    SetInlineStyleProperty(CSSPropertyID::kWhiteSpace, CSSValuePre);
   }
 
   // The snap-to-lines position is propagated to LayoutVTTCue.
@@ -812,7 +814,7 @@
     VTTDisplayParameters display_parameters = CalculateDisplayParameters();
     display_tree_->ApplyCSSProperties(display_parameters);
   } else {
-    display_tree_->SetInlineStyleProperty(CSSPropertyPosition,
+    display_tree_->SetInlineStyleProperty(CSSPropertyID::kPosition,
                                           CSSValueRelative);
   }
 
@@ -1103,19 +1105,24 @@
     return;
 
   SetInlineStylePropertyIfNotEmpty(*cue_background_box_,
-                                   CSSPropertyBackgroundColor,
+                                   CSSPropertyID::kBackgroundColor,
                                    settings->GetTextTrackBackgroundColor());
-  SetInlineStylePropertyIfNotEmpty(*cue_background_box_, CSSPropertyFontFamily,
+  SetInlineStylePropertyIfNotEmpty(*cue_background_box_,
+                                   CSSPropertyID::kFontFamily,
                                    settings->GetTextTrackFontFamily());
-  SetInlineStylePropertyIfNotEmpty(*cue_background_box_, CSSPropertyFontStyle,
+  SetInlineStylePropertyIfNotEmpty(*cue_background_box_,
+                                   CSSPropertyID::kFontStyle,
                                    settings->GetTextTrackFontStyle());
-  SetInlineStylePropertyIfNotEmpty(*cue_background_box_, CSSPropertyFontVariant,
+  SetInlineStylePropertyIfNotEmpty(*cue_background_box_,
+                                   CSSPropertyID::kFontVariant,
                                    settings->GetTextTrackFontVariant());
-  SetInlineStylePropertyIfNotEmpty(*cue_background_box_, CSSPropertyColor,
+  SetInlineStylePropertyIfNotEmpty(*cue_background_box_, CSSPropertyID::kColor,
                                    settings->GetTextTrackTextColor());
-  SetInlineStylePropertyIfNotEmpty(*cue_background_box_, CSSPropertyTextShadow,
+  SetInlineStylePropertyIfNotEmpty(*cue_background_box_,
+                                   CSSPropertyID::kTextShadow,
                                    settings->GetTextTrackTextShadow());
-  SetInlineStylePropertyIfNotEmpty(*cue_background_box_, CSSPropertyFontSize,
+  SetInlineStylePropertyIfNotEmpty(*cue_background_box_,
+                                   CSSPropertyID::kFontSize,
                                    settings->GetTextTrackTextSize());
 }
 
diff --git a/third_party/blink/renderer/core/html/track/vtt/vtt_region.cc b/third_party/blink/renderer/core/html/track/vtt/vtt_region.cc
index d2612667..7e1b8e4 100644
--- a/third_party/blink/renderer/core/html/track/vtt/vtt_region.cc
+++ b/third_party/blink/renderer/core/html/track/vtt/vtt_region.cc
@@ -288,7 +288,7 @@
   cue_container_->classList().Remove(TextTrackCueContainerScrollingClass());
 
   current_top_ += box_height;
-  cue_container_->SetInlineStyleProperty(CSSPropertyTop, current_top_,
+  cue_container_->SetInlineStyleProperty(CSSPropertyID::kTop, current_top_,
                                          CSSPrimitiveValue::UnitType::kPixels);
 }
 
@@ -331,7 +331,8 @@
     current_top_ -=
         std::min(client_rect->height(), child_bottom - region_bottom);
     cue_container_->SetInlineStyleProperty(
-        CSSPropertyTop, current_top_, CSSPrimitiveValue::UnitType::kPixels);
+        CSSPropertyID::kTop, current_top_,
+        CSSPrimitiveValue::UnitType::kPixels);
 
     StartTimer();
     break;
@@ -349,14 +350,15 @@
   // Let regionWidth be the text track region width.
   // Let width be 'regionWidth vw' ('vw' is a CSS unit)
   region_display_tree_->SetInlineStyleProperty(
-      CSSPropertyWidth, width_, CSSPrimitiveValue::UnitType::kPercentage);
+      CSSPropertyID::kWidth, width_, CSSPrimitiveValue::UnitType::kPercentage);
 
   // Let lineHeight be '0.0533vh' ('vh' is a CSS unit) and regionHeight be
   // the text track region height. Let height be 'lineHeight' multiplied
   // by regionHeight.
   double height = kLineHeight * lines_;
   region_display_tree_->SetInlineStyleProperty(
-      CSSPropertyHeight, height, CSSPrimitiveValue::UnitType::kViewportHeight);
+      CSSPropertyID::kHeight, height,
+      CSSPrimitiveValue::UnitType::kViewportHeight);
 
   // Let viewportAnchorX be the x dimension of the text track region viewport
   // anchor and regionAnchorX be the x dimension of the text track region
@@ -364,7 +366,7 @@
   // 100.0. Let left be leftOffset subtracted from 'viewportAnchorX vw'.
   double left_offset = region_anchor_.X() * width_ / 100;
   region_display_tree_->SetInlineStyleProperty(
-      CSSPropertyLeft, viewport_anchor_.X() - left_offset,
+      CSSPropertyID::kLeft, viewport_anchor_.X() - left_offset,
       CSSPrimitiveValue::UnitType::kPercentage);
 
   // Let viewportAnchorY be the y dimension of the text track region viewport
@@ -373,13 +375,13 @@
   // 100.0. Let top be topOffset subtracted from 'viewportAnchorY vh'.
   double top_offset = region_anchor_.Y() * height / 100;
   region_display_tree_->SetInlineStyleProperty(
-      CSSPropertyTop, viewport_anchor_.Y() - top_offset,
+      CSSPropertyID::kTop, viewport_anchor_.Y() - top_offset,
       CSSPrimitiveValue::UnitType::kPercentage);
 
   // The cue container is used to wrap the cues and it is the object which is
   // gradually scrolled out as multiple cues are appended to the region.
   cue_container_ = HTMLDivElement::Create(region_display_tree_->GetDocument());
-  cue_container_->SetInlineStyleProperty(CSSPropertyTop, 0.0,
+  cue_container_->SetInlineStyleProperty(CSSPropertyID::kTop, 0.0,
                                          CSSPrimitiveValue::UnitType::kPixels);
 
   cue_container_->SetShadowPseudoId(
diff --git a/third_party/blink/renderer/core/inspector/inspector_dom_snapshot_agent.cc b/third_party/blink/renderer/core/inspector/inspector_dom_snapshot_agent.cc
index e44c61b..cf06988 100644
--- a/third_party/blink/renderer/core/inspector/inspector_dom_snapshot_agent.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_dom_snapshot_agent.cc
@@ -261,7 +261,7 @@
   // Look up the CSSPropertyIDs for each entry in |style_whitelist|.
   for (wtf_size_t i = 0; i < style_whitelist->length(); i++) {
     CSSPropertyID property_id = cssPropertyID(style_whitelist->get(i));
-    if (property_id == CSSPropertyInvalid)
+    if (property_id == CSSPropertyID::kInvalid)
       continue;
     css_property_whitelist_->push_back(
         std::make_pair(style_whitelist->get(i), property_id));
@@ -300,7 +300,7 @@
   // Look up the CSSPropertyIDs for each entry in |computed_styles|.
   for (size_t i = 0; i < computed_styles->length(); i++) {
     CSSPropertyID property_id = cssPropertyID(computed_styles->get(i));
-    if (property_id == CSSPropertyInvalid)
+    if (property_id == CSSPropertyID::kInvalid)
       continue;
     css_property_whitelist_->push_back(
         std::make_pair(computed_styles->get(i), property_id));
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc b/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc
index b4c099e..325e6a0 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc
@@ -492,7 +492,7 @@
   EXPECT_TRUE(observer_delegate->LastEntry()->isIntersecting());
   EXPECT_TRUE(observer_delegate->LastEntry()->isVisible());
 
-  occluder->SetInlineStyleProperty(CSSPropertyMarginTop, "-10px");
+  occluder->SetInlineStyleProperty(CSSPropertyID::kMarginTop, "-10px");
   Compositor().BeginFrame();
   test::RunPendingTasks();
   ASSERT_FALSE(Compositor().NeedsBeginFrame());
@@ -502,7 +502,7 @@
   EXPECT_FALSE(observer_delegate->LastEntry()->isVisible());
 
   // Zero-opacity objects should not count as occluding.
-  occluder->SetInlineStyleProperty(CSSPropertyOpacity, "0");
+  occluder->SetInlineStyleProperty(CSSPropertyID::kOpacity, "0");
   Compositor().BeginFrame();
   test::RunPendingTasks();
   ASSERT_FALSE(Compositor().NeedsBeginFrame());
@@ -551,7 +551,7 @@
   EXPECT_TRUE(observer_delegate->LastEntry()->isIntersecting());
   EXPECT_TRUE(observer_delegate->LastEntry()->isVisible());
 
-  transparent->SetInlineStyleProperty(CSSPropertyOpacity, "0.99");
+  transparent->SetInlineStyleProperty(CSSPropertyID::kOpacity, "0.99");
   Compositor().BeginFrame();
   test::RunPendingTasks();
   ASSERT_FALSE(Compositor().NeedsBeginFrame());
@@ -602,7 +602,7 @@
 
   // 2D translations and proportional upscaling is permitted.
   transformed->SetInlineStyleProperty(
-      CSSPropertyTransform, "translateX(10px) translateY(20px) scale(2)");
+      CSSPropertyID::kTransform, "translateX(10px) translateY(20px) scale(2)");
   Compositor().BeginFrame();
   test::RunPendingTasks();
   ASSERT_FALSE(Compositor().NeedsBeginFrame());
@@ -610,7 +610,8 @@
   EXPECT_EQ(observer_delegate->EntryCount(), 1);
 
   // Any other transform is not permitted.
-  transformed->SetInlineStyleProperty(CSSPropertyTransform, "skewX(10deg)");
+  transformed->SetInlineStyleProperty(CSSPropertyID::kTransform,
+                                      "skewX(10deg)");
   Compositor().BeginFrame();
   test::RunPendingTasks();
   ASSERT_FALSE(Compositor().NeedsBeginFrame());
diff --git a/third_party/blink/renderer/core/layout/custom/layout_worklet_test.cc b/third_party/blink/renderer/core/layout/custom/layout_worklet_test.cc
index 6e933760..e2d0f171 100644
--- a/third_party/blink/renderer/core/layout/custom/layout_worklet_test.cc
+++ b/third_party/blink/renderer/core/layout/custom/layout_worklet_test.cc
@@ -77,10 +77,11 @@
   CSSLayoutDefinition* definition = global_scope->FindDefinition("foo");
   EXPECT_NE(nullptr, definition);
 
-  Vector<CSSPropertyID> native_invalidation_properties = {CSSPropertyFlexBasis};
+  Vector<CSSPropertyID> native_invalidation_properties = {
+      CSSPropertyID::kFlexBasis};
   Vector<AtomicString> custom_invalidation_properties = {"--prop"};
   Vector<CSSPropertyID> child_native_invalidation_properties = {
-      CSSPropertyMarginTop};
+      CSSPropertyID::kMarginTop};
   Vector<AtomicString> child_custom_invalidation_properties = {"--child-prop"};
 
   EXPECT_EQ(native_invalidation_properties,
diff --git a/third_party/blink/renderer/core/layout/layout_box_model_object_test.cc b/third_party/blink/renderer/core/layout/layout_box_model_object_test.cc
index a92e8df..8f365ec 100644
--- a/third_party/blink/renderer/core/layout/layout_box_model_object_test.cc
+++ b/third_party/blink/renderer/core/layout/layout_box_model_object_test.cc
@@ -1140,7 +1140,7 @@
   // sticky element to be a child of the scroller, and will set its previous
   // overflow layer to nullptr.
   ToElement(scroller->GetNode())
-      ->SetInlineStyleProperty(CSSPropertyOverflow, "scroll");
+      ->SetInlineStyleProperty(CSSPropertyID::kOverflow, "scroll");
   UpdateAllLifecyclePhasesForTest();
 
   // The sticky element should no longer be viewport constrained.
@@ -1150,9 +1150,9 @@
   // (in this case by making it position: relative) will cause us to need to
   // recompute the sticky element's ancestor overflow layer.
   ToElement(scroller->GetNode())
-      ->SetInlineStyleProperty(CSSPropertyPosition, "relative");
+      ->SetInlineStyleProperty(CSSPropertyID::kPosition, "relative");
   ToElement(scroller->GetNode())
-      ->SetInlineStyleProperty(CSSPropertyOverflow, "visible");
+      ->SetInlineStyleProperty(CSSPropertyID::kOverflow, "visible");
 
   // Now try to scroll to the sticky element, this used to crash.
   GetDocument().GetFrame()->DomWindow()->scrollTo(0, 500);
diff --git a/third_party/blink/renderer/core/layout/layout_object_test.cc b/third_party/blink/renderer/core/layout/layout_object_test.cc
index 39af4292..d511bb20 100644
--- a/third_party/blink/renderer/core/layout/layout_object_test.cc
+++ b/third_party/blink/renderer/core/layout/layout_object_test.cc
@@ -584,7 +584,7 @@
   ASSERT_TRUE(text);
   ExpectAnonymousInlineWrapperFor<false>(text);
 
-  div->SetInlineStyleProperty(CSSPropertyColor, "pink");
+  div->SetInlineStyleProperty(CSSPropertyID::kColor, "pink");
   UpdateAllLifecyclePhasesForTest();
   ExpectAnonymousInlineWrapperFor<true>(text);
 }
@@ -597,7 +597,7 @@
   ASSERT_TRUE(text);
   ExpectAnonymousInlineWrapperFor<true>(text);
 
-  div->RemoveInlineStyleProperty(CSSPropertyColor);
+  div->RemoveInlineStyleProperty(CSSPropertyID::kColor);
   UpdateAllLifecyclePhasesForTest();
   ExpectAnonymousInlineWrapperFor<false>(text);
 }
@@ -637,7 +637,7 @@
 
   ExpectAnonymousInlineWrapperFor<true>(contents->firstChild());
 
-  none->SetInlineStyleProperty(CSSPropertyDisplay, "inline");
+  none->SetInlineStyleProperty(CSSPropertyID::kDisplay, "inline");
   UpdateAllLifecyclePhasesForTest();
   ASSERT_TRUE(none->GetLayoutObject());
   LayoutObject* inline_parent = none->GetLayoutObject()->Parent();
@@ -663,7 +663,7 @@
 
   ExpectAnonymousInlineWrapperFor<true>(contents->firstChild());
 
-  none->SetInlineStyleProperty(CSSPropertyDisplay, "inline");
+  none->SetInlineStyleProperty(CSSPropertyID::kDisplay, "inline");
   UpdateAllLifecyclePhasesForTest();
   ASSERT_TRUE(none->GetLayoutObject());
   LayoutObject* inline_parent = none->GetLayoutObject()->Parent();
@@ -689,7 +689,7 @@
 
   ExpectAnonymousInlineWrapperFor<true>(contents->firstChild());
 
-  none->SetInlineStyleProperty(CSSPropertyDisplay, "inline");
+  none->SetInlineStyleProperty(CSSPropertyID::kDisplay, "inline");
   UpdateAllLifecyclePhasesForTest();
   ASSERT_TRUE(none->GetLayoutObject());
   LayoutObject* inline_parent = none->GetLayoutObject()->Parent();
@@ -716,7 +716,7 @@
 
   ExpectAnonymousInlineWrapperFor<true>(contents->firstChild());
 
-  none->SetInlineStyleProperty(CSSPropertyDisplay, "inline");
+  none->SetInlineStyleProperty(CSSPropertyID::kDisplay, "inline");
   UpdateAllLifecyclePhasesForTest();
   ASSERT_TRUE(none->GetLayoutObject());
   EXPECT_EQ(cell->GetLayoutObject(), none->GetLayoutObject()->Parent());
@@ -938,7 +938,7 @@
   EXPECT_EQ(result.InnerNode(), target);
 
   Element* occluder = GetDocument().getElementById("occluder");
-  occluder->SetInlineStyleProperty(CSSPropertyMarginTop, "-150px");
+  occluder->SetInlineStyleProperty(CSSPropertyID::kMarginTop, "-150px");
   GetDocument().View()->UpdateAllLifecyclePhases(
       DocumentLifecycle::LifecycleUpdateReason::kTest);
   result = target->GetLayoutObject()->HitTestForOcclusion();
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
index 7341cbd..3cda53e 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc
@@ -972,7 +972,7 @@
   ASSERT_TRUE(layout_block_flow_->HasNGInlineNodeData());
 
   GetElementById("blockify")
-      ->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueBlock);
+      ->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueBlock);
   UpdateAllLifecyclePhasesForTest();
 
   EXPECT_FALSE(layout_block_flow_->HasNGInlineNodeData());
diff --git a/third_party/blink/renderer/core/layout/visual_rect_mapping_test.cc b/third_party/blink/renderer/core/layout/visual_rect_mapping_test.cc
index 7034679e..d9fdc6244 100644
--- a/third_party/blink/renderer/core/layout/visual_rect_mapping_test.cc
+++ b/third_party/blink/renderer/core/layout/visual_rect_mapping_test.cc
@@ -293,7 +293,7 @@
   EXPECT_EQ(rect, LayoutRect(4, 13, 20, 37));
 
   Element* frame_element = GetDocument().getElementById("frame");
-  frame_element->SetInlineStyleProperty(CSSPropertyDisplay, "none");
+  frame_element->SetInlineStyleProperty(CSSPropertyID::kDisplay, "none");
   UpdateAllLifecyclePhasesForTest();
 
   frame_body = ToLayoutBlock(ChildDocument().body()->GetLayoutObject());
diff --git a/third_party/blink/renderer/core/page/autoscroll_controller_test.cc b/third_party/blink/renderer/core/page/autoscroll_controller_test.cc
index cc8cea6..2437898 100644
--- a/third_party/blink/renderer/core/page/autoscroll_controller_test.cc
+++ b/third_party/blink/renderer/core/page/autoscroll_controller_test.cc
@@ -69,7 +69,7 @@
   DCHECK(controller.IsAutoscrolling());
 
   // Hide scrollable here will cause UpdateSelectionForMouseDrag stop animation.
-  scrollable->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  scrollable->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
 
   // BeginFrame will call AutoscrollController::Animate.
   Compositor().BeginFrame();
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
index a17c734..1db6bc2 100644
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
@@ -416,12 +416,14 @@
     }
   }
 
-  if (EditingStyle::SelectionHasStyle(*selected_frame, CSSPropertyDirection,
+  if (EditingStyle::SelectionHasStyle(*selected_frame,
+                                      CSSPropertyID::kDirection,
                                       "ltr") != EditingTriState::kFalse) {
     data.writing_direction_left_to_right |=
         WebContextMenuData::kCheckableMenuItemChecked;
   }
-  if (EditingStyle::SelectionHasStyle(*selected_frame, CSSPropertyDirection,
+  if (EditingStyle::SelectionHasStyle(*selected_frame,
+                                      CSSPropertyID::kDirection,
                                       "rtl") != EditingTriState::kFalse) {
     data.writing_direction_right_to_left |=
         WebContextMenuData::kCheckableMenuItemChecked;
diff --git a/third_party/blink/renderer/core/page/validation_message_overlay_delegate.cc b/third_party/blink/renderer/core/page/validation_message_overlay_delegate.cc
index 238b0c0b0..210bdb5d 100644
--- a/third_party/blink/renderer/core/page/validation_message_overlay_delegate.cc
+++ b/third_party/blink/renderer/core/page/validation_message_overlay_delegate.cc
@@ -161,13 +161,13 @@
 
   Element& container = GetElementById("container");
   if (WebTestSupport::IsRunningWebTest()) {
-    container.SetInlineStyleProperty(CSSPropertyTransition, "none");
-    GetElementById("icon").SetInlineStyleProperty(CSSPropertyTransition,
+    container.SetInlineStyleProperty(CSSPropertyID::kTransition, "none");
+    GetElementById("icon").SetInlineStyleProperty(CSSPropertyID::kTransition,
                                                   "none");
     GetElementById("main-message")
-        .SetInlineStyleProperty(CSSPropertyTransition, "none");
+        .SetInlineStyleProperty(CSSPropertyID::kTransition, "none");
     GetElementById("sub-message")
-        .SetInlineStyleProperty(CSSPropertyTransition, "none");
+        .SetInlineStyleProperty(CSSPropertyID::kTransition, "none");
   }
   // Get the size to decide position later.
   // TODO(schenney): This says get size, so we only need to update to layout.
@@ -177,7 +177,7 @@
   // Add one because the content sometimes exceeds the exact width due to
   // rounding errors.
   bubble_size_.Expand(1, 0);
-  container.SetInlineStyleProperty(CSSPropertyMinWidth,
+  container.SetInlineStyleProperty(CSSPropertyID::kMinWidth,
                                    bubble_size_.Width() / zoom_factor,
                                    CSSPrimitiveValue::UnitType::kPixels);
   container.setAttribute(html_names::kClassAttr, "shown-initially");
@@ -249,9 +249,9 @@
     bubble_x = view_rect.MaxX() - bubble_size_.Width();
 
   Element& container = GetElementById("container");
-  container.SetInlineStyleProperty(CSSPropertyLeft, bubble_x / zoom_factor,
+  container.SetInlineStyleProperty(CSSPropertyID::kLeft, bubble_x / zoom_factor,
                                    CSSPrimitiveValue::UnitType::kPixels);
-  container.SetInlineStyleProperty(CSSPropertyTop, bubble_y / zoom_factor,
+  container.SetInlineStyleProperty(CSSPropertyID::kTop, bubble_y / zoom_factor,
                                    CSSPrimitiveValue::UnitType::kPixels);
 
   // Should match to --arrow-size in validation_bubble.css.
@@ -292,25 +292,25 @@
   double arrow_anchor_percent = arrow_anchor_x * 100 / bubble_size_.Width();
   if (show_bottom_arrow) {
     GetElementById("outer-arrow-bottom")
-        .SetInlineStyleProperty(CSSPropertyLeft, arrow_x,
+        .SetInlineStyleProperty(CSSPropertyID::kLeft, arrow_x,
                                 CSSPrimitiveValue::UnitType::kPixels);
     GetElementById("inner-arrow-bottom")
-        .SetInlineStyleProperty(CSSPropertyLeft, arrow_x,
+        .SetInlineStyleProperty(CSSPropertyID::kLeft, arrow_x,
                                 CSSPrimitiveValue::UnitType::kPixels);
     container.setAttribute(html_names::kClassAttr, "shown-fully bottom-arrow");
     container.SetInlineStyleProperty(
-        CSSPropertyTransformOrigin,
+        CSSPropertyID::kTransformOrigin,
         String::Format("%.2f%% bottom", arrow_anchor_percent));
   } else {
     GetElementById("outer-arrow-top")
-        .SetInlineStyleProperty(CSSPropertyLeft, arrow_x,
+        .SetInlineStyleProperty(CSSPropertyID::kLeft, arrow_x,
                                 CSSPrimitiveValue::UnitType::kPixels);
     GetElementById("inner-arrow-top")
-        .SetInlineStyleProperty(CSSPropertyLeft, arrow_x,
+        .SetInlineStyleProperty(CSSPropertyID::kLeft, arrow_x,
                                 CSSPrimitiveValue::UnitType::kPixels);
     container.setAttribute(html_names::kClassAttr, "shown-fully");
     container.SetInlineStyleProperty(
-        CSSPropertyTransformOrigin,
+        CSSPropertyID::kTransformOrigin,
         String::Format("%.2f%% top", arrow_anchor_percent));
   }
 }
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc
index 4ee6114..b315fba 100644
--- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc
+++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping_test.cc
@@ -73,7 +73,7 @@
       "position: relative; left: 0.4px; width: 100px; height: 100px'>");
 
   Element* target = GetDocument().getElementById("target");
-  target->SetInlineStyleProperty(CSSPropertyLeft, "0.6px");
+  target->SetInlineStyleProperty(CSSPropertyID::kLeft, "0.6px");
 
   GetDocument().View()->UpdateAllLifecyclePhasesExceptPaint();
 
@@ -95,7 +95,7 @@
       "position: relative; left: 0.4px; width: 100px; height: 100px'>");
 
   Element* target = GetDocument().getElementById("target");
-  target->SetInlineStyleProperty(CSSPropertyLeft, "0.6px");
+  target->SetInlineStyleProperty(CSSPropertyID::kLeft, "0.6px");
 
   GetDocument().View()->UpdateAllLifecyclePhasesExceptPaint();
 
@@ -121,7 +121,7 @@
       "</div>");
 
   Element* target = GetDocument().getElementById("target");
-  target->SetInlineStyleProperty(CSSPropertyLeft, "0.6px");
+  target->SetInlineStyleProperty(CSSPropertyID::kLeft, "0.6px");
 
   GetDocument().View()->UpdateAllLifecyclePhasesExceptPaint();
 
diff --git a/third_party/blink/renderer/core/paint/compositing/compositing_inputs_updater_test.cc b/third_party/blink/renderer/core/paint/compositing/compositing_inputs_updater_test.cc
index 0f23c68d..84bb888 100644
--- a/third_party/blink/renderer/core/paint/compositing/compositing_inputs_updater_test.cc
+++ b/third_party/blink/renderer/core/paint/compositing/compositing_inputs_updater_test.cc
@@ -63,9 +63,9 @@
   // Now make the outer scroller non-scrollable (i.e. overflow: visible), and
   // the inner scroller into an actual scroller.
   ToElement(outer_scroller->GetNode())
-      ->SetInlineStyleProperty(CSSPropertyOverflow, "visible");
+      ->SetInlineStyleProperty(CSSPropertyID::kOverflow, "visible");
   ToElement(inner_scroller->GetNode())
-      ->SetInlineStyleProperty(CSSPropertyOverflow, "scroll");
+      ->SetInlineStyleProperty(CSSPropertyID::kOverflow, "scroll");
 
   // Before we update compositing inputs, validate that the current ancestor
   // overflow no longer has a scrollable area.
diff --git a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
index 582c124..fcb790e 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
@@ -1994,10 +1994,12 @@
       // Make implicit margins from the theme explicit (see
       // <http://bugs.webkit.org/show_bug.cgi?id=9547>).
       element->SetInlineStyleProperty(
-          CSSPropertyMarginLeft, GetLayoutBox()->MarginLeft() / zoom_factor,
+          CSSPropertyID::kMarginLeft,
+          GetLayoutBox()->MarginLeft() / zoom_factor,
           CSSPrimitiveValue::UnitType::kPixels);
       element->SetInlineStyleProperty(
-          CSSPropertyMarginRight, GetLayoutBox()->MarginRight() / zoom_factor,
+          CSSPropertyID::kMarginRight,
+          GetLayoutBox()->MarginRight() / zoom_factor,
           CSSPrimitiveValue::UnitType::kPixels);
     }
     LayoutUnit base_width =
@@ -2005,7 +2007,7 @@
         (is_box_sizing_border ? LayoutUnit()
                               : GetLayoutBox()->BorderAndPaddingWidth());
     base_width = LayoutUnit(base_width / zoom_factor);
-    element->SetInlineStyleProperty(CSSPropertyWidth,
+    element->SetInlineStyleProperty(CSSPropertyID::kWidth,
                                     RoundToInt(base_width + difference.Width()),
                                     CSSPrimitiveValue::UnitType::kPixels);
   }
@@ -2014,11 +2016,12 @@
     if (element->IsFormControlElement()) {
       // Make implicit margins from the theme explicit (see
       // <http://bugs.webkit.org/show_bug.cgi?id=9547>).
-      element->SetInlineStyleProperty(CSSPropertyMarginTop,
+      element->SetInlineStyleProperty(CSSPropertyID::kMarginTop,
                                       GetLayoutBox()->MarginTop() / zoom_factor,
                                       CSSPrimitiveValue::UnitType::kPixels);
       element->SetInlineStyleProperty(
-          CSSPropertyMarginBottom, GetLayoutBox()->MarginBottom() / zoom_factor,
+          CSSPropertyID::kMarginBottom,
+          GetLayoutBox()->MarginBottom() / zoom_factor,
           CSSPrimitiveValue::UnitType::kPixels);
     }
     LayoutUnit base_height =
@@ -2027,7 +2030,7 @@
                               : GetLayoutBox()->BorderAndPaddingHeight());
     base_height = LayoutUnit(base_height / zoom_factor);
     element->SetInlineStyleProperty(
-        CSSPropertyHeight, RoundToInt(base_height + difference.Height()),
+        CSSPropertyID::kHeight, RoundToInt(base_height + difference.Height()),
         CSSPrimitiveValue::UnitType::kPixels);
   }
 
diff --git a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc
index 5a6711e..cf40892 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area_test.cc
@@ -1046,7 +1046,7 @@
     PaintLayerScrollableArea::DelayScrollOffsetClampScope scope;
     PaintLayerScrollableArea::DelayScrollOffsetClampScope::SetNeedsClamp(
         scroller->GetLayoutBox()->GetScrollableArea());
-    scroller->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+    scroller->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
     UpdateAllLifecyclePhasesForTest();
   }
 }
@@ -1149,7 +1149,7 @@
   EXPECT_EQ(scrollable_area->MaximumScrollOffsetInt(), IntSize(0, 100));
 
   Element* first_child = GetElementById("first-child");
-  first_child->RemoveInlineStyleProperty(CSSPropertyDisplay);
+  first_child->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
   UpdateAllLifecyclePhasesForTest();
   EXPECT_EQ(scrollable_area->MaximumScrollOffsetInt(), IntSize(0, 100));
 }
diff --git a/third_party/blink/renderer/core/paint/text_painter_test.cc b/third_party/blink/renderer/core/paint/text_painter_test.cc
index af513cb..52267d6 100644
--- a/third_party/blink/renderer/core/paint/text_painter_test.cc
+++ b/third_party/blink/renderer/core/paint/text_painter_test.cc
@@ -57,7 +57,8 @@
 };
 
 TEST_F(TextPainterTest, TextPaintingStyle_Simple) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyColor, CSSValueBlue);
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kColor,
+                                               CSSValueBlue);
   UpdateAllLifecyclePhasesForTest();
 
   TextPaintStyle text_style = TextPainter::TextPaintingStyle(
@@ -71,16 +72,16 @@
 }
 
 TEST_F(TextPainterTest, TextPaintingStyle_AllProperties) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextFillColor,
-                                               CSSValueRed);
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextStrokeColor,
-                                               CSSValueLime);
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitTextEmphasisColor, CSSValueBlue);
+      CSSPropertyID::kWebkitTextFillColor, CSSValueRed);
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitTextStrokeWidth, 4,
+      CSSPropertyID::kWebkitTextStrokeColor, CSSValueLime);
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitTextEmphasisColor, CSSValueBlue);
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitTextStrokeWidth, 4,
       CSSPrimitiveValue::UnitType::kPixels);
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyTextShadow,
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kTextShadow,
                                                "1px 2px 3px yellow");
   UpdateAllLifecyclePhasesForTest();
 
@@ -101,16 +102,16 @@
 }
 
 TEST_F(TextPainterTest, TextPaintingStyle_UsesTextAsClip) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextFillColor,
-                                               CSSValueRed);
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextStrokeColor,
-                                               CSSValueLime);
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitTextEmphasisColor, CSSValueBlue);
+      CSSPropertyID::kWebkitTextFillColor, CSSValueRed);
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitTextStrokeWidth, 4,
+      CSSPropertyID::kWebkitTextStrokeColor, CSSValueLime);
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitTextEmphasisColor, CSSValueBlue);
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitTextStrokeWidth, 4,
       CSSPrimitiveValue::UnitType::kPixels);
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyTextShadow,
+  GetDocument().body()->SetInlineStyleProperty(CSSPropertyID::kTextShadow,
                                                "1px 2px 3px yellow");
   UpdateAllLifecyclePhasesForTest();
 
@@ -126,14 +127,14 @@
 
 TEST_F(TextPainterTest,
        TextPaintingStyle_ForceBackgroundToWhite_NoAdjustmentNeeded) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextFillColor,
-                                               CSSValueRed);
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextStrokeColor,
-                                               CSSValueLime);
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitTextEmphasisColor, CSSValueBlue);
+      CSSPropertyID::kWebkitTextFillColor, CSSValueRed);
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitPrintColorAdjust, CSSValueEconomy);
+      CSSPropertyID::kWebkitTextStrokeColor, CSSValueLime);
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitTextEmphasisColor, CSSValueBlue);
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitPrintColorAdjust, CSSValueEconomy);
   GetDocument().GetSettings()->SetShouldPrintBackgrounds(false);
   FloatSize page_size(500, 800);
   GetFrame().StartPrinting(page_size, page_size, 1);
@@ -151,14 +152,14 @@
 }
 
 TEST_F(TextPainterTest, TextPaintingStyle_ForceBackgroundToWhite_Darkened) {
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextFillColor,
-                                               "rgb(255, 220, 220)");
-  GetDocument().body()->SetInlineStyleProperty(CSSPropertyWebkitTextStrokeColor,
-                                               "rgb(220, 255, 220)");
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitTextEmphasisColor, "rgb(220, 220, 255)");
+      CSSPropertyID::kWebkitTextFillColor, "rgb(255, 220, 220)");
   GetDocument().body()->SetInlineStyleProperty(
-      CSSPropertyWebkitPrintColorAdjust, CSSValueEconomy);
+      CSSPropertyID::kWebkitTextStrokeColor, "rgb(220, 255, 220)");
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitTextEmphasisColor, "rgb(220, 220, 255)");
+  GetDocument().body()->SetInlineStyleProperty(
+      CSSPropertyID::kWebkitPrintColorAdjust, CSSValueEconomy);
   GetDocument().GetSettings()->SetShouldPrintBackgrounds(false);
   FloatSize page_size(500, 800);
   GetFrame().StartPrinting(page_size, page_size, 1);
diff --git a/third_party/blink/renderer/core/style/computed_style.cc b/third_party/blink/renderer/core/style/computed_style.cc
index 7e5dba3..c76c7311 100644
--- a/third_party/blink/renderer/core/style/computed_style.cc
+++ b/third_party/blink/renderer/core/style/computed_style.cc
@@ -926,30 +926,30 @@
     const Vector<CSSPropertyID>& properties) {
   for (CSSPropertyID property : properties) {
     switch (property) {
-      case CSSPropertyOpacity:
-      case CSSPropertyTransform:
-      case CSSPropertyAliasWebkitTransform:
-      case CSSPropertyTransformStyle:
-      case CSSPropertyAliasWebkitTransformStyle:
-      case CSSPropertyPerspective:
-      case CSSPropertyAliasWebkitPerspective:
-      case CSSPropertyTranslate:
-      case CSSPropertyRotate:
-      case CSSPropertyScale:
-      case CSSPropertyOffsetPath:
-      case CSSPropertyOffsetPosition:
-      case CSSPropertyWebkitMask:
-      case CSSPropertyWebkitMaskBoxImage:
-      case CSSPropertyClipPath:
-      case CSSPropertyAliasWebkitClipPath:
-      case CSSPropertyWebkitBoxReflect:
-      case CSSPropertyFilter:
-      case CSSPropertyAliasWebkitFilter:
-      case CSSPropertyBackdropFilter:
-      case CSSPropertyZIndex:
-      case CSSPropertyPosition:
-      case CSSPropertyMixBlendMode:
-      case CSSPropertyIsolation:
+      case CSSPropertyID::kOpacity:
+      case CSSPropertyID::kTransform:
+      case CSSPropertyID::kAliasWebkitTransform:
+      case CSSPropertyID::kTransformStyle:
+      case CSSPropertyID::kAliasWebkitTransformStyle:
+      case CSSPropertyID::kPerspective:
+      case CSSPropertyID::kAliasWebkitPerspective:
+      case CSSPropertyID::kTranslate:
+      case CSSPropertyID::kRotate:
+      case CSSPropertyID::kScale:
+      case CSSPropertyID::kOffsetPath:
+      case CSSPropertyID::kOffsetPosition:
+      case CSSPropertyID::kWebkitMask:
+      case CSSPropertyID::kWebkitMaskBoxImage:
+      case CSSPropertyID::kClipPath:
+      case CSSPropertyID::kAliasWebkitClipPath:
+      case CSSPropertyID::kWebkitBoxReflect:
+      case CSSPropertyID::kFilter:
+      case CSSPropertyID::kAliasWebkitFilter:
+      case CSSPropertyID::kBackdropFilter:
+      case CSSPropertyID::kZIndex:
+      case CSSPropertyID::kPosition:
+      case CSSPropertyID::kMixBlendMode:
+      case CSSPropertyID::kIsolation:
         return true;
       default:
         break;
@@ -1002,16 +1002,16 @@
 bool ComputedStyle::HasWillChangeCompositingHint() const {
   for (const auto& property : WillChangeProperties()) {
     switch (property) {
-      case CSSPropertyOpacity:
-      case CSSPropertyTransform:
-      case CSSPropertyAliasWebkitTransform:
-      case CSSPropertyTranslate:
-      case CSSPropertyScale:
-      case CSSPropertyRotate:
-      case CSSPropertyTop:
-      case CSSPropertyLeft:
-      case CSSPropertyBottom:
-      case CSSPropertyRight:
+      case CSSPropertyID::kOpacity:
+      case CSSPropertyID::kTransform:
+      case CSSPropertyID::kAliasWebkitTransform:
+      case CSSPropertyID::kTranslate:
+      case CSSPropertyID::kScale:
+      case CSSPropertyID::kRotate:
+      case CSSPropertyID::kTop:
+      case CSSPropertyID::kLeft:
+      case CSSPropertyID::kBottom:
+      case CSSPropertyID::kRight:
         return true;
       default:
         break;
@@ -1023,14 +1023,14 @@
 bool ComputedStyle::HasWillChangeTransformHint() const {
   for (const auto& property : WillChangeProperties()) {
     switch (property) {
-      case CSSPropertyTransform:
-      case CSSPropertyAliasWebkitTransform:
-      case CSSPropertyPerspective:
-      case CSSPropertyTranslate:
-      case CSSPropertyScale:
-      case CSSPropertyRotate:
-      case CSSPropertyOffsetPath:
-      case CSSPropertyOffsetPosition:
+      case CSSPropertyID::kTransform:
+      case CSSPropertyID::kAliasWebkitTransform:
+      case CSSPropertyID::kPerspective:
+      case CSSPropertyID::kTranslate:
+      case CSSPropertyID::kScale:
+      case CSSPropertyID::kRotate:
+      case CSSPropertyID::kOffsetPath:
+      case CSSPropertyID::kOffsetPosition:
         return true;
       default:
         break;
diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h
index f6bc14cf..1affa6b 100644
--- a/third_party/blink/renderer/core/style/computed_style.h
+++ b/third_party/blink/renderer/core/style/computed_style.h
@@ -1370,7 +1370,7 @@
   // Will-change utility functions.
   bool HasWillChangeCompositingHint() const;
   bool HasWillChangeOpacityHint() const {
-    return WillChangeProperties().Contains(CSSPropertyOpacity);
+    return WillChangeProperties().Contains(CSSPropertyID::kOpacity);
   }
   bool HasWillChangeTransformHint() const;
 
diff --git a/third_party/blink/renderer/core/svg/graphics/filters/svg_filter_builder.cc b/third_party/blink/renderer/core/svg/graphics/filters/svg_filter_builder.cc
index 931f1b5..f514d9efe 100644
--- a/third_party/blink/renderer/core/svg/graphics/filters/svg_filter_builder.cc
+++ b/third_party/blink/renderer/core/svg/graphics/filters/svg_filter_builder.cc
@@ -147,8 +147,8 @@
   // "manually" (used by external SVG files.)
   if (const CSSPropertyValueSet* property_set =
           element.PresentationAttributeStyle()) {
-    const CSSValue* css_value =
-        property_set->GetPropertyCSSValue(CSSPropertyColorInterpolationFilters);
+    const CSSValue* css_value = property_set->GetPropertyCSSValue(
+        CSSPropertyID::kColorInterpolationFilters);
     if (auto* identifier_value = DynamicTo<CSSIdentifierValue>(css_value)) {
       return identifier_value->ConvertTo<EColorInterpolation>();
     }
diff --git a/third_party/blink/renderer/core/svg/properties/svg_animated_property.h b/third_party/blink/renderer/core/svg/properties/svg_animated_property.h
index 74c0613..2c60a2c 100644
--- a/third_party/blink/renderer/core/svg/properties/svg_animated_property.h
+++ b/third_party/blink/renderer/core/svg/properties/svg_animated_property.h
@@ -74,7 +74,7 @@
   }
 
   bool HasPresentationAttributeMapping() const {
-    return CssPropertyId() != CSSPropertyInvalid;
+    return CssPropertyId() != CSSPropertyID::kInvalid;
   }
 
   bool IsSpecified() const;
@@ -88,7 +88,7 @@
   SVGAnimatedPropertyBase(AnimatedPropertyType,
                           SVGElement*,
                           const QualifiedName& attribute_name,
-                          CSSPropertyID = CSSPropertyInvalid,
+                          CSSPropertyID = CSSPropertyID::kInvalid,
                           unsigned initial_value = 0);
 
   static constexpr int kInitialValueStorageBits = 3;
@@ -172,11 +172,12 @@
   }
 
  protected:
-  SVGAnimatedPropertyCommon(SVGElement* context_element,
-                            const QualifiedName& attribute_name,
-                            Property* initial_value,
-                            CSSPropertyID css_property_id = CSSPropertyInvalid,
-                            unsigned initial_value_bits = 0)
+  SVGAnimatedPropertyCommon(
+      SVGElement* context_element,
+      const QualifiedName& attribute_name,
+      Property* initial_value,
+      CSSPropertyID css_property_id = CSSPropertyID::kInvalid,
+      unsigned initial_value_bits = 0)
       : SVGAnimatedPropertyBase(Property::ClassType(),
                                 context_element,
                                 attribute_name,
@@ -217,7 +218,7 @@
   SVGAnimatedProperty(SVGElement* context_element,
                       const QualifiedName& attribute_name,
                       Property* initial_value,
-                      CSSPropertyID css_property_id = CSSPropertyInvalid,
+                      CSSPropertyID css_property_id = CSSPropertyID::kInvalid,
                       unsigned initial_value_bits = 0)
       : SVGAnimatedPropertyCommon<Property>(context_element,
                                             attribute_name,
@@ -238,7 +239,7 @@
       SVGElement* context_element,
       const QualifiedName& attribute_name,
       Property* initial_value,
-      CSSPropertyID css_property_id = CSSPropertyInvalid) {
+      CSSPropertyID css_property_id = CSSPropertyID::kInvalid) {
     return new SVGAnimatedProperty<Property>(context_element, attribute_name,
                                              initial_value, css_property_id);
   }
@@ -283,7 +284,7 @@
   SVGAnimatedProperty(SVGElement* context_element,
                       const QualifiedName& attribute_name,
                       Property* initial_value,
-                      CSSPropertyID css_property_id = CSSPropertyInvalid,
+                      CSSPropertyID css_property_id = CSSPropertyID::kInvalid,
                       unsigned initial_value_bits = 0)
       : SVGAnimatedPropertyCommon<Property>(context_element,
                                             attribute_name,
@@ -317,7 +318,7 @@
       SVGElement* context_element,
       const QualifiedName& attribute_name,
       Property* initial_value,
-      CSSPropertyID css_property_id = CSSPropertyInvalid) {
+      CSSPropertyID css_property_id = CSSPropertyID::kInvalid) {
     return new SVGAnimatedProperty<Property>(context_element, attribute_name,
                                              initial_value, css_property_id);
   }
@@ -326,7 +327,7 @@
   SVGAnimatedProperty(SVGElement* context_element,
                       const QualifiedName& attribute_name,
                       Property* initial_value,
-                      CSSPropertyID css_property_id = CSSPropertyInvalid)
+                      CSSPropertyID css_property_id = CSSPropertyID::kInvalid)
       : SVGAnimatedPropertyCommon<Property>(context_element,
                                             attribute_name,
                                             initial_value,
diff --git a/third_party/blink/renderer/core/svg/svg_animate_element.cc b/third_party/blink/renderer/core/svg/svg_animate_element.cc
index c88b7c7..492f9b42 100644
--- a/third_party/blink/renderer/core/svg/svg_animate_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_animate_element.cc
@@ -102,7 +102,7 @@
                                      Document& document)
     : SVGAnimationElement(tag_name, document),
       type_(kAnimatedUnknown),
-      css_property_id_(CSSPropertyInvalid),
+      css_property_id_(CSSPropertyID::kInvalid),
       from_property_value_type_(kRegularPropertyValue),
       to_property_value_type_(kRegularPropertyValue),
       attribute_type_(kAttributeTypeAuto) {}
@@ -178,13 +178,13 @@
     // http://www.w3.org/TR/SVG/animate.html#AnimationAttributesAndProperties
     if (type_ == kAnimatedTransformList) {
       type_ = kAnimatedUnknown;
-      css_property_id_ = CSSPropertyInvalid;
+      css_property_id_ = CSSPropertyID::kInvalid;
     }
   } else {
     type_ = SVGElement::AnimatedPropertyTypeForCSSAttribute(AttributeName());
     css_property_id_ = type_ != kAnimatedUnknown
                            ? cssPropertyID(AttributeName().LocalName())
-                           : CSSPropertyInvalid;
+                           : CSSPropertyID::kInvalid;
   }
   // Blacklist <script> targets here for now to prevent unpleasantries. This
   // also disallows the perfectly "valid" animation of 'className' on said
@@ -192,7 +192,7 @@
   // this can be removed.
   if (IsSVGScriptElement(*targetElement())) {
     type_ = kAnimatedUnknown;
-    css_property_id_ = CSSPropertyInvalid;
+    css_property_id_ = CSSPropertyID::kInvalid;
   }
   DCHECK(type_ != kAnimatedPoint && type_ != kAnimatedStringList &&
          type_ != kAnimatedTransform && type_ != kAnimatedTransformList);
@@ -201,7 +201,7 @@
 void SVGAnimateElement::ClearTargetProperty() {
   target_property_ = nullptr;
   type_ = kAnimatedUnknown;
-  css_property_id_ = CSSPropertyInvalid;
+  css_property_id_ = CSSPropertyID::kInvalid;
 }
 
 AnimatedPropertyType SVGAnimateElement::GetAnimatedPropertyType() {
diff --git a/third_party/blink/renderer/core/svg/svg_animate_element.h b/third_party/blink/renderer/core/svg/svg_animate_element.h
index 796237f..883aa532 100644
--- a/third_party/blink/renderer/core/svg/svg_animate_element.h
+++ b/third_party/blink/renderer/core/svg/svg_animate_element.h
@@ -123,7 +123,7 @@
 
   bool IsAnimatingSVGDom() const { return target_property_; }
   bool IsAnimatingCSSProperty() const {
-    return css_property_id_ != CSSPropertyInvalid;
+    return css_property_id_ != CSSPropertyID::kInvalid;
   }
 
  private:
diff --git a/third_party/blink/renderer/core/svg/svg_animate_transform_element.cc b/third_party/blink/renderer/core/svg/svg_animate_transform_element.cc
index afa6ead..0e7523e 100644
--- a/third_party/blink/renderer/core/svg/svg_animate_transform_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_animate_transform_element.cc
@@ -56,7 +56,7 @@
   // is better added to the <animate> element since the <animateTransform>
   // element is deprecated and quirky. (We also reject this case via
   // hasValidAttributeType above.)
-  css_property_id_ = CSSPropertyInvalid;
+  css_property_id_ = CSSPropertyID::kInvalid;
 }
 
 SVGPropertyBase* SVGAnimateTransformElement::CreatePropertyForAnimation(
diff --git a/third_party/blink/renderer/core/svg/svg_animated_enumeration_base.h b/third_party/blink/renderer/core/svg/svg_animated_enumeration_base.h
index 52a1220..99e99ff 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_enumeration_base.h
+++ b/third_party/blink/renderer/core/svg/svg_animated_enumeration_base.h
@@ -61,7 +61,7 @@
       : SVGAnimatedProperty<SVGEnumerationBase>(context_element,
                                                 attribute_name,
                                                 initial_value,
-                                                CSSPropertyInvalid,
+                                                CSSPropertyID::kInvalid,
                                                 initial_enum_value) {}
 };
 
diff --git a/third_party/blink/renderer/core/svg/svg_animated_integer.h b/third_party/blink/renderer/core/svg/svg_animated_integer.h
index ab271db..f1890f2a 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_integer.h
+++ b/third_party/blink/renderer/core/svg/svg_animated_integer.h
@@ -67,7 +67,7 @@
       : SVGAnimatedProperty<SVGInteger>(context_element,
                                         attribute_name,
                                         initial_value,
-                                        CSSPropertyInvalid,
+                                        CSSPropertyID::kInvalid,
                                         initial_value->Value()),
         parent_integer_optional_integer_(nullptr) {}
 
diff --git a/third_party/blink/renderer/core/svg/svg_animated_integer_optional_integer.cc b/third_party/blink/renderer/core/svg/svg_animated_integer_optional_integer.cc
index a3460f0..c2271c6 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_integer_optional_integer.cc
+++ b/third_party/blink/renderer/core/svg/svg_animated_integer_optional_integer.cc
@@ -41,7 +41,7 @@
           attribute_name,
           SVGIntegerOptionalInteger::Create(SVGInteger::Create(initial_value),
                                             SVGInteger::Create(initial_value)),
-          CSSPropertyInvalid,
+          CSSPropertyID::kInvalid,
           initial_value),
       first_integer_(SVGAnimatedInteger::Create(context_element,
                                                 attribute_name,
diff --git a/third_party/blink/renderer/core/svg/svg_animated_length.h b/third_party/blink/renderer/core/svg/svg_animated_length.h
index 587c23e..f88c071 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_length.h
+++ b/third_party/blink/renderer/core/svg/svg_animated_length.h
@@ -48,7 +48,7 @@
       const QualifiedName& attribute_name,
       SVGLengthMode mode,
       SVGLength::Initial initial_value,
-      CSSPropertyID css_property_id = CSSPropertyInvalid) {
+      CSSPropertyID css_property_id = CSSPropertyID::kInvalid) {
     return MakeGarbageCollected<SVGAnimatedLength>(
         context_element, attribute_name, mode, initial_value, css_property_id);
   }
@@ -57,7 +57,7 @@
                     const QualifiedName& attribute_name,
                     SVGLengthMode mode,
                     SVGLength::Initial initial_value,
-                    CSSPropertyID css_property_id = CSSPropertyInvalid)
+                    CSSPropertyID css_property_id = CSSPropertyID::kInvalid)
       : SVGAnimatedProperty<SVGLength>(context_element,
                                        attribute_name,
                                        SVGLength::Create(initial_value, mode),
diff --git a/third_party/blink/renderer/core/svg/svg_animated_number.h b/third_party/blink/renderer/core/svg/svg_animated_number.h
index 317ca37..b5f047d 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_number.h
+++ b/third_party/blink/renderer/core/svg/svg_animated_number.h
@@ -68,7 +68,7 @@
             context_element,
             attribute_name,
             initial_value,
-            CSSPropertyInvalid,
+            CSSPropertyID::kInvalid,
             static_cast<unsigned>(initial_value->Value())),
         parent_number_optional_number_(nullptr) {}
 
diff --git a/third_party/blink/renderer/core/svg/svg_animated_number_optional_number.cc b/third_party/blink/renderer/core/svg/svg_animated_number_optional_number.cc
index 8b76f16..843022f 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_number_optional_number.cc
+++ b/third_party/blink/renderer/core/svg/svg_animated_number_optional_number.cc
@@ -30,7 +30,7 @@
           attribute_name,
           SVGNumberOptionalNumber::Create(SVGNumber::Create(initial_value),
                                           SVGNumber::Create(initial_value)),
-          CSSPropertyInvalid,
+          CSSPropertyID::kInvalid,
           static_cast<unsigned>(initial_value)),
       first_number_(SVGAnimatedNumber::Create(context_element,
                                               attribute_name,
diff --git a/third_party/blink/renderer/core/svg/svg_animated_path.h b/third_party/blink/renderer/core/svg/svg_animated_path.h
index 8cb6a9b..abb5013d 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_path.h
+++ b/third_party/blink/renderer/core/svg/svg_animated_path.h
@@ -46,14 +46,14 @@
   static SVGAnimatedPath* Create(
       SVGElement* context_element,
       const QualifiedName& attribute_name,
-      CSSPropertyID css_property_id = CSSPropertyInvalid) {
+      CSSPropertyID css_property_id = CSSPropertyID::kInvalid) {
     return MakeGarbageCollected<SVGAnimatedPath>(
         context_element, attribute_name, css_property_id);
   }
 
   SVGAnimatedPath(SVGElement*,
                   const QualifiedName&,
-                  CSSPropertyID = CSSPropertyInvalid);
+                  CSSPropertyID = CSSPropertyID::kInvalid);
 
   const CSSValue& CssValue() const;
 };
diff --git a/third_party/blink/renderer/core/svg/svg_animated_point_list.h b/third_party/blink/renderer/core/svg/svg_animated_point_list.h
index 26844d94..3ed1e98 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_point_list.h
+++ b/third_party/blink/renderer/core/svg/svg_animated_point_list.h
@@ -46,7 +46,7 @@
       SVGElement* context_element,
       const QualifiedName& attribute_name,
       SVGPointList* initial_value,
-      CSSPropertyID css_property_id = CSSPropertyInvalid) {
+      CSSPropertyID css_property_id = CSSPropertyID::kInvalid) {
     return MakeGarbageCollected<SVGAnimatedPointList>(
         context_element, attribute_name, initial_value, css_property_id);
   }
diff --git a/third_party/blink/renderer/core/svg/svg_animated_transform_list.h b/third_party/blink/renderer/core/svg/svg_animated_transform_list.h
index 31bae64..90cc9df6 100644
--- a/third_party/blink/renderer/core/svg/svg_animated_transform_list.h
+++ b/third_party/blink/renderer/core/svg/svg_animated_transform_list.h
@@ -49,7 +49,7 @@
   static SVGAnimatedTransformList* Create(
       SVGElement* context_element,
       const QualifiedName& attribute_name,
-      CSSPropertyID css_property_id = CSSPropertyInvalid) {
+      CSSPropertyID css_property_id = CSSPropertyID::kInvalid) {
     return MakeGarbageCollected<SVGAnimatedTransformList>(
         context_element, attribute_name, css_property_id);
   }
diff --git a/third_party/blink/renderer/core/svg/svg_circle_element.cc b/third_party/blink/renderer/core/svg/svg_circle_element.cc
index 317133f..de23c75 100644
--- a/third_party/blink/renderer/core/svg/svg_circle_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_circle_element.cc
@@ -31,17 +31,17 @@
                                     svg_names::kCxAttr,
                                     SVGLengthMode::kWidth,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyCx)),
+                                    CSSPropertyID::kCx)),
       cy_(SVGAnimatedLength::Create(this,
                                     svg_names::kCyAttr,
                                     SVGLengthMode::kHeight,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyCy)),
+                                    CSSPropertyID::kCy)),
       r_(SVGAnimatedLength::Create(this,
                                    svg_names::kRAttr,
                                    SVGLengthMode::kOther,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyR)) {
+                                   CSSPropertyID::kR)) {
   AddToPropertyMap(cx_);
   AddToPropertyMap(cy_);
   AddToPropertyMap(r_);
diff --git a/third_party/blink/renderer/core/svg/svg_element.cc b/third_party/blink/renderer/core/svg/svg_element.cc
index accd742b..3f07fa3 100644
--- a/third_party/blink/renderer/core/svg/svg_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_element.cc
@@ -436,7 +436,7 @@
 CSSPropertyID SVGElement::CssPropertyIdForSVGAttributeName(
     const QualifiedName& attr_name) {
   if (!attr_name.NamespaceURI().IsNull())
-    return CSSPropertyInvalid;
+    return CSSPropertyID::kInvalid;
 
   static HashMap<StringImpl*, CSSPropertyID>* property_name_to_id_map = nullptr;
   if (!property_name_to_id_map) {
diff --git a/third_party/blink/renderer/core/svg/svg_ellipse_element.cc b/third_party/blink/renderer/core/svg/svg_ellipse_element.cc
index 8815419a..b9b79dd 100644
--- a/third_party/blink/renderer/core/svg/svg_ellipse_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_ellipse_element.cc
@@ -31,22 +31,22 @@
                                     svg_names::kCxAttr,
                                     SVGLengthMode::kWidth,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyCx)),
+                                    CSSPropertyID::kCx)),
       cy_(SVGAnimatedLength::Create(this,
                                     svg_names::kCyAttr,
                                     SVGLengthMode::kHeight,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyCy)),
+                                    CSSPropertyID::kCy)),
       rx_(SVGAnimatedLength::Create(this,
                                     svg_names::kRxAttr,
                                     SVGLengthMode::kWidth,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyRx)),
+                                    CSSPropertyID::kRx)),
       ry_(SVGAnimatedLength::Create(this,
                                     svg_names::kRyAttr,
                                     SVGLengthMode::kHeight,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyRy)) {
+                                    CSSPropertyID::kRy)) {
   AddToPropertyMap(cx_);
   AddToPropertyMap(cy_);
   AddToPropertyMap(rx_);
diff --git a/third_party/blink/renderer/core/svg/svg_foreign_object_element.cc b/third_party/blink/renderer/core/svg/svg_foreign_object_element.cc
index 96ba4d1..e191e17 100644
--- a/third_party/blink/renderer/core/svg/svg_foreign_object_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_foreign_object_element.cc
@@ -34,22 +34,22 @@
                                    svg_names::kXAttr,
                                    SVGLengthMode::kWidth,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyX)),
+                                   CSSPropertyID::kX)),
       y_(SVGAnimatedLength::Create(this,
                                    svg_names::kYAttr,
                                    SVGLengthMode::kHeight,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyY)),
+                                   CSSPropertyID::kY)),
       width_(SVGAnimatedLength::Create(this,
                                        svg_names::kWidthAttr,
                                        SVGLengthMode::kWidth,
                                        SVGLength::Initial::kUnitlessZero,
-                                       CSSPropertyWidth)),
+                                       CSSPropertyID::kWidth)),
       height_(SVGAnimatedLength::Create(this,
                                         svg_names::kHeightAttr,
                                         SVGLengthMode::kHeight,
                                         SVGLength::Initial::kUnitlessZero,
-                                        CSSPropertyHeight)) {
+                                        CSSPropertyID::kHeight)) {
   AddToPropertyMap(x_);
   AddToPropertyMap(y_);
   AddToPropertyMap(width_);
diff --git a/third_party/blink/renderer/core/svg/svg_gradient_element.cc b/third_party/blink/renderer/core/svg/svg_gradient_element.cc
index 5f29eca..9945ab1 100644
--- a/third_party/blink/renderer/core/svg/svg_gradient_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_gradient_element.cc
@@ -50,7 +50,7 @@
       gradient_transform_(
           SVGAnimatedTransformList::Create(this,
                                            svg_names::kGradientTransformAttr,
-                                           CSSPropertyTransform)),
+                                           CSSPropertyID::kTransform)),
       spread_method_(SVGAnimatedEnumeration<SVGSpreadMethodType>::Create(
           this,
           svg_names::kSpreadMethodAttr,
@@ -95,7 +95,7 @@
     MutableCSSPropertyValueSet* style) {
   if (name == svg_names::kGradientTransformAttr) {
     AddPropertyToPresentationAttributeStyle(
-        style, CSSPropertyTransform,
+        style, CSSPropertyID::kTransform,
         *gradient_transform_->CurrentValue()->CssValue());
     return;
   }
diff --git a/third_party/blink/renderer/core/svg/svg_graphics_element.cc b/third_party/blink/renderer/core/svg/svg_graphics_element.cc
index 79bdae7..1fca3fce 100644
--- a/third_party/blink/renderer/core/svg/svg_graphics_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_graphics_element.cc
@@ -38,7 +38,7 @@
       SVGTests(this),
       transform_(SVGAnimatedTransformList::Create(this,
                                                   svg_names::kTransformAttr,
-                                                  CSSPropertyTransform)) {
+                                                  CSSPropertyID::kTransform)) {
   AddToPropertyMap(transform_);
 }
 
@@ -105,7 +105,8 @@
     MutableCSSPropertyValueSet* style) {
   if (name == svg_names::kTransformAttr) {
     AddPropertyToPresentationAttributeStyle(
-        style, CSSPropertyTransform, *transform_->CurrentValue()->CssValue());
+        style, CSSPropertyID::kTransform,
+        *transform_->CurrentValue()->CssValue());
     return;
   }
   SVGElement::CollectStyleForPresentationAttribute(name, value, style);
diff --git a/third_party/blink/renderer/core/svg/svg_image_element.cc b/third_party/blink/renderer/core/svg/svg_image_element.cc
index fa9224a..18353d38 100644
--- a/third_party/blink/renderer/core/svg/svg_image_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_image_element.cc
@@ -42,22 +42,22 @@
                                    svg_names::kXAttr,
                                    SVGLengthMode::kWidth,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyX)),
+                                   CSSPropertyID::kX)),
       y_(SVGAnimatedLength::Create(this,
                                    svg_names::kYAttr,
                                    SVGLengthMode::kHeight,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyY)),
+                                   CSSPropertyID::kY)),
       width_(SVGAnimatedLength::Create(this,
                                        svg_names::kWidthAttr,
                                        SVGLengthMode::kWidth,
                                        SVGLength::Initial::kUnitlessZero,
-                                       CSSPropertyWidth)),
+                                       CSSPropertyID::kWidth)),
       height_(SVGAnimatedLength::Create(this,
                                         svg_names::kHeightAttr,
                                         SVGLengthMode::kHeight,
                                         SVGLength::Initial::kUnitlessZero,
-                                        CSSPropertyHeight)),
+                                        CSSPropertyID::kHeight)),
       preserve_aspect_ratio_(SVGAnimatedPreserveAspectRatio::Create(
           this,
           svg_names::kPreserveAspectRatioAttr)),
diff --git a/third_party/blink/renderer/core/svg/svg_length.cc b/third_party/blink/renderer/core/svg/svg_length.cc
index e2a7daa..47190404 100644
--- a/third_party/blink/renderer/core/svg/svg_length.cc
+++ b/third_party/blink/renderer/core/svg/svg_length.cc
@@ -153,8 +153,8 @@
   // in the future, plumbing will need to be added.
   CSSParserContext* svg_parser_context = CSSParserContext::Create(
       kSVGAttributeMode, SecureContextMode::kInsecureContext);
-  const CSSValue* parsed =
-      CSSParser::ParseSingleValue(CSSPropertyX, string, svg_parser_context);
+  const CSSValue* parsed = CSSParser::ParseSingleValue(
+      CSSPropertyID::kX, string, svg_parser_context);
   const auto* new_value = DynamicTo<CSSPrimitiveValue>(parsed);
   if (!new_value)
     return SVGParseStatus::kExpectedLength;
diff --git a/third_party/blink/renderer/core/svg/svg_mask_element.cc b/third_party/blink/renderer/core/svg/svg_mask_element.cc
index cac840f..707d049 100644
--- a/third_party/blink/renderer/core/svg/svg_mask_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_mask_element.cc
@@ -37,24 +37,24 @@
                                    svg_names::kXAttr,
                                    SVGLengthMode::kWidth,
                                    SVGLength::Initial::kPercentMinus10,
-                                   CSSPropertyX)),
+                                   CSSPropertyID::kX)),
       y_(SVGAnimatedLength::Create(this,
                                    svg_names::kYAttr,
                                    SVGLengthMode::kHeight,
                                    SVGLength::Initial::kPercentMinus10,
-                                   CSSPropertyY)),
+                                   CSSPropertyID::kY)),
       // Spec: If the width/height attribute is not specified, the effect is as
       // if a value of "120%" were specified.
       width_(SVGAnimatedLength::Create(this,
                                        svg_names::kWidthAttr,
                                        SVGLengthMode::kWidth,
                                        SVGLength::Initial::kPercent120,
-                                       CSSPropertyWidth)),
+                                       CSSPropertyID::kWidth)),
       height_(SVGAnimatedLength::Create(this,
                                         svg_names::kHeightAttr,
                                         SVGLengthMode::kHeight,
                                         SVGLength::Initial::kPercent120,
-                                        CSSPropertyHeight)),
+                                        CSSPropertyID::kHeight)),
       mask_units_(SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>::Create(
           this,
           svg_names::kMaskUnitsAttr,
diff --git a/third_party/blink/renderer/core/svg/svg_path_element.cc b/third_party/blink/renderer/core/svg/svg_path_element.cc
index 8cbca2d9..d8c77bca 100644
--- a/third_party/blink/renderer/core/svg/svg_path_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_path_element.cc
@@ -30,7 +30,8 @@
 
 inline SVGPathElement::SVGPathElement(Document& document)
     : SVGGeometryElement(svg_names::kPathTag, document),
-      path_(SVGAnimatedPath::Create(this, svg_names::kDAttr, CSSPropertyD)) {
+      path_(
+          SVGAnimatedPath::Create(this, svg_names::kDAttr, CSSPropertyID::kD)) {
   AddToPropertyMap(path_);
 }
 
diff --git a/third_party/blink/renderer/core/svg/svg_pattern_element.cc b/third_party/blink/renderer/core/svg/svg_pattern_element.cc
index c165ccb..34f15c2 100644
--- a/third_party/blink/renderer/core/svg/svg_pattern_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_pattern_element.cc
@@ -57,7 +57,7 @@
       pattern_transform_(
           SVGAnimatedTransformList::Create(this,
                                            svg_names::kPatternTransformAttr,
-                                           CSSPropertyTransform)),
+                                           CSSPropertyID::kTransform)),
       pattern_units_(SVGAnimatedEnumeration<SVGUnitTypes::SVGUnitType>::Create(
           this,
           svg_names::kPatternUnitsAttr,
@@ -123,7 +123,7 @@
     MutableCSSPropertyValueSet* style) {
   if (name == svg_names::kPatternTransformAttr) {
     AddPropertyToPresentationAttributeStyle(
-        style, CSSPropertyTransform,
+        style, CSSPropertyID::kTransform,
         *pattern_transform_->CurrentValue()->CssValue());
     return;
   }
diff --git a/third_party/blink/renderer/core/svg/svg_rect_element.cc b/third_party/blink/renderer/core/svg/svg_rect_element.cc
index 9bfa867..69f7458 100644
--- a/third_party/blink/renderer/core/svg/svg_rect_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_rect_element.cc
@@ -31,32 +31,32 @@
                                    svg_names::kXAttr,
                                    SVGLengthMode::kWidth,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyX)),
+                                   CSSPropertyID::kX)),
       y_(SVGAnimatedLength::Create(this,
                                    svg_names::kYAttr,
                                    SVGLengthMode::kHeight,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyY)),
+                                   CSSPropertyID::kY)),
       width_(SVGAnimatedLength::Create(this,
                                        svg_names::kWidthAttr,
                                        SVGLengthMode::kWidth,
                                        SVGLength::Initial::kUnitlessZero,
-                                       CSSPropertyWidth)),
+                                       CSSPropertyID::kWidth)),
       height_(SVGAnimatedLength::Create(this,
                                         svg_names::kHeightAttr,
                                         SVGLengthMode::kHeight,
                                         SVGLength::Initial::kUnitlessZero,
-                                        CSSPropertyHeight)),
+                                        CSSPropertyID::kHeight)),
       rx_(SVGAnimatedLength::Create(this,
                                     svg_names::kRxAttr,
                                     SVGLengthMode::kWidth,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyRx)),
+                                    CSSPropertyID::kRx)),
       ry_(SVGAnimatedLength::Create(this,
                                     svg_names::kRyAttr,
                                     SVGLengthMode::kHeight,
                                     SVGLength::Initial::kUnitlessZero,
-                                    CSSPropertyRy)) {
+                                    CSSPropertyID::kRy)) {
   AddToPropertyMap(x_);
   AddToPropertyMap(y_);
   AddToPropertyMap(width_);
diff --git a/third_party/blink/renderer/core/svg/svg_svg_element.cc b/third_party/blink/renderer/core/svg/svg_svg_element.cc
index 3ee6ae0..f2ce82cb 100644
--- a/third_party/blink/renderer/core/svg/svg_svg_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_svg_element.cc
@@ -68,22 +68,22 @@
                                    svg_names::kXAttr,
                                    SVGLengthMode::kWidth,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyX)),
+                                   CSSPropertyID::kX)),
       y_(SVGAnimatedLength::Create(this,
                                    svg_names::kYAttr,
                                    SVGLengthMode::kHeight,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyY)),
+                                   CSSPropertyID::kY)),
       width_(SVGAnimatedLength::Create(this,
                                        svg_names::kWidthAttr,
                                        SVGLengthMode::kWidth,
                                        SVGLength::Initial::kPercent100,
-                                       CSSPropertyWidth)),
+                                       CSSPropertyID::kWidth)),
       height_(SVGAnimatedLength::Create(this,
                                         svg_names::kHeightAttr,
                                         SVGLengthMode::kHeight,
                                         SVGLength::Initial::kPercent100,
-                                        CSSPropertyHeight)),
+                                        CSSPropertyID::kHeight)),
       time_container_(SMILTimeContainer::Create(*this)),
       translation_(SVGPoint::Create()),
       current_scale_(1) {
diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/third_party/blink/renderer/core/svg/svg_text_content_element.cc
index 4fef450..e2caf17 100644
--- a/third_party/blink/renderer/core/svg/svg_text_content_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_text_content_element.cc
@@ -236,12 +236,12 @@
 
     if (value == preserve_string) {
       UseCounter::Count(GetDocument(), WebFeature::kWhiteSpacePreFromXMLSpace);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWhiteSpace,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kWhiteSpace,
                                               CSSValuePre);
     } else {
       UseCounter::Count(GetDocument(),
                         WebFeature::kWhiteSpaceNowrapFromXMLSpace);
-      AddPropertyToPresentationAttributeStyle(style, CSSPropertyWhiteSpace,
+      AddPropertyToPresentationAttributeStyle(style, CSSPropertyID::kWhiteSpace,
                                               CSSValueNowrap);
     }
   } else {
diff --git a/third_party/blink/renderer/core/svg/svg_use_element.cc b/third_party/blink/renderer/core/svg/svg_use_element.cc
index dfb672c..b80620c 100644
--- a/third_party/blink/renderer/core/svg/svg_use_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_use_element.cc
@@ -55,12 +55,12 @@
                                    svg_names::kXAttr,
                                    SVGLengthMode::kWidth,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyX)),
+                                   CSSPropertyID::kX)),
       y_(SVGAnimatedLength::Create(this,
                                    svg_names::kYAttr,
                                    SVGLengthMode::kHeight,
                                    SVGLength::Initial::kUnitlessZero,
-                                   CSSPropertyY)),
+                                   CSSPropertyID::kY)),
       width_(SVGAnimatedLength::Create(this,
                                        svg_names::kWidthAttr,
                                        SVGLengthMode::kWidth,
diff --git a/third_party/blink/renderer/modules/animationworklet/worklet_animation_test.cc b/third_party/blink/renderer/modules/animationworklet/worklet_animation_test.cc
index 63086fa0..aab162e 100644
--- a/third_party/blink/renderer/modules/animationworklet/worklet_animation_test.cc
+++ b/third_party/blink/renderer/modules/animationworklet/worklet_animation_test.cc
@@ -34,12 +34,12 @@
   StringKeyframeVector frames_mixed_properties;
   Persistent<StringKeyframe> keyframe = StringKeyframe::Create();
   keyframe->SetOffset(0);
-  keyframe->SetCSSPropertyValue(CSSPropertyOpacity, "0",
+  keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "0",
                                 SecureContextMode::kInsecureContext, nullptr);
   frames_mixed_properties.push_back(keyframe);
   keyframe = StringKeyframe::Create();
   keyframe->SetOffset(1);
-  keyframe->SetCSSPropertyValue(CSSPropertyOpacity, "1",
+  keyframe->SetCSSPropertyValue(CSSPropertyID::kOpacity, "1",
                                 SecureContextMode::kInsecureContext, nullptr);
   frames_mixed_properties.push_back(keyframe);
   return StringKeyframeEffectModel::Create(frames_mixed_properties);
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
index 34a8a20..5d79219e 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
@@ -411,7 +411,7 @@
     return;
 
   const CSSValue* filter_value = CSSParser::ParseSingleValue(
-      CSSPropertyFilter, filter_string,
+      CSSPropertyID::kFilter, filter_string,
       CSSParserContext::Create(kHTMLStandardMode,
                                execution_context->GetSecureContextMode()));
 
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
index cdc8740..70c0445 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
@@ -66,7 +66,7 @@
     return Color::kBlack;
   Color color = Color::kBlack;
   CSSParser::ParseColor(
-      color, canvas->InlineStyle()->GetPropertyValue(CSSPropertyColor));
+      color, canvas->InlineStyle()->GetPropertyValue(CSSPropertyID::kColor));
   return color;
 }
 
diff --git a/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.cc
index 5701d2e7..06fde4ec 100644
--- a/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.cc
@@ -294,7 +294,7 @@
   }
 
   CSSParser::ParseValue(
-      style, CSSPropertyFont, new_font, true,
+      style, CSSPropertyID::kFont, new_font, true,
       Host()->GetTopExecutionContext()->GetSecureContextMode());
 
   FontDescription desc =
diff --git a/third_party/blink/renderer/modules/exported/web_ax_object.cc b/third_party/blink/renderer/modules/exported/web_ax_object.cc
index b60cea9..8dfce00 100644
--- a/third_party/blink/renderer/modules/exported/web_ax_object.cc
+++ b/third_party/blink/renderer/modules/exported/web_ax_object.cc
@@ -1079,7 +1079,7 @@
   if (!computed_style)
     return WebString();
 
-  return WebString(CSSProperty::Get(CSSPropertyDisplay)
+  return WebString(CSSProperty::Get(CSSPropertyID::kDisplay)
                        .CSSValueFromComputedStyle(
                            *computed_style, /* layout_object */ nullptr, node,
                            /* allow_visited_style */ false)
diff --git a/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element.cc b/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element.cc
index 02e5a74e..2d67599 100644
--- a/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element.cc
+++ b/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element.cc
@@ -19,7 +19,7 @@
 
 void MediaControlAnimatedArrowContainerElement::AnimatedArrow::HideInternal() {
   DCHECK(!hidden_);
-  svg_container_->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  svg_container_->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
   hidden_ = true;
 }
 
@@ -28,7 +28,7 @@
   hidden_ = false;
 
   if (svg_container_) {
-    svg_container_->RemoveInlineStyleProperty(CSSPropertyDisplay);
+    svg_container_->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
     return;
   }
 
diff --git a/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element_test.cc b/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element_test.cc
index a1d213a..9c83965 100644
--- a/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element_test.cc
+++ b/third_party/blink/renderer/modules/media_controls/elements/media_control_animated_arrow_container_element_test.cc
@@ -46,7 +46,7 @@
  private:
   bool SVGElementHasDisplayValue() {
     return GetElementById("jump")->InlineStyle()->HasProperty(
-        CSSPropertyDisplay);
+        CSSPropertyID::kDisplay);
   }
 
   bool SVGElementIsPresent() { return GetElementById("jump"); }
diff --git a/third_party/blink/renderer/modules/media_controls/elements/media_control_element_base.cc b/third_party/blink/renderer/modules/media_controls/elements/media_control_element_base.cc
index 1a02f56..7d8ba03 100644
--- a/third_party/blink/renderer/modules/media_controls/elements/media_control_element_base.cc
+++ b/third_party/blink/renderer/modules/media_controls/elements/media_control_element_base.cc
@@ -50,9 +50,9 @@
 
 void MediaControlElementBase::UpdateShownState() {
   if (is_wanted_ && does_fit_)
-    element_->RemoveInlineStyleProperty(CSSPropertyDisplay);
+    element_->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
   else
-    element_->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+    element_->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
 }
 
 MediaControlsImpl& MediaControlElementBase::GetMediaControls() const {
diff --git a/third_party/blink/renderer/modules/media_controls/elements/media_control_input_element.cc b/third_party/blink/renderer/modules/media_controls/elements/media_control_input_element.cc
index 633dc0d..47a9f63 100644
--- a/third_party/blink/renderer/modules/media_controls/elements/media_control_input_element.cc
+++ b/third_party/blink/renderer/modules/media_controls/elements/media_control_input_element.cc
@@ -55,7 +55,7 @@
     return nullptr;
 
   // We don't want the button visible within the overflow menu.
-  button->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  button->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
 
   overflow_menu_text_ = HTMLSpanElement::Create(GetDocument());
   overflow_menu_text_->setInnerText(button->GetOverflowMenuString(),
@@ -92,7 +92,7 @@
   // Keeping the element hidden by default. This is setting the style in
   // addition of calling ShouldShowButtonInOverflowMenu() to guarantee that the
   // internal state matches the CSS state.
-  overflow_label_element_->SetInlineStyleProperty(CSSPropertyDisplay,
+  overflow_label_element_->SetInlineStyleProperty(CSSPropertyID::kDisplay,
                                                   CSSValueNone);
   SetOverflowElementIsWanted(false);
 
@@ -202,9 +202,9 @@
     DCHECK(IsHTMLLabelElement(parent));
 
     if (IsWanted() && DoesFit())
-      parent->RemoveInlineStyleProperty(CSSPropertyDisplay);
+      parent->RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
     else
-      parent->SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+      parent->SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
 
     // Don't update the shown state of the element if we want to hide
     // icons on the overflow menu.
diff --git a/third_party/blink/renderer/modules/media_controls/elements/media_control_popup_menu_element.cc b/third_party/blink/renderer/modules/media_controls/elements/media_control_popup_menu_element.cc
index 2c7b671d..3e0f605 100644
--- a/third_party/blink/renderer/modules/media_controls/elements/media_control_popup_menu_element.cc
+++ b/third_party/blink/renderer/modules/media_controls/elements/media_control_popup_menu_element.cc
@@ -227,7 +227,7 @@
   Element* element = ToElement(node);
 
   if (!element->InlineStyle() ||
-      !element->InlineStyle()->HasProperty(CSSPropertyDisplay)) {
+      !element->InlineStyle()->HasProperty(CSSPropertyID::kDisplay)) {
     element->focus();
     last_focused_element_ = element;
     return true;
diff --git a/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc b/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc
index eae4e17..d272889 100644
--- a/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc
+++ b/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc
@@ -1459,7 +1459,7 @@
 
     // We don't care if the hidden element still have animated-* CSS class
     if (inline_style &&
-        inline_style->GetPropertyValue(CSSPropertyDisplay) == "none")
+        inline_style->GetPropertyValue(CSSPropertyID::kDisplay) == "none")
       continue;
 
     AtomicString css_class =
@@ -1825,11 +1825,11 @@
 }
 
 void MediaControlsImpl::HideCursor() {
-  SetInlineStyleProperty(CSSPropertyCursor, "none", false);
+  SetInlineStyleProperty(CSSPropertyID::kCursor, "none", false);
 }
 
 void MediaControlsImpl::ShowCursor() {
-  RemoveInlineStyleProperty(CSSPropertyCursor);
+  RemoveInlineStyleProperty(CSSPropertyID::kCursor);
 }
 
 bool MediaControlsImpl::ContainsRelatedTarget(Event* event) {
diff --git a/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc b/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
index 28c4ad1..2494f00 100644
--- a/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
+++ b/third_party/blink/renderer/modules/media_controls/media_controls_impl_test.cc
@@ -130,15 +130,16 @@
   if (!inline_style)
     return element.getAttribute("class") != "transparent";
 
-  if (inline_style->GetPropertyValue(CSSPropertyDisplay) == "none")
+  if (inline_style->GetPropertyValue(CSSPropertyID::kDisplay) == "none")
     return false;
 
-  if (inline_style->HasProperty(CSSPropertyOpacity) &&
-      inline_style->GetPropertyValue(CSSPropertyOpacity).ToDouble() == 0.0) {
+  if (inline_style->HasProperty(CSSPropertyID::kOpacity) &&
+      inline_style->GetPropertyValue(CSSPropertyID::kOpacity).ToDouble() ==
+          0.0) {
     return false;
   }
 
-  if (inline_style->GetPropertyValue(CSSPropertyVisibility) == "hidden")
+  if (inline_style->GetPropertyValue(CSSPropertyID::kVisibility) == "hidden")
     return false;
 
   if (Element* parent = element.parentElement())
@@ -882,7 +883,7 @@
     const CSSPropertyValueSet* style = MediaControls().InlineStyle();
     if (!style)
       return false;
-    return style->GetPropertyValue(CSSPropertyCursor) == "none";
+    return style->GetPropertyValue(CSSPropertyID::kCursor) == "none";
   }
 };
 
diff --git a/third_party/blink/renderer/modules/media_controls/non_touch/media_controls_non_touch_impl.cc b/third_party/blink/renderer/modules/media_controls/non_touch/media_controls_non_touch_impl.cc
index 882f4f1..c3e5e24 100644
--- a/third_party/blink/renderer/modules/media_controls/non_touch/media_controls_non_touch_impl.cc
+++ b/third_party/blink/renderer/modules/media_controls/non_touch/media_controls_non_touch_impl.cc
@@ -105,11 +105,11 @@
 }
 
 void MediaControlsNonTouchImpl::MaybeShow() {
-  RemoveInlineStyleProperty(CSSPropertyDisplay);
+  RemoveInlineStyleProperty(CSSPropertyID::kDisplay);
 }
 
 void MediaControlsNonTouchImpl::Hide() {
-  SetInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
+  SetInlineStyleProperty(CSSPropertyID::kDisplay, CSSValueNone);
 }
 
 MediaControlsNonTouchMediaEventListener&
diff --git a/tools/metrics/histograms/update_use_counter_css.py b/tools/metrics/histograms/update_use_counter_css.py
index 9331952..7e77492 100755
--- a/tools/metrics/histograms/update_use_counter_css.py
+++ b/tools/metrics/histograms/update_use_counter_css.py
@@ -36,10 +36,10 @@
   with open(path_util.GetInputFile(filename)) as f:
     content = f.readlines()
 
-  # Looking for a pair of lines like "case CSSPropertyGrid:\n return 453;".
-  ENUM_REGEX = re.compile(r"""CSSProperty(.*):  # capture the enum name
+  # Looking for a pair of lines like "case CSSPropertyID::kGrid:\n return 453;".
+  ENUM_REGEX = re.compile(r"""CSSPropertyID::k(\w+):  # capture the enum name
                               \s*return\s*
-                              ([0-9]+)          # capture the id
+                              (\d+);                  # capture the id
                               """, re.VERBOSE)
 
   properties = {}