Bug 258725

Summary: Stop resolving border's current color to some hardcoded value
Product: WebKit Reporter: Vitaly Dyackhov <vitaly>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ahmad.saleem792, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=261847
Bug Depends on:    
Bug Blocks: 261847    

Description Vitaly Dyackhov 2023-06-30 06:31:12 PDT
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.
Comment 1 Vitaly Dyackhov 2023-06-30 06:35:45 PDT
Pull request: https://github.com/WebKit/WebKit/pull/15447
Comment 2 Radar WebKit Bug Importer 2023-07-07 06:32:16 PDT
<rdar://problem/111905474>
Comment 3 Ahmad Saleem 2023-07-14 12:06:07 PDT
*** Bug 256528 has been marked as a duplicate of this bug. ***
Comment 4 EWS 2023-07-18 11:12:53 PDT
Committed 266134@main (0aa032e26bbd): <https://commits.webkit.org/266134@main>

Reviewed commits have been landed. Closing PR #15447 and removing active labels.
Comment 5 Simon Fraser (smfr) 2023-07-18 13:26:32 PDT
Do we understand why this code was added in the first place?
Comment 6 Simon Fraser (smfr) 2023-09-20 19:48:23 PDT
This caused https://bugs.webkit.org/show_bug.cgi?id=261847