summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-29 22:15:34 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-29 22:15:34 +0000
commitcecf1d365910d8a22511e703b741bf52be56c740 (patch)
treecec7e00b6d666e772b3c71160e0ebde3d8a7bb3a
parent7f0affcba4e8b31dc2235a86a6014bf195c0df08 (diff)
downloadchromium_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.cc9
-rw-r--r--ui/native_theme/fallback_theme.cc6
-rw-r--r--ui/native_theme/native_theme.h2
-rw-r--r--ui/views/corewm/tooltip_aura.cc9
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() {