diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-29 22:15:34 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-29 22:15:34 +0000 |
commit | cecf1d365910d8a22511e703b741bf52be56c740 (patch) | |
tree | cec7e00b6d666e772b3c71160e0ebde3d8a7bb3a | |
parent | 7f0affcba4e8b31dc2235a86a6014bf195c0df08 (diff) | |
download | chromium_src-cecf1d365910d8a22511e703b741bf52be56c740.zip chromium_src-cecf1d365910d8a22511e703b741bf52be56c740.tar.gz chromium_src-cecf1d365910d8a22511e703b741bf52be56c740.tar.bz2 |
Linux Aura: get tooltip background color from theme
the border color can still conflict with the theme (e.g., no visible border if the tooltip bg is dark), but fixing that is a lot harder because the border, window roundedness, and shadow are all one tiled set of images (see shadow.cc).
BUG=348194
Review URL: https://codereview.chromium.org/258713002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266974 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc | 9 | ||||
-rw-r--r-- | ui/native_theme/fallback_theme.cc | 6 | ||||
-rw-r--r-- | ui/native_theme/native_theme.h | 2 | ||||
-rw-r--r-- | ui/views/corewm/tooltip_aura.cc | 9 |
4 files changed, 19 insertions, 7 deletions
diff --git a/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc b/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc index bb91dc7..2088824 100644 --- a/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc +++ b/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc @@ -251,7 +251,11 @@ GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const { case kColorId_TextfieldSelectionBackgroundFocused: return GetEntryStyle()->base[GTK_STATE_SELECTED]; - // Trees and Tables (implemented on GTK using the same class) + // Tooltips + case kColorId_TooltipBackground: + return GetWindowStyle()->bg[GTK_STATE_NORMAL]; + + // Trees and Tables (implemented on GTK using the same class) case kColorId_TableBackground: case kColorId_TreeBackground: return GetTreeStyle()->bg[GTK_STATE_NORMAL]; @@ -326,9 +330,6 @@ GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const { return GdkAlphaBlend(win_style->text[GTK_STATE_SELECTED], win_style->bg[GTK_STATE_SELECTED], 0x34); } - default: - // Fall through - break; } return SkColorToGdkColor(kInvalidColorIdColor); diff --git a/ui/native_theme/fallback_theme.cc b/ui/native_theme/fallback_theme.cc index ab6fc27..3e7b350 100644 --- a/ui/native_theme/fallback_theme.cc +++ b/ui/native_theme/fallback_theme.cc @@ -66,6 +66,8 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const { static const SkColor kTextfieldSelectionColor = color_utils::AlphaBlend(SK_ColorBLACK, kTextfieldSelectionBackgroundFocused, 0xdd); + // Tooltip + static const SkColor kTooltipBackground = 0xFFFFFFCC; // Tree static const SkColor kTreeBackground = SK_ColorWHITE; static const SkColor kTreeTextColor = SK_ColorBLACK; @@ -184,6 +186,10 @@ SkColor FallbackTheme::GetSystemColor(ColorId color_id) const { case kColorId_TextfieldSelectionBackgroundFocused: return kTextfieldSelectionBackgroundFocused; + // Tooltip + case kColorId_TooltipBackground: + return kTooltipBackground; + // Tree case kColorId_TreeBackground: return kTreeBackground; diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h index c340504..f4ea130 100644 --- a/ui/native_theme/native_theme.h +++ b/ui/native_theme/native_theme.h @@ -269,6 +269,8 @@ class NATIVE_THEME_EXPORT NativeTheme { kColorId_TextfieldReadOnlyBackground, kColorId_TextfieldSelectionColor, kColorId_TextfieldSelectionBackgroundFocused, + // Tooltip + kColorId_TooltipBackground, // Tree kColorId_TreeBackground, kColorId_TreeText, diff --git a/ui/views/corewm/tooltip_aura.cc b/ui/views/corewm/tooltip_aura.cc index 50ced84..777603c 100644 --- a/ui/views/corewm/tooltip_aura.cc +++ b/ui/views/corewm/tooltip_aura.cc @@ -12,13 +12,13 @@ #include "ui/gfx/screen.h" #include "ui/gfx/text_elider.h" #include "ui/gfx/text_utils.h" +#include "ui/native_theme/native_theme.h" #include "ui/views/background.h" #include "ui/views/border.h" #include "ui/views/widget/widget.h" namespace { -const SkColor kTooltipBackground = 0xFFFFFFCC; const int kTooltipHorizontalPadding = 3; // Max visual tooltip width. If a tooltip is greater than this width, it will @@ -60,8 +60,6 @@ TooltipAura::TooltipAura(gfx::ScreenType screen_type) : screen_type_(screen_type), widget_(NULL), tooltip_window_(NULL) { - label_.set_background( - views::Background::CreateSolidBackground(kTooltipBackground)); label_.set_owned_by_client(); label_.SetMultiLine(true); } @@ -234,6 +232,11 @@ void TooltipAura::SetText(aura::Window* window, 2 * kTooltipVerticalPadding; CreateWidget(); SetTooltipBounds(location, width, height); + + label_.set_background( + views::Background::CreateSolidBackground( + widget_->GetNativeTheme()->GetSystemColor( + ui::NativeTheme::kColorId_TooltipBackground))); } void TooltipAura::Show() { |