diff options
author | glen@chromium.org <glen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-24 16:44:40 +0000 |
---|---|---|
committer | glen@chromium.org <glen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-24 16:44:40 +0000 |
commit | 6d39d49d2001775bf486299261613298e1aab12a (patch) | |
tree | d52514672115bc6d8ca66688723ea19eed3944a9 /chrome/browser/views/tabs | |
parent | 5ef32389474a8c9db4bbdada978e0e9e07b0bdd0 (diff) | |
download | chromium_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.cc | 23 |
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); |