| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/views/tabs/tab.h" | 5 #include "chrome/browser/ui/views/tabs/tab.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/debug/alias.h" | 10 #include "base/debug/alias.h" |
| (...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 454 // So we get don't get enter/exit on children and don't prematurely stop the | 454 // So we get don't get enter/exit on children and don't prematurely stop the |
| 455 // hover. | 455 // hover. |
| 456 set_notify_enter_exit_on_child(true); | 456 set_notify_enter_exit_on_child(true); |
| 457 | 457 |
| 458 set_id(VIEW_ID_TAB); | 458 set_id(VIEW_ID_TAB); |
| 459 | 459 |
| 460 // Add the Close Button. | 460 // Add the Close Button. |
| 461 close_button_ = new TabCloseButton(this); | 461 close_button_ = new TabCloseButton(this); |
| 462 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 462 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 463 close_button_->SetImage(views::CustomButton::STATE_NORMAL, | 463 close_button_->SetImage(views::CustomButton::STATE_NORMAL, |
| 464 rb.GetImageSkiaNamed(IDR_TAB_CLOSE)); | 464 rb.GetImageSkiaNamed(IDR_CLOSE_1)); |
| 465 close_button_->SetImage(views::CustomButton::STATE_HOVERED, | 465 close_button_->SetImage(views::CustomButton::STATE_HOVERED, |
| 466 rb.GetImageSkiaNamed(IDR_TAB_CLOSE_H)); | 466 rb.GetImageSkiaNamed(IDR_CLOSE_1_H)); |
| 467 close_button_->SetImage(views::CustomButton::STATE_PRESSED, | 467 close_button_->SetImage(views::CustomButton::STATE_PRESSED, |
| 468 rb.GetImageSkiaNamed(IDR_TAB_CLOSE_P)); | 468 rb.GetImageSkiaNamed(IDR_CLOSE_1_P)); |
| 469 close_button_->SetAccessibleName( | 469 close_button_->SetAccessibleName( |
| 470 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); | 470 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); |
| 471 // Disable animation so that the red danger sign shows up immediately | 471 // Disable animation so that the red danger sign shows up immediately |
| 472 // to help avoid mis-clicks. | 472 // to help avoid mis-clicks. |
| 473 close_button_->SetAnimationDuration(0); | 473 close_button_->SetAnimationDuration(0); |
| 474 AddChildView(close_button_); | 474 AddChildView(close_button_); |
| 475 | 475 |
| 476 set_context_menu_controller(this); | 476 set_context_menu_controller(this); |
| 477 | 477 |
| 478 tab_audio_indicator_.reset(new TabAudioIndicator(this)); | 478 tab_audio_indicator_.reset(new TabAudioIndicator(this)); |
| (...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1083 PaintTitle(canvas, title_color); | 1083 PaintTitle(canvas, title_color); |
| 1084 | 1084 |
| 1085 if (show_icon) | 1085 if (show_icon) |
| 1086 PaintIcon(canvas); | 1086 PaintIcon(canvas); |
| 1087 | 1087 |
| 1088 // If the close button color has changed, generate a new one. | 1088 // If the close button color has changed, generate a new one. |
| 1089 if (!close_button_color_ || title_color != close_button_color_) { | 1089 if (!close_button_color_ || title_color != close_button_color_) { |
| 1090 close_button_color_ = title_color; | 1090 close_button_color_ = title_color; |
| 1091 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 1091 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 1092 close_button_->SetBackground(close_button_color_, | 1092 close_button_->SetBackground(close_button_color_, |
| 1093 rb.GetImageSkiaNamed(IDR_TAB_CLOSE), | 1093 rb.GetImageSkiaNamed(IDR_CLOSE_1), |
| 1094 rb.GetImageSkiaNamed(IDR_TAB_CLOSE_MASK)); | 1094 rb.GetImageSkiaNamed(IDR_CLOSE_1_MASK)); |
| 1095 } | 1095 } |
| 1096 } | 1096 } |
| 1097 | 1097 |
| 1098 void Tab::PaintImmersiveTab(gfx::Canvas* canvas) { | 1098 void Tab::PaintImmersiveTab(gfx::Canvas* canvas) { |
| 1099 // Draw a gray rectangle to represent the tab. This works for mini-tabs as | 1099 // Draw a gray rectangle to represent the tab. This works for mini-tabs as |
| 1100 // well as regular ones. The active tab has a brigher bar. | 1100 // well as regular ones. The active tab has a brigher bar. |
| 1101 SkColor color = | 1101 SkColor color = |
| 1102 IsActive() ? kImmersiveActiveTabColor : kImmersiveInactiveTabColor; | 1102 IsActive() ? kImmersiveActiveTabColor : kImmersiveInactiveTabColor; |
| 1103 gfx::Rect bar_rect = GetImmersiveBarRect(); | 1103 gfx::Rect bar_rect = GetImmersiveBarRect(); |
| 1104 canvas->FillRect(bar_rect, color); | 1104 canvas->FillRect(bar_rect, color); |
| (...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1801 const gfx::ImageSkia& image) { | 1801 const gfx::ImageSkia& image) { |
| 1802 DCHECK_NE(scale_factor, ui::SCALE_FACTOR_NONE); | 1802 DCHECK_NE(scale_factor, ui::SCALE_FACTOR_NONE); |
| 1803 ImageCacheEntry entry; | 1803 ImageCacheEntry entry; |
| 1804 entry.resource_id = resource_id; | 1804 entry.resource_id = resource_id; |
| 1805 entry.scale_factor = scale_factor; | 1805 entry.scale_factor = scale_factor; |
| 1806 entry.image = image; | 1806 entry.image = image; |
| 1807 image_cache_->push_front(entry); | 1807 image_cache_->push_front(entry); |
| 1808 if (image_cache_->size() > kMaxImageCacheSize) | 1808 if (image_cache_->size() > kMaxImageCacheSize) |
| 1809 image_cache_->pop_back(); | 1809 image_cache_->pop_back(); |
| 1810 } | 1810 } |
| OLD | NEW |