summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/tabs
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/gtk/tabs')
-rw-r--r--chrome/browser/gtk/tabs/tab_renderer_gtk.cc16
-rw-r--r--chrome/browser/gtk/tabs/tab_renderer_gtk.h3
2 files changed, 18 insertions, 1 deletions
diff --git a/chrome/browser/gtk/tabs/tab_renderer_gtk.cc b/chrome/browser/gtk/tabs/tab_renderer_gtk.cc
index 5aacce4..02cb4f9 100644
--- a/chrome/browser/gtk/tabs/tab_renderer_gtk.cc
+++ b/chrome/browser/gtk/tabs/tab_renderer_gtk.cc
@@ -217,7 +217,8 @@ TabRendererGtk::TabRendererGtk(ThemeProvider* theme_provider)
showing_close_button_(false),
fav_icon_hiding_offset_(0),
should_display_crashed_favicon_(false),
- loading_animation_(theme_provider) {
+ loading_animation_(theme_provider),
+ close_button_color_(NULL) {
InitResources();
data_.pinned = false;
@@ -497,6 +498,19 @@ void TabRendererGtk::Layout() {
close_button_bounds_.SetRect(local_bounds.width() + kCloseButtonHorzFuzz,
close_button_top, close_button_width_,
close_button_height_);
+
+ // If the close button color has changed, generate a new one.
+ if (theme_provider_) {
+ SkColor tab_text_color =
+ theme_provider_->GetColor(BrowserThemeProvider::COLOR_TAB_TEXT);
+ if (!close_button_color_ || tab_text_color != close_button_color_) {
+ close_button_color_ = tab_text_color;
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ close_button_->SetBackground(close_button_color_,
+ rb.GetBitmapNamed(IDR_TAB_CLOSE),
+ rb.GetBitmapNamed(IDR_TAB_CLOSE_MASK));
+ }
+ }
} else {
close_button_bounds_.SetRect(0, 0, 0, 0);
}
diff --git a/chrome/browser/gtk/tabs/tab_renderer_gtk.h b/chrome/browser/gtk/tabs/tab_renderer_gtk.h
index c34a439..aec1464 100644
--- a/chrome/browser/gtk/tabs/tab_renderer_gtk.h
+++ b/chrome/browser/gtk/tabs/tab_renderer_gtk.h
@@ -335,6 +335,9 @@ class TabRendererGtk : public AnimationDelegate {
// The close button.
scoped_ptr<CustomDrawButton> close_button_;
+ // The current color of the close button.
+ SkColor close_button_color_;
+
DISALLOW_COPY_AND_ASSIGN(TabRendererGtk);
};