[webkit-changes] [WebKit/WebKit] a44970: REGRESSION(266134 at main): 3D border-style have very...
Tim Nguyen
noreply at github.com
Thu Sep 21 11:20:53 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a4497016d608d8288e1921042b2ec71e6f538fe1
https://github.com/WebKit/WebKit/commit/a4497016d608d8288e1921042b2ec71e6f538fe1
Author: Tim Nguyen <ntim at apple.com>
Date: 2023-09-21 (Thu, 21 Sep 2023)
Changed paths:
M Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp
M Source/WebCore/rendering/BorderPainter.cpp
Log Message:
-----------
REGRESSION(266134 at main): 3D border-style have very low contrast with very dark border-color
https://bugs.webkit.org/show_bug.cgi?id=261847
rdar://115812372
Reviewed by Darin Adler.
266134 at main made 3D border styles like groove, ridge, inset, and outset honor the border-color instead of hardcoding a gray color.
Unfortunately, when a dark border-color is used, there is very little contrast between the light border and the dark border.
To fix this, we follow Firefox's algorithm of special casing very dark colors by contrasting 2 lightened versions of the border-color.
See Firefox's algorithm for reference:
https://searchfox.org/mozilla-central/rev/077fc34d03b85b09add26b5f99f1a3a3a72c8720/gfx/wr/webrender/res/cs_border_segment.glsl#112-132
* Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp:
(WebCore::Display::BorderPainter::calculateBorderStyleColor):
* Source/WebCore/rendering/BorderPainter.cpp:
(WebCore::BorderPainter::calculateBorderStyleColor):
Canonical link: https://commits.webkit.org/268265@main
More information about the webkit-changes
mailing list