summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/gtk/gtk_theme_provider.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/chrome/browser/gtk/gtk_theme_provider.cc b/chrome/browser/gtk/gtk_theme_provider.cc
index 81565d1..f18ff3f 100644
--- a/chrome/browser/gtk/gtk_theme_provider.cc
+++ b/chrome/browser/gtk/gtk_theme_provider.cc
@@ -26,6 +26,8 @@ namespace {
const int kToolbarImageWidth = 64;
const int kToolbarImageHeight = 128;
+const skia::HSL kExactColor = { -1, -1, -1 };
+
} // namespace
// static
@@ -185,19 +187,24 @@ void GtkThemeProvider::LoadGtkValues() {
kDefaultTintButtons);
SetThemeTintFromGtk(kTintFrame, &style->bg[GTK_STATE_SELECTED],
kDefaultTintFrame);
- SetThemeTintFromGtk(kTintFrameInactive,
- &style->bg[GTK_STATE_SELECTED],
- kDefaultTintFrameInactive);
SetThemeTintFromGtk(kTintFrameIncognito,
&style->bg[GTK_STATE_SELECTED],
kDefaultTintFrameIncognito);
- SetThemeTintFromGtk(kTintFrameIncognitoInactive,
- &style->bg[GTK_STATE_SELECTED],
- kDefaultTintFrameIncognitoInactive);
SetThemeTintFromGtk(kTintBackgroundTab,
&style->bg[GTK_STATE_SELECTED],
kDefaultTintBackgroundTab);
+ // The inactive color/tint is special: We *must* use the exact insensitive
+ // color for all inactive windows, otherwise we end up neon pink half the
+ // time.
+ SetThemeColorFromGtk(kColorFrameInactive, &style->bg[GTK_STATE_INSENSITIVE]);
+ SetThemeTintFromGtk(kTintFrameInactive,
+ &style->bg[GTK_STATE_INSENSITIVE],
+ kExactColor);
+ SetThemeTintFromGtk(kTintFrameIncognitoInactive,
+ &style->bg[GTK_STATE_INSENSITIVE],
+ kExactColor);
+
GenerateFrameColors();
GenerateFrameImages();
}