0

Rename NativeTheme::PaintArrowButton extra_param arg

Renaming the ScrollbarArrowExtraParams argument from "arrow" to
"extra_params".

This CL re-lands the parts that don't affect functionality from the
reverted CL:5038216.


Bug: 1495415, 1520638
Change-Id: Ie978e2014b98c10fc5342fb6afdb64dcd21b4e36
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5225879
Reviewed-by: Yaroslav Shalivskyy <yshalivskyy@microsoft.com>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Gaston Rodriguez <gastonr@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1251766}
This commit is contained in:
Gaston Rodriguez Lopez
2024-01-24 23:04:00 +00:00
committed by Chromium LUCI CQ
parent 61c4f0c1dc
commit 87df1670a8
6 changed files with 60 additions and 53 deletions

View File

@ -186,7 +186,7 @@ void NativeThemeAura::PaintArrowButton(
Part direction, Part direction,
State state, State state,
ColorScheme color_scheme, ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const { const ScrollbarArrowExtraParams& extra_params) const {
SkColor bg_color = SkColor bg_color =
GetControlColor(kScrollbarArrowBackground, color_scheme, color_provider); GetControlColor(kScrollbarArrowBackground, color_scheme, color_provider);
// Aura-win uses slightly different arrow colors. // Aura-win uses slightly different arrow colors.
@ -214,20 +214,21 @@ void NativeThemeAura::PaintArrowButton(
case kNumStates: case kNumStates:
break; break;
} }
if (arrow.thumb_color.has_value() && if (extra_params.thumb_color.has_value() &&
arrow.thumb_color.value() == gfx::kPlaceholderColor) { extra_params.thumb_color.value() == gfx::kPlaceholderColor) {
// TODO(crbug.com/1473075): Remove this and the below checks for placeholderColor. // TODO(crbug.com/1473075): Remove this and the below checks for
DLOG(ERROR) << "thumb_color with a placeholderColor value encountered"; // placeholderColor.
DLOG(ERROR) << "thumb_color with a placeholderColor value encountered";
} }
if (arrow.thumb_color.has_value() && if (extra_params.thumb_color.has_value() &&
arrow.thumb_color.value() != gfx::kPlaceholderColor) { extra_params.thumb_color.value() != gfx::kPlaceholderColor) {
// TODO(crbug.com/891944): Adjust thumb_color based on `state`. // TODO(crbug.com/891944): Adjust thumb_color based on `state`.
arrow_color = arrow.thumb_color.value(); arrow_color = extra_params.thumb_color.value();
} }
if (arrow.track_color.has_value() && if (extra_params.track_color.has_value() &&
arrow.track_color.value() != gfx::kPlaceholderColor) { extra_params.track_color.value() != gfx::kPlaceholderColor) {
// TODO(crbug.com/891944): Adjust track_color based on `state`. // TODO(crbug.com/891944): Adjust track_color based on `state`.
bg_color = arrow.track_color.value(); bg_color = extra_params.track_color.value();
} }
DCHECK_NE(arrow_color, gfx::kPlaceholderColor); DCHECK_NE(arrow_color, gfx::kPlaceholderColor);
@ -235,7 +236,7 @@ void NativeThemeAura::PaintArrowButton(
flags.setColor(bg_color); flags.setColor(bg_color);
if (base::FeatureList::IsEnabled(kNewScrollbarArrowRadius) && if (base::FeatureList::IsEnabled(kNewScrollbarArrowRadius) &&
!arrow.needs_rounded_corner) { !extra_params.needs_rounded_corner) {
canvas->drawIRect(gfx::RectToSkIRect(rect), flags); canvas->drawIRect(gfx::RectToSkIRect(rect), flags);
} else { } else {
// TODO(crbug.com/1493088): Also draw rounded corner for left and right // TODO(crbug.com/1493088): Also draw rounded corner for left and right
@ -244,15 +245,15 @@ void NativeThemeAura::PaintArrowButton(
SkScalar lower_left_radius = 0; SkScalar lower_left_radius = 0;
SkScalar upper_right_radius = 0; SkScalar upper_right_radius = 0;
SkScalar lower_right_radius = 0; SkScalar lower_right_radius = 0;
float zoom = arrow.zoom ? arrow.zoom : 1.0; float zoom = extra_params.zoom ? extra_params.zoom : 1.0;
if (direction == kScrollbarUpArrow) { if (direction == kScrollbarUpArrow) {
if (arrow.right_to_left) { if (extra_params.right_to_left) {
upper_left_radius = kScrollbarArrowRadius * zoom; upper_left_radius = kScrollbarArrowRadius * zoom;
} else { } else {
upper_right_radius = kScrollbarArrowRadius * zoom; upper_right_radius = kScrollbarArrowRadius * zoom;
} }
} else if (direction == kScrollbarDownArrow) { } else if (direction == kScrollbarDownArrow) {
if (arrow.right_to_left) { if (extra_params.right_to_left) {
lower_left_radius = kScrollbarArrowRadius * zoom; lower_left_radius = kScrollbarArrowRadius * zoom;
} else { } else {
lower_right_radius = kScrollbarArrowRadius * zoom; lower_right_radius = kScrollbarArrowRadius * zoom;

View File

@ -45,13 +45,14 @@ class NATIVE_THEME_EXPORT NativeThemeAura : public NativeThemeBase {
const gfx::Rect& rect, const gfx::Rect& rect,
const MenuItemExtraParams& menu_item, const MenuItemExtraParams& menu_item,
ColorScheme color_scheme) const override; ColorScheme color_scheme) const override;
void PaintArrowButton(cc::PaintCanvas* gc, void PaintArrowButton(
const ColorProvider* color_provider, cc::PaintCanvas* gc,
const gfx::Rect& rect, const ColorProvider* color_provider,
Part direction, const gfx::Rect& rect,
State state, Part direction,
ColorScheme color_scheme, State state,
const ScrollbarArrowExtraParams& arrow) const override; ColorScheme color_scheme,
const ScrollbarArrowExtraParams& extra_params) const override;
void PaintScrollbarTrack(cc::PaintCanvas* canvas, void PaintScrollbarTrack(cc::PaintCanvas* canvas,
const ColorProvider* color_provider, const ColorProvider* color_provider,
Part part, Part part,

View File

@ -370,13 +370,14 @@ void NativeThemeBase::PaintArrowButton(
Part direction, Part direction,
State state, State state,
ColorScheme color_scheme, ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const { const ScrollbarArrowExtraParams& extra_params) const {
cc::PaintFlags flags; cc::PaintFlags flags;
// Calculate button color. // Calculate button color.
SkScalar track_hsv[3]; SkScalar track_hsv[3];
SkColorToHSV(arrow.track_color.value_or(GetColor(kTrackColor, color_scheme)), SkColorToHSV(
track_hsv); extra_params.track_color.value_or(GetColor(kTrackColor, color_scheme)),
track_hsv);
SkColor button_color = SaturateAndBrighten(track_hsv, 0, 0.2f); SkColor button_color = SaturateAndBrighten(track_hsv, 0, 0.2f);
SkColor background_color = button_color; SkColor background_color = button_color;
if (state == kPressed) { if (state == kPressed) {
@ -448,8 +449,8 @@ void NativeThemeBase::PaintArrowButton(
// TODO(crbug.com/891944): Adjust thumb_color based on `state`. // TODO(crbug.com/891944): Adjust thumb_color based on `state`.
const SkColor arrow_color = const SkColor arrow_color =
arrow.thumb_color.has_value() extra_params.thumb_color.has_value()
? arrow.thumb_color.value() ? extra_params.thumb_color.value()
: GetArrowColor(state, color_scheme, color_provider); : GetArrowColor(state, color_scheme, color_provider);
PaintArrow(canvas, rect, direction, arrow_color); PaintArrow(canvas, rect, direction, arrow_color);
} }

View File

@ -100,13 +100,14 @@ class NATIVE_THEME_EXPORT NativeThemeBase : public NativeTheme {
~NativeThemeBase() override; ~NativeThemeBase() override;
// Draw the arrow. Used by scrollbar and inner spin button. // Draw the arrow. Used by scrollbar and inner spin button.
virtual void PaintArrowButton(cc::PaintCanvas* gc, virtual void PaintArrowButton(
const ColorProvider* color_provider, cc::PaintCanvas* gc,
const gfx::Rect& rect, const ColorProvider* color_provider,
Part direction, const gfx::Rect& rect,
State state, Part direction,
ColorScheme color_scheme, State state,
const ScrollbarArrowExtraParams& arrow) const; ColorScheme color_scheme,
const ScrollbarArrowExtraParams& extra_params) const;
// Paint the scrollbar track. Done before the thumb so that it can contain // Paint the scrollbar track. Done before the thumb so that it can contain
// alpha. // alpha.
virtual void PaintScrollbarTrack( virtual void PaintScrollbarTrack(

View File

@ -47,10 +47,11 @@ void NativeThemeFluent::PaintArrowButton(
Part direction, Part direction,
State state, State state,
ColorScheme color_scheme, ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const { const ScrollbarArrowExtraParams& extra_params) const {
PaintButton(canvas, color_provider, rect, direction, color_scheme, arrow); PaintButton(canvas, color_provider, rect, direction, color_scheme,
extra_params);
PaintArrow(canvas, color_provider, rect, direction, state, color_scheme, PaintArrow(canvas, color_provider, rect, direction, state, color_scheme,
arrow); extra_params);
} }
void NativeThemeFluent::PaintScrollbarTrack( void NativeThemeFluent::PaintScrollbarTrack(
@ -185,11 +186,11 @@ void NativeThemeFluent::PaintButton(
const gfx::Rect& rect, const gfx::Rect& rect,
Part direction, Part direction,
ColorScheme color_scheme, ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const { const ScrollbarArrowExtraParams& extra_params) const {
cc::PaintFlags flags; cc::PaintFlags flags;
const SkColor button_color = const SkColor button_color =
arrow.track_color.has_value() extra_params.track_color.has_value()
? arrow.track_color.value() ? extra_params.track_color.value()
: color_provider->GetColor(kColorWebNativeControlScrollbarTrack); : color_provider->GetColor(kColorWebNativeControlScrollbarTrack);
flags.setColor(button_color); flags.setColor(button_color);
gfx::Rect button_fill_rect = rect; gfx::Rect button_fill_rect = rect;
@ -243,14 +244,14 @@ void NativeThemeFluent::PaintArrow(
Part part, Part part,
State state, State state,
ColorScheme color_scheme, ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const { const ScrollbarArrowExtraParams& extra_params) const {
const ColorId arrow_color_id = const ColorId arrow_color_id =
state == NativeTheme::kPressed || state == NativeTheme::kHovered state == NativeTheme::kPressed || state == NativeTheme::kHovered
? kColorWebNativeControlScrollbarArrowForegroundPressed ? kColorWebNativeControlScrollbarArrowForegroundPressed
: kColorWebNativeControlScrollbarArrowForeground; : kColorWebNativeControlScrollbarArrowForeground;
// TODO(crbug.com/891944): Adjust thumb_color based on `state`. // TODO(crbug.com/891944): Adjust thumb_color based on `state`.
const SkColor arrow_color = arrow.thumb_color.has_value() const SkColor arrow_color = extra_params.thumb_color.has_value()
? arrow.thumb_color.value() ? extra_params.thumb_color.value()
: color_provider->GetColor(arrow_color_id); : color_provider->GetColor(arrow_color_id);
cc::PaintFlags flags; cc::PaintFlags flags;
flags.setColor(arrow_color); flags.setColor(arrow_color);
@ -312,10 +313,11 @@ gfx::RectF NativeThemeFluent::GetArrowRect(const gfx::Rect& rect,
} }
int NativeThemeFluent::GetArrowSideLength(State state) const { int NativeThemeFluent::GetArrowSideLength(State state) const {
if (state == NativeTheme::kPressed) if (state == NativeTheme::kPressed) {
return ArrowIconsAvailable() return ArrowIconsAvailable()
? kFluentScrollbarPressedArrowRectLength ? kFluentScrollbarPressedArrowRectLength
: kFluentScrollbarPressedArrowRectFallbackLength; : kFluentScrollbarPressedArrowRectFallbackLength;
}
return kFluentScrollbarArrowRectLength; return kFluentScrollbarArrowRectLength;
} }

View File

@ -29,13 +29,14 @@ class NATIVE_THEME_EXPORT NativeThemeFluent : public NativeThemeBase {
static NativeThemeFluent* web_instance(); static NativeThemeFluent* web_instance();
void PaintArrowButton(cc::PaintCanvas* canvas, void PaintArrowButton(
const ColorProvider* color_provider, cc::PaintCanvas* canvas,
const gfx::Rect& rect, const ColorProvider* color_provider,
Part direction, const gfx::Rect& rect,
State state, Part direction,
ColorScheme color_scheme, State state,
const ScrollbarArrowExtraParams& arrow) const override; ColorScheme color_scheme,
const ScrollbarArrowExtraParams& extra_params) const override;
void PaintScrollbarTrack(cc::PaintCanvas* canvas, void PaintScrollbarTrack(cc::PaintCanvas* canvas,
const ColorProvider* color_provider, const ColorProvider* color_provider,
Part part, Part part,
@ -69,14 +70,14 @@ class NATIVE_THEME_EXPORT NativeThemeFluent : public NativeThemeBase {
const gfx::Rect& rect, const gfx::Rect& rect,
Part direction, Part direction,
ColorScheme color_scheme, ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const; const ScrollbarArrowExtraParams& extra_params) const;
void PaintArrow(cc::PaintCanvas* canvas, void PaintArrow(cc::PaintCanvas* canvas,
const ColorProvider* color_provider, const ColorProvider* color_provider,
const gfx::Rect& rect, const gfx::Rect& rect,
Part part, Part part,
State state, State state,
ColorScheme color_scheme, ColorScheme color_scheme,
const ScrollbarArrowExtraParams& arrow) const; const ScrollbarArrowExtraParams& extra_params) const;
// Calculates and returns the position and dimensions of the scaled arrow rect // Calculates and returns the position and dimensions of the scaled arrow rect
// within the scrollbar button rect. The goal is to keep the arrow in the // within the scrollbar button rect. The goal is to keep the arrow in the