⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 281237 in webkit


Ignore:
Timestamp:
Aug 19, 2021, 8:46:32 AM (5 years ago)
Author:
Simon Fraser
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:
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r281231 r281237  
     12021-08-19  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Use an enum for the forVisitedLink argument to BuilderState::colorFromPrimitiveValue()
     4        https://bugs.webkit.org/show_bug.cgi?id=229224
     5
     6        Reviewed by Alex Christensen.
     7
     8        Convert the bool argument to an enum class.
     9
     10        * css/makeprop.pl:
     11        (colorFromPrimitiveValue):
     12        * style/StyleBuilderCustom.h:
     13        (WebCore::Style::BuilderCustom::applyValueCaretColor):
     14        (WebCore::Style::BuilderCustom::applyValueStrokeColor):
     15        * style/StyleBuilderState.cpp:
     16        (WebCore::Style::BuilderState::colorFromPrimitiveValue const):
     17        * style/StyleBuilderState.h:
     18
    1192021-08-19  Youenn Fablet  <youenn@apple.com>
    220
  • trunk/Source/WebCore/css/makeprop.pl

    r279044 r281237  
    10141014  my $forVisitedLink = @_ ? shift : NOT_FOR_VISITED_LINK;
    10151015
    1016   return "builderState.colorFromPrimitiveValue(" . $primitiveValue . ", /* forVisitedLink */ " . ($forVisitedLink ? "true" : "false") . ")";
     1016  return "builderState.colorFromPrimitiveValue(" . $primitiveValue . ", ForVisitedLink::" . ($forVisitedLink ? "Yes" : "No") . ")";
    10171017}
    10181018
  • trunk/Source/WebCore/style/StyleBuilderCustom.h

    r279050 r281237  
    826826            builderState.style().setHasAutoCaretColor();
    827827        else
    828             builderState.style().setCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false));
     828            builderState.style().setCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::No));
    829829    }
    830830    if (builderState.applyPropertyToVisitedLinkStyle()) {
    … …  
    832832            builderState.style().setHasVisitedLinkAutoCaretColor();
    833833        else
    834             builderState.style().setVisitedLinkCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true));
     834            builderState.style().setVisitedLinkCaretColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::Yes));
    835835    }
    836836}
    … …  
    20252025    auto& primitiveValue = downcast<CSSPrimitiveValue>(value);
    20262026    if (builderState.applyPropertyToRegularStyle())
    2027         builderState.style().setStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ false));
     2027        builderState.style().setStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::No));
    20282028    if (builderState.applyPropertyToVisitedLinkStyle())
    2029         builderState.style().setVisitedLinkStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, /* forVisitedLink */ true));
     2029        builderState.style().setVisitedLinkStrokeColor(builderState.colorFromPrimitiveValue(primitiveValue, ForVisitedLink::Yes));
    20302030    builderState.style().setHasExplicitlySetStrokeColor(true);
    20312031}
  • trunk/Source/WebCore/style/StyleBuilderState.cpp

    r279050 r281237  
    291291}
    292292
    293 Color BuilderState::colorFromPrimitiveValue(const CSSPrimitiveValue& value, bool forVisitedLink) const
     293Color BuilderState::colorFromPrimitiveValue(const CSSPrimitiveValue& value, ForVisitedLink forVisitedLink) const
    294294{
    295295    if (value.isRGBColor())
    … …  
    301301        return document().textColor();
    302302    case CSSValueWebkitLink:
    303         return (element() && element()->isLink() && forVisitedLink) ? document().visitedLinkColor() : document().linkColor();
     303        return (element() && element()->isLink() && forVisitedLink == ForVisitedLink::Yes) ? document().visitedLinkColor() : document().linkColor();
    304304    case CSSValueWebkitActivelink:
    305305        return document().activeLinkColor();
  • trunk/Source/WebCore/style/StyleBuilderState.h

    r266683 r281237  
    4444
    4545void maybeUpdateFontForLetterSpacing(BuilderState&, CSSValue&);
     46
     47enum class ForVisitedLink : bool {
     48    No,
     49    Yes
     50};
    4651
    4752struct BuilderContext {
    … …  
    9196
    9297    static bool isColorFromPrimitiveValueDerivedFromElement(const CSSPrimitiveValue&);
    93     Color colorFromPrimitiveValue(const CSSPrimitiveValue&, bool forVisitedLink = false) const;
     98    Color colorFromPrimitiveValue(const CSSPrimitiveValue&, ForVisitedLink = ForVisitedLink::No) const;
    9499    // FIXME: Remove. 'currentcolor' should be resolved at use time. All call sites are broken with inheritance.
    95100    Color colorFromPrimitiveValueWithResolvedCurrentColor(const CSSPrimitiveValue&) const;
Note: See TracChangeset for help on using the changeset viewer.