Commit ed15df01 authored by Ionel Popescu's avatar Ionel Popescu Committed by Chromium LUCI CQ

Remove hover effects for controls on Android.

This CL removes the hover effects for controls on Android since it
isn't really applicable for touch screen devices.

In the future we could further refine the behavior for desktop that
have touch support to differentiate based on the available pointing
devices, but since we haven't received any feedback I will not update
the behavior for now.

Bug: 1160076
Change-Id: Id1fe4b9e2c9dfc226c7183584cc44fa23df76661
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622840Reviewed-by: default avatarYu Han <yuzhehan@chromium.org>
Reviewed-by: default avatarElly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: default avatarMason Freed <masonfreed@chromium.org>
Commit-Queue: Ionel Popescu <iopopesc@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#842654}
parent cff5155b
...@@ -55,6 +55,90 @@ void NativeThemeAndroid::AdjustCheckboxRadioRectForPadding(SkRect* rect) const { ...@@ -55,6 +55,90 @@ void NativeThemeAndroid::AdjustCheckboxRadioRectForPadding(SkRect* rect) const {
static_cast<int>(rect->bottom()) - 1); static_cast<int>(rect->bottom()) - 1);
} }
SkColor NativeThemeAndroid::ControlsAccentColorForState(
State state,
ColorScheme color_scheme) const {
ControlColorId color_id;
if (state == kPressed) {
color_id = kPressedAccent;
} else if (state == kDisabled) {
color_id = kDisabledAccent;
} else {
color_id = kAccent;
}
return GetControlColor(color_id, color_scheme);
}
SkColor NativeThemeAndroid::ControlsSliderColorForState(
State state,
ColorScheme color_scheme) const {
ControlColorId color_id;
if (state == kPressed) {
color_id = kPressedSlider;
} else if (state == kDisabled) {
color_id = kDisabledSlider;
} else {
color_id = kSlider;
}
return GetControlColor(color_id, color_scheme);
}
SkColor NativeThemeAndroid::ControlsBorderColorForState(
State state,
ColorScheme color_scheme) const {
ControlColorId color_id;
if (state == kPressed) {
color_id = kPressedBorder;
} else if (state == kDisabled) {
color_id = kDisabledBorder;
} else {
color_id = kBorder;
}
return GetControlColor(color_id, color_scheme);
}
SkColor NativeThemeAndroid::ButtonBorderColorForState(
State state,
ColorScheme color_scheme) const {
ControlColorId color_id;
if (state == kPressed) {
color_id = kButtonPressedBorder;
} else if (state == kDisabled) {
color_id = kButtonDisabledBorder;
} else {
color_id = kButtonBorder;
}
return GetControlColor(color_id, color_scheme);
}
SkColor NativeThemeAndroid::ControlsFillColorForState(
State state,
ColorScheme color_scheme) const {
ControlColorId color_id;
if (state == kPressed) {
color_id = kPressedFill;
} else if (state == kDisabled) {
color_id = kDisabledFill;
} else {
color_id = kFill;
}
return GetControlColor(color_id, color_scheme);
}
SkColor NativeThemeAndroid::ButtonFillColorForState(
State state,
ColorScheme color_scheme) const {
ControlColorId color_id;
if (state == kPressed) {
color_id = kButtonPressedFill;
} else if (state == kDisabled) {
color_id = kButtonDisabledFill;
} else {
color_id = kButtonFill;
}
return GetControlColor(color_id, color_scheme);
}
NativeThemeAndroid::NativeThemeAndroid() { NativeThemeAndroid::NativeThemeAndroid() {
} }
......
...@@ -28,6 +28,20 @@ class NativeThemeAndroid : public NativeThemeBase { ...@@ -28,6 +28,20 @@ class NativeThemeAndroid : public NativeThemeBase {
// NativeThemeBase: // NativeThemeBase:
void AdjustCheckboxRadioRectForPadding(SkRect* rect) const override; void AdjustCheckboxRadioRectForPadding(SkRect* rect) const override;
// TODO(crbug.com/1165342): Refine hover state behavior on available pointing
// devices.
SkColor ControlsAccentColorForState(State state,
ColorScheme color_scheme) const override;
SkColor ControlsSliderColorForState(State state,
ColorScheme color_scheme) const override;
SkColor ButtonBorderColorForState(State state,
ColorScheme color_scheme) const override;
SkColor ButtonFillColorForState(State state,
ColorScheme color_scheme) const override;
SkColor ControlsBorderColorForState(State state,
ColorScheme color_scheme) const override;
SkColor ControlsFillColorForState(State state,
ColorScheme color_scheme) const override;
private: private:
NativeThemeAndroid(); NativeThemeAndroid();
......
...@@ -234,6 +234,18 @@ class NATIVE_THEME_EXPORT NativeThemeBase : public NativeTheme { ...@@ -234,6 +234,18 @@ class NATIVE_THEME_EXPORT NativeThemeBase : public NativeTheme {
SkColor GetArrowColor(State state, ColorScheme color_scheme) const; SkColor GetArrowColor(State state, ColorScheme color_scheme) const;
SkColor GetControlColor(ControlColorId color_id, SkColor GetControlColor(ControlColorId color_id,
ColorScheme color_scheme) const; ColorScheme color_scheme) const;
virtual SkColor ControlsAccentColorForState(State state,
ColorScheme color_scheme) const;
virtual SkColor ControlsSliderColorForState(State state,
ColorScheme color_scheme) const;
virtual SkColor ButtonBorderColorForState(State state,
ColorScheme color_scheme) const;
virtual SkColor ButtonFillColorForState(State state,
ColorScheme color_scheme) const;
virtual SkColor ControlsBorderColorForState(State state,
ColorScheme color_scheme) const;
virtual SkColor ControlsFillColorForState(State state,
ColorScheme color_scheme) const;
int scrollbar_width_ = 15; int scrollbar_width_ = 15;
...@@ -268,19 +280,8 @@ class NATIVE_THEME_EXPORT NativeThemeBase : public NativeTheme { ...@@ -268,19 +280,8 @@ class NATIVE_THEME_EXPORT NativeThemeBase : public NativeTheme {
const SkScalar border_radius, const SkScalar border_radius,
ColorScheme color_scheme) const; ColorScheme color_scheme) const;
SkColor ButtonBorderColorForState(State state,
ColorScheme color_scheme) const;
SkColor ButtonFillColorForState(State state, ColorScheme color_scheme) const;
SkColor ControlsAccentColorForState(State state,
ColorScheme color_scheme) const;
SkColor ControlsBorderColorForState(State state,
ColorScheme color_scheme) const;
SkColor ControlsFillColorForState(State state,
ColorScheme color_scheme) const;
SkColor ControlsBackgroundColorForState(State state, SkColor ControlsBackgroundColorForState(State state,
ColorScheme color_scheme) const; ColorScheme color_scheme) const;
SkColor ControlsSliderColorForState(State state,
ColorScheme color_scheme) const;
SkColor GetHighContrastControlColor(ControlColorId color_id, SkColor GetHighContrastControlColor(ControlColorId color_id,
ColorScheme color_scheme) const; ColorScheme color_scheme) const;
SkColor GetDarkModeControlColor(ControlColorId color_id) const; SkColor GetDarkModeControlColor(ControlColorId color_id) const;
......
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