Commit c6246ceb authored by Sam Sebree's avatar Sam Sebree Committed by Commit Bot

[Controls Refresh] Adds dark mode styling for scrollbars

This change uses the native_theme and scrollbar_theme properties to set
correct dark mode styling for scrollbars.

Bug: 929098
Change-Id: Ia06047ca3ec8571cf25acaf8de4731f1ccc16459
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2148283Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: default avatarMason Freed <masonfreed@chromium.org>
Commit-Queue: Sam Sebree <sasebree@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#760579}
parent f51c71fd
......@@ -236,8 +236,8 @@ CocoaScrollbarPainter::Params GetPaintParams(const Scrollbar& scrollbar,
if (scrollbar.IsLeftSideVerticalScrollbar())
params.orientation = CocoaScrollbarPainter::Orientation::kVerticalOnLeft;
params.dark_mode = scrollbar.UsedColorScheme() == WebColorScheme::kDark;
params.overlay = overlay;
// Only enable dark mode for overlay scrollbars (for now).
if (overlay)
params.dark_mode = scrollbar.GetScrollbarOverlayColorTheme() ==
kScrollbarOverlayColorThemeLight;
......
<!DOCTYPE html>
<meta name="color-scheme" content="dark">
<body>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<script>
window.scrollBy(0, 100);
</script>
</body>
\ No newline at end of file
<!DOCTYPE html>
<meta name="color-scheme" content="dark">
<body>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
</body>
\ No newline at end of file
......@@ -144,7 +144,9 @@ void NativeThemeAura::PaintArrowButton(
State state,
ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const {
SkColor bg_color = kTrackColor;
SkColor bg_color = color_scheme == ui::NativeTheme::ColorScheme::kDark
? SkColorSetRGB(0x42, 0x42, 0x42)
: kTrackColor;
// Aura-win uses slightly different arrow colors.
SkColor arrow_color = gfx::kPlaceholderColor;
switch (state) {
......@@ -152,14 +154,22 @@ void NativeThemeAura::PaintArrowButton(
arrow_color = GetArrowColor(state, color_scheme);
break;
case kHovered:
bg_color = SkColorSetRGB(0xD2, 0xD2, 0xD2);
bg_color = color_scheme == ui::NativeTheme::ColorScheme::kDark
? SkColorSetRGB(0x4F, 0x4F, 0x4F)
: SkColorSetRGB(0xD2, 0xD2, 0xD2);
FALLTHROUGH;
case kNormal:
arrow_color = SkColorSetRGB(0x50, 0x50, 0x50);
arrow_color = color_scheme == ui::NativeTheme::ColorScheme::kDark
? SK_ColorWHITE
: SkColorSetRGB(0x50, 0x50, 0x50);
break;
case kPressed:
bg_color = SkColorSetRGB(0x78, 0x78, 0x78);
arrow_color = SK_ColorWHITE;
bg_color = color_scheme == ui::NativeTheme::ColorScheme::kDark
? SkColorSetRGB(0xB1, 0xB1, 0xB1)
: SkColorSetRGB(0x78, 0x78, 0x78);
arrow_color = color_scheme == ui::NativeTheme::ColorScheme::kDark
? SK_ColorBLACK
: SK_ColorWHITE;
break;
case kNumStates:
break;
......@@ -209,7 +219,10 @@ void NativeThemeAura::PaintScrollbarTrack(
// Overlay Scrollbar should never paint a scrollbar track.
DCHECK(!use_overlay_scrollbars_);
cc::PaintFlags flags;
flags.setColor(kTrackColor);
SkColor track_color = color_scheme == ui::NativeTheme::ColorScheme::kDark
? SkColorSetRGB(0x42, 0x42, 0x42)
: kTrackColor;
flags.setColor(track_color);
canvas->drawIRect(gfx::RectToSkIRect(rect), flags);
}
......@@ -313,7 +326,9 @@ void NativeThemeAura::PaintScrollbarThumb(cc::PaintCanvas* canvas,
else
thumb_rect.Inset(extra_padding, kThumbPadding);
thumb_color = SK_ColorBLACK;
thumb_color = color_scheme == ui::NativeTheme::ColorScheme::kDark
? SK_ColorWHITE
: SK_ColorBLACK;
}
cc::PaintFlags flags;
......
......@@ -43,7 +43,7 @@ const int kSliderThumbHeight = 21;
constexpr SkColor kThumbActiveColor[2] = {SkColorSetRGB(0xF4, 0xF4, 0xF4),
gfx::kPlaceholderColor};
constexpr SkColor kThumbInactiveColor[2] = {SkColorSetRGB(0xEA, 0xEA, 0xEA),
gfx::kPlaceholderColor};
SK_ColorWHITE};
constexpr SkColor kTrackColor[2] = {SkColorSetRGB(0xD3, 0xD3, 0xD3),
gfx::kPlaceholderColor};
constexpr SkColor kSliderTrackBackgroundColor[2] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment