In `Color RenderStyle::colorResolvingCurrentColor(CSSPropertyID colorProperty, bool visitedLink) const` we currently return some hardcoded value for border colors: ``` auto result = unresolvedColorForProperty(colorProperty, visitedLink); if (result.isCurrentColor()) { auto borderStyle = [&] { switch (colorProperty) { case CSSPropertyBorderLeftColor: return borderLeftStyle(); case CSSPropertyBorderRightColor: return borderRightStyle(); case CSSPropertyBorderTopColor: return borderTopStyle(); case CSSPropertyBorderBottomColor: return borderBottomStyle(); default: return BorderStyle::None; } }(); if (!visitedLink && (borderStyle == BorderStyle::Inset || borderStyle == BorderStyle::Outset || borderStyle == BorderStyle::Ridge || borderStyle == BorderStyle::Groove)) return { SRGBA<uint8_t> { 238, 238, 238 } }; return visitedLink ? visitedLinkColor() : color(); } ``` I can't think of any good reason for doing this. The result can be unexpected for web developers.
Pull request: https://github.com/WebKit/WebKit/pull/15447
<rdar://problem/111905474>
*** Bug 256528 has been marked as a duplicate of this bug. ***
Committed 266134@main (0aa032e26bbd): <https://commits.webkit.org/266134@main> Reviewed commits have been landed. Closing PR #15447 and removing active labels.
Do we understand why this code was added in the first place?
This caused https://bugs.webkit.org/show_bug.cgi?id=261847