Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: chrome/browser/views/tabs/tab.cc

Issue 3064006: Make the throbber and tab close button correctly respond to theme changes. T... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/views/tabs/base_tab.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/views/tabs/tab.h" 5 #include "chrome/browser/views/tabs/tab.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "app/multi_animation.h" 9 #include "app/multi_animation.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 228
229 void Tab::Layout() { 229 void Tab::Layout() {
230 gfx::Rect lb = GetLocalBounds(false); 230 gfx::Rect lb = GetLocalBounds(false);
231 if (lb.IsEmpty()) 231 if (lb.IsEmpty())
232 return; 232 return;
233 lb.Inset(kLeftPadding, kTopPadding, kRightPadding, kBottomPadding); 233 lb.Inset(kLeftPadding, kTopPadding, kRightPadding, kBottomPadding);
234 234
235 // The height of the content of the Tab is the largest of the favicon, 235 // The height of the content of the Tab is the largest of the favicon,
236 // the title text and the close button graphic. 236 // the title text and the close button graphic.
237 int content_height = std::max(kFavIconSize, font_height()); 237 int content_height = std::max(kFavIconSize, font_height());
238 content_height = std::max(content_height, close_button_height()); 238 gfx::Size close_button_size(close_button()->GetPreferredSize());
239 content_height = std::max(content_height, close_button_size.height());
239 240
240 // Size the Favicon. 241 // Size the Favicon.
241 showing_icon_ = ShouldShowIcon(); 242 showing_icon_ = ShouldShowIcon();
242 if (showing_icon_) { 243 if (showing_icon_) {
243 // Use the size of the favicon as apps use a bigger favicon size. 244 // Use the size of the favicon as apps use a bigger favicon size.
244 int favicon_size = 245 int favicon_size =
245 !data().favicon.empty() ? data().favicon.width() : kFavIconSize; 246 !data().favicon.empty() ? data().favicon.width() : kFavIconSize;
246 int favicon_top = kTopPadding + content_height / 2 - favicon_size / 2; 247 int favicon_top = kTopPadding + content_height / 2 - favicon_size / 2;
247 int favicon_left = lb.x(); 248 int favicon_left = lb.x();
248 if (favicon_size != kFavIconSize) { 249 if (favicon_size != kFavIconSize) {
(...skipping 16 matching lines...) Expand all
265 favicon_bounds_.set_x(x); 266 favicon_bounds_.set_x(x);
266 } 267 }
267 } 268 }
268 } else { 269 } else {
269 favicon_bounds_.SetRect(lb.x(), lb.y(), 0, 0); 270 favicon_bounds_.SetRect(lb.x(), lb.y(), 0, 0);
270 } 271 }
271 272
272 // Size the Close button. 273 // Size the Close button.
273 showing_close_button_ = ShouldShowCloseBox(); 274 showing_close_button_ = ShouldShowCloseBox();
274 if (showing_close_button_) { 275 if (showing_close_button_) {
275 int close_button_top = 276 int close_button_top = kTopPadding + kCloseButtonVertFuzz +
276 kTopPadding + kCloseButtonVertFuzz + 277 (content_height - close_button_size.height()) / 2;
277 (content_height - close_button_height()) / 2;
278 // If the ratio of the close button size to tab width exceeds the maximum. 278 // If the ratio of the close button size to tab width exceeds the maximum.
279 close_button()->SetBounds(lb.width() + kCloseButtonHorzFuzz, 279 close_button()->SetBounds(lb.width() + kCloseButtonHorzFuzz,
280 close_button_top, close_button_width(), 280 close_button_top, close_button_size.width(),
281 close_button_height()); 281 close_button_size.height());
282 close_button()->SetVisible(true); 282 close_button()->SetVisible(true);
283 } else { 283 } else {
284 close_button()->SetBounds(0, 0, 0, 0); 284 close_button()->SetBounds(0, 0, 0, 0);
285 close_button()->SetVisible(false); 285 close_button()->SetVisible(false);
286 } 286 }
287 287
288 int title_left = favicon_bounds_.right() + kFavIconTitleSpacing; 288 int title_left = favicon_bounds_.right() + kFavIconTitleSpacing;
289 int title_top = kTopPadding + (content_height - font_height()) / 2; 289 int title_top = kTopPadding + (content_height - font_height()) / 2;
290 // Size the Title text to fill the remaining space. 290 // Size the Title text to fill the remaining space.
291 if (!data().mini || width() >= kMiniTabRendererAsNormalTabWidth) { 291 if (!data().mini || width() >= kMiniTabRendererAsNormalTabWidth) {
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 tab_active.image_r = rb.GetBitmapNamed(IDR_TAB_ACTIVE_RIGHT); 604 tab_active.image_r = rb.GetBitmapNamed(IDR_TAB_ACTIVE_RIGHT);
605 tab_active.l_width = tab_active.image_l->width(); 605 tab_active.l_width = tab_active.image_l->width();
606 tab_active.r_width = tab_active.image_r->width(); 606 tab_active.r_width = tab_active.image_r->width();
607 607
608 tab_inactive.image_l = rb.GetBitmapNamed(IDR_TAB_INACTIVE_LEFT); 608 tab_inactive.image_l = rb.GetBitmapNamed(IDR_TAB_INACTIVE_LEFT);
609 tab_inactive.image_c = rb.GetBitmapNamed(IDR_TAB_INACTIVE_CENTER); 609 tab_inactive.image_c = rb.GetBitmapNamed(IDR_TAB_INACTIVE_CENTER);
610 tab_inactive.image_r = rb.GetBitmapNamed(IDR_TAB_INACTIVE_RIGHT); 610 tab_inactive.image_r = rb.GetBitmapNamed(IDR_TAB_INACTIVE_RIGHT);
611 tab_inactive.l_width = tab_inactive.image_l->width(); 611 tab_inactive.l_width = tab_inactive.image_l->width();
612 tab_inactive.r_width = tab_inactive.image_r->width(); 612 tab_inactive.r_width = tab_inactive.image_r->width();
613 } 613 }
OLDNEW
« no previous file with comments | « chrome/browser/views/tabs/base_tab.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698