summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs
diff options
context:
space:
mode:
authorglen@chromium.org <glen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-24 16:44:40 +0000
committerglen@chromium.org <glen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-24 16:44:40 +0000
commit6d39d49d2001775bf486299261613298e1aab12a (patch)
treed52514672115bc6d8ca66688723ea19eed3944a9 /chrome/browser/views/tabs
parent5ef32389474a8c9db4bbdada978e0e9e07b0bdd0 (diff)
downloadchromium_src-6d39d49d2001775bf486299261613298e1aab12a.zip
chromium_src-6d39d49d2001775bf486299261613298e1aab12a.tar.gz
chromium_src-6d39d49d2001775bf486299261613298e1aab12a.tar.bz2
Layout was entirely the wrong place to be updating the button - it gets called too early. This moves it near the other user of the color values.
BUG=none TEST=none Review URL: http://codereview.chromium.org/160094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21534 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/tabs')
-rw-r--r--chrome/browser/views/tabs/tab_renderer.cc23
1 files changed, 9 insertions, 14 deletions
diff --git a/chrome/browser/views/tabs/tab_renderer.cc b/chrome/browser/views/tabs/tab_renderer.cc
index 584cb18..62bf4f1 100644
--- a/chrome/browser/views/tabs/tab_renderer.cc
+++ b/chrome/browser/views/tabs/tab_renderer.cc
@@ -449,6 +449,15 @@ void TabRenderer::Paint(gfx::Canvas* canvas) {
BrowserThemeProvider::COLOR_TAB_TEXT :
BrowserThemeProvider::COLOR_BACKGROUND_TAB_TEXT);
+ // If the close button color has changed, generate a new one.
+ if (!close_button_color_ || title_color != close_button_color_) {
+ close_button_color_ = title_color;
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ close_button_->SetBackground(close_button_color_,
+ rb.GetBitmapNamed(IDR_TAB_CLOSE),
+ rb.GetBitmapNamed(IDR_TAB_CLOSE_MASK));
+ }
+
canvas->DrawStringInt(UTF16ToWideHack(title), *title_font, title_color,
title_bounds_.x(), title_bounds_.y(),
title_bounds_.width(), title_bounds_.height());
@@ -482,20 +491,6 @@ void TabRenderer::Layout() {
close_button_->SetBounds(lb.width() + kCloseButtonHorzFuzz,
close_button_top, close_button_width,
close_button_height);
-
- // If the close button color has changed, generate a new one.
- if (GetThemeProvider()) {
- SkColor tab_text_color =
- GetThemeProvider()->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));
- }
- }
-
close_button_->SetVisible(true);
} else {
close_button_->SetBounds(0, 0, 0, 0);