[webkit-changes] [WebKit/WebKit] c95754: [macOS] Fallback native <select> rendering is inco...

Aditya Keerthi noreply at github.com
Thu Feb 29 18:48:15 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c957547e10debd859d83c780bb0eb548c778c6d8
      https://github.com/WebKit/WebKit/commit/c957547e10debd859d83c780bb0eb548c778c6d8
  Author: Aditya Keerthi <akeerthi at apple.com>
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.mm

  Log Message:
  -----------
  [macOS] Fallback native <select> rendering is incorrect in dark mode
https://bugs.webkit.org/show_bug.cgi?id=270305
rdar://123845293

Reviewed by Abrar Rahman Protyasha and Megan Gardner.

In configurations where `NSPopUpButton` cannot be used for rendering <select>,
a WebKit draws its own control using a gradient. Currently these configurations
include a `zoom` value different than 1, or use of a vertical writing mode.

However, this fallback appearance was never updated for dark mode, resulting
in an incorrect appearance when using a dark color scheme. Fix by inverting
white/black in the gradient interpolation.

* Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.mm:
(WebCore::interpolateGradient):
(WebCore::topGradientInterpolate):
(WebCore::bottomGradientInterpolate):
(WebCore::mainGradientInterpolate):
(WebCore::darkTopGradientInterpolate):
(WebCore::darkBottomGradientInterpolate):
(WebCore::darkMainGradientInterpolate):
(WebCore::drawMenuListBackground):

Canonical link: https://commits.webkit.org/275532@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list