Title: [281237] trunk/Source/WebCore
Revision
281237
Author
[email protected]
Date
2021-08-19 08:46:32 -0700 (Thu, 19 Aug 2021)

Log Message

Use an enum for the forVisitedLink argument to BuilderState::colorFromPrimitiveValue()
https://bugs.webkit.org/show_bug.cgi?id=229224

Reviewed by Alex Christensen.

Convert the bool argument to an enum class.

* css/makeprop.pl:
(colorFromPrimitiveValue):
* style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueCaretColor):
(WebCore::Style::BuilderCustom::applyValueStrokeColor):
* style/StyleBuilderState.cpp:
(WebCore::Style::BuilderState::colorFromPrimitiveValue const):
* style/StyleBuilderState.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (281236 => 281237)


--- trunk/Source/WebCore/ChangeLog	2021-08-19 15:32:57 UTC (rev 281236)
+++ trunk/Source/WebCore/ChangeLog	2021-08-19 15:46:32 UTC (rev 281237)
@@ -1,3 +1,21 @@
+2021-08-19  Simon Fraser  <[email protected]>
+
+        Use an enum for the forVisitedLink argument to BuilderState::colorFromPrimitiveValue()
+        https://bugs.webkit.org/show_bug.cgi?id=229224
+
+        Reviewed by Alex Christensen.
+
+        Convert the bool argument to an enum class.
+
+        * css/makeprop.pl:
+        (colorFromPrimitiveValue):
+        * style/StyleBuilderCustom.h:
+        (WebCore::Style::BuilderCustom::applyValueCaretColor):
+        (WebCore::Style::BuilderCustom::applyValueStrokeColor):
+        * style/StyleBuilderState.cpp:
+        (WebCore::Style::BuilderState::colorFromPrimitiveValue const):
+        * style/StyleBuilderState.h:
+
 2021-08-19  Youenn Fablet  <[email protected]>
 
         RTCPeerConnection::m_transceiverSet does not need to be allocated separately from its RTCPeerConnection

Modified: trunk/Source/WebCore/css/makeprop.pl (281236 => 281237)


--- trunk/Source/WebCore/css/makeprop.pl	2021-08-19 15:32:57 UTC (rev 281236)
+++ trunk/Source/WebCore/css/makeprop.pl	2021-08-19 15:46:32 UTC (rev 281237)
@@ -1013,7 +1013,7 @@
   my $primitiveValue = shift;
   my $forVisitedLink = @_ ? shift : NOT_FOR_VISITED_LINK;
 
-  return "builderState.colorFromPrimitiveValue(" . $primitiveValue . ", /* forVisitedLink */ " . ($forVisitedLink ? "true" : "false") . ")";
+  return "builderState.colorFromPrimitiveValue(" . $primitiveValue . ", ForVisitedLink::" . ($forVisitedLink ? "Yes" : "No") . ")";
 }
 
 use constant {

Modified: trunk/Source/WebCore/style/StyleBuilderCustom.h (281236 => 281237)


--- trunk/Source/WebCore/style/StyleBuilderCustom.h	2021-08-19 15:32:57 UTC (rev 281236)
+++ trunk/Source/WebCore/style/StyleBuilderCustom.h	2021-08-19 15:46:32 UTC (rev 281237)
@@ -825,13 +825,13 @@
         if (primitiveValue.valueID() == CSSValueAuto)
             builderState.style().setHasAutoCaretColor();
         else
-            builderState.style().setCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false));
+            builderState.style().setCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::No));
     }
     if (builderState.applyPropertyToVisitedLinkStyle()) {
         if (primitiveValue.valueID() == CSSValueAuto)
             builderState.style().setHasVisitedLinkAutoCaretColor();
         else
-            builderState.style().setVisitedLinkCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true));
+            builderState.style().setVisitedLinkCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::Yes));
     }
 }
 
@@ -2024,9 +2024,9 @@
 {
     auto& primitiveValue = downcast<CSSPrimitiveValue>(value);
     if (builderState.applyPropertyToRegularStyle())
-        builderState.style().setStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false));
+        builderState.style().setStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::No));
     if (builderState.applyPropertyToVisitedLinkStyle())
-        builderState.style().setVisitedLinkStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true));
+        builderState.style().setVisitedLinkStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::Yes));
     builderState.style().setHasExplicitlySetStrokeColor(true);
 }
 

Modified: trunk/Source/WebCore/style/StyleBuilderState.cpp (281236 => 281237)


--- trunk/Source/WebCore/style/StyleBuilderState.cpp	2021-08-19 15:32:57 UTC (rev 281236)
+++ trunk/Source/WebCore/style/StyleBuilderState.cpp	2021-08-19 15:46:32 UTC (rev 281237)
@@ -290,7 +290,7 @@
     }
 }
 
-Color BuilderState::colorFromPrimitiveValue(const CSSPrimitiveValue& value, bool forVisitedLink) const
+Color BuilderState::colorFromPrimitiveValue(const CSSPrimitiveValue& value, ForVisitedLink forVisitedLink) const
 {
     if (value.isRGBColor())
         return value.color();
@@ -300,7 +300,7 @@
     case CSSValueWebkitText:
         return document().textColor();
     case CSSValueWebkitLink:
-        return (element() && element()->isLink() && forVisitedLink) ? document().visitedLinkColor() : document().linkColor();
+        return (element() && element()->isLink() && forVisitedLink == ForVisitedLink::Yes) ? document().visitedLinkColor() : document().linkColor();
     case CSSValueWebkitActivelink:
         return document().activeLinkColor();
     case CSSValueWebkitFocusRingColor:

Modified: trunk/Source/WebCore/style/StyleBuilderState.h (281236 => 281237)


--- trunk/Source/WebCore/style/StyleBuilderState.h	2021-08-19 15:32:57 UTC (rev 281236)
+++ trunk/Source/WebCore/style/StyleBuilderState.h	2021-08-19 15:46:32 UTC (rev 281237)
@@ -44,6 +44,11 @@
 
 void maybeUpdateFontForLetterSpacing(BuilderState&, CSSValue&);
 
+enum class ForVisitedLink : bool {
+    No,
+    Yes
+};
+
 struct BuilderContext {
     Ref<const Document> document;
     const RenderStyle& parentStyle;
@@ -90,7 +95,7 @@
     bool createFilterOperations(const CSSValue&, FilterOperations& outOperations);
 
     static bool isColorFromPrimitiveValueDerivedFromElement(const CSSPrimitiveValue&);
-    Color colorFromPrimitiveValue(const CSSPrimitiveValue&, bool forVisitedLink = false) const;
+    Color colorFromPrimitiveValue(const CSSPrimitiveValue&, ForVisitedLink = ForVisitedLink::No) const;
     // FIXME: Remove. 'currentcolor' should be resolved at use time. All call sites are broken with inheritance.
     Color colorFromPrimitiveValueWithResolvedCurrentColor(const CSSPrimitiveValue&) const;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to