| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 const SkColor kImmersiveInactiveTabColor = SkColorSetRGB(190, 190, 190); | 111 const SkColor kImmersiveInactiveTabColor = SkColorSetRGB(190, 190, 190); |
| 112 | 112 |
| 113 // The minimum opacity (out of 1) when a tab (either active or inactive) is | 113 // The minimum opacity (out of 1) when a tab (either active or inactive) is |
| 114 // throbbing in the immersive mode light strip. | 114 // throbbing in the immersive mode light strip. |
| 115 const double kImmersiveTabMinThrobOpacity = 0.66; | 115 const double kImmersiveTabMinThrobOpacity = 0.66; |
| 116 | 116 |
| 117 // Number of steps in the immersive mode loading animation. | 117 // Number of steps in the immersive mode loading animation. |
| 118 const int kImmersiveLoadingStepCount = 32; | 118 const int kImmersiveLoadingStepCount = 32; |
| 119 | 119 |
| 120 const char kTabCloseButtonName[] = "TabCloseButton"; | 120 const char kTabCloseButtonName[] = "TabCloseButton"; |
| 121 const int kTabCloseButtonSize = 16; | |
| 122 | 121 |
| 123 // Returns the width of the tab endcap at scale 1. More precisely, this is the | 122 // Returns the width of the tab endcap at scale 1. More precisely, this is the |
| 124 // width of the curve making up either the outer or inner edge of the stroke; | 123 // width of the curve making up either the outer or inner edge of the stroke; |
| 125 // since these two curves are horizontally offset by 1 px (regardless of scale), | 124 // since these two curves are horizontally offset by 1 px (regardless of scale), |
| 126 // the total width of the endcap from tab outer edge to the inside end of the | 125 // the total width of the endcap from tab outer edge to the inside end of the |
| 127 // stroke inner edge is (GetUnscaledEndcapWidth() * scale) + 1. | 126 // stroke inner edge is (GetUnscaledEndcapWidth() * scale) + 1. |
| 128 float GetUnscaledEndcapWidth() { | 127 float GetUnscaledEndcapWidth() { |
| 129 return GetLayoutInsets(TAB).left() - 0.5f; | 128 return GetLayoutInsets(TAB).left() - 0.5f; |
| 130 } | 129 } |
| 131 | 130 |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 alert_indicator_button_ = new AlertIndicatorButton(this); | 530 alert_indicator_button_ = new AlertIndicatorButton(this); |
| 532 AddChildView(alert_indicator_button_); | 531 AddChildView(alert_indicator_button_); |
| 533 | 532 |
| 534 close_button_ = new TabCloseButton(this); | 533 close_button_ = new TabCloseButton(this); |
| 535 close_button_->SetAccessibleName( | 534 close_button_->SetAccessibleName( |
| 536 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); | 535 l10n_util::GetStringUTF16(IDS_ACCNAME_CLOSE)); |
| 537 // The normal image is set by OnButtonColorMaybeChanged() because it depends | 536 // The normal image is set by OnButtonColorMaybeChanged() because it depends |
| 538 // on the current theme and active state. The hovered and pressed images | 537 // on the current theme and active state. The hovered and pressed images |
| 539 // don't depend on the these, so we can set them here. | 538 // don't depend on the these, so we can set them here. |
| 540 const gfx::ImageSkia& hovered = gfx::CreateVectorIcon( | 539 const gfx::ImageSkia& hovered = gfx::CreateVectorIcon( |
| 541 gfx::VectorIconId::TAB_CLOSE_HOVERED_PRESSED, kTabCloseButtonSize, | 540 gfx::VectorIconId::TAB_CLOSE_HOVERED_PRESSED, |
| 542 SkColorSetRGB(0xDB, 0x44, 0x37)); | 541 SkColorSetRGB(0xDB, 0x44, 0x37)); |
| 543 const gfx::ImageSkia& pressed = gfx::CreateVectorIcon( | 542 const gfx::ImageSkia& pressed = gfx::CreateVectorIcon( |
| 544 gfx::VectorIconId::TAB_CLOSE_HOVERED_PRESSED, kTabCloseButtonSize, | 543 gfx::VectorIconId::TAB_CLOSE_HOVERED_PRESSED, |
| 545 SkColorSetRGB(0xA8, 0x35, 0x2A)); | 544 SkColorSetRGB(0xA8, 0x35, 0x2A)); |
| 546 close_button_->SetImage(views::CustomButton::STATE_HOVERED, &hovered); | 545 close_button_->SetImage(views::CustomButton::STATE_HOVERED, &hovered); |
| 547 close_button_->SetImage(views::CustomButton::STATE_PRESSED, &pressed); | 546 close_button_->SetImage(views::CustomButton::STATE_PRESSED, &pressed); |
| 548 | 547 |
| 549 // Disable animation so that the red danger sign shows up immediately | 548 // Disable animation so that the red danger sign shows up immediately |
| 550 // to help avoid mis-clicks. | 549 // to help avoid mis-clicks. |
| 551 close_button_->SetAnimationDuration(0); | 550 close_button_->SetAnimationDuration(0); |
| 552 AddChildView(close_button_); | 551 AddChildView(close_button_); |
| 553 | 552 |
| 554 set_context_menu_controller(this); | 553 set_context_menu_controller(this); |
| (...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1631 | 1630 |
| 1632 const SkColor title_color = theme_provider->GetColor(IsActive() ? | 1631 const SkColor title_color = theme_provider->GetColor(IsActive() ? |
| 1633 ThemeProperties::COLOR_TAB_TEXT : | 1632 ThemeProperties::COLOR_TAB_TEXT : |
| 1634 ThemeProperties::COLOR_BACKGROUND_TAB_TEXT); | 1633 ThemeProperties::COLOR_BACKGROUND_TAB_TEXT); |
| 1635 const SkColor new_button_color = SkColorSetA(title_color, 0xA0); | 1634 const SkColor new_button_color = SkColorSetA(title_color, 0xA0); |
| 1636 if (button_color_ != new_button_color) { | 1635 if (button_color_ != new_button_color) { |
| 1637 button_color_ = new_button_color; | 1636 button_color_ = new_button_color; |
| 1638 title_->SetEnabledColor(title_color); | 1637 title_->SetEnabledColor(title_color); |
| 1639 alert_indicator_button_->OnParentTabButtonColorChanged(); | 1638 alert_indicator_button_->OnParentTabButtonColorChanged(); |
| 1640 const gfx::ImageSkia& close_button_normal_image = gfx::CreateVectorIcon( | 1639 const gfx::ImageSkia& close_button_normal_image = gfx::CreateVectorIcon( |
| 1641 gfx::VectorIconId::TAB_CLOSE_NORMAL, kTabCloseButtonSize, | 1640 gfx::VectorIconId::TAB_CLOSE_NORMAL, button_color_); |
| 1642 button_color_); | |
| 1643 close_button_->SetImage(views::CustomButton::STATE_NORMAL, | 1641 close_button_->SetImage(views::CustomButton::STATE_NORMAL, |
| 1644 &close_button_normal_image); | 1642 &close_button_normal_image); |
| 1645 } | 1643 } |
| 1646 } | 1644 } |
| 1647 | 1645 |
| 1648 void Tab::ScheduleIconPaint() { | 1646 void Tab::ScheduleIconPaint() { |
| 1649 gfx::Rect bounds = favicon_bounds_; | 1647 gfx::Rect bounds = favicon_bounds_; |
| 1650 if (bounds.IsEmpty()) | 1648 if (bounds.IsEmpty()) |
| 1651 return; | 1649 return; |
| 1652 | 1650 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1763 inactive_images_.image_c = rb.GetImageSkiaNamed(IDR_TAB_INACTIVE_CENTER); | 1761 inactive_images_.image_c = rb.GetImageSkiaNamed(IDR_TAB_INACTIVE_CENTER); |
| 1764 inactive_images_.image_r = rb.GetImageSkiaNamed(IDR_TAB_INACTIVE_RIGHT); | 1762 inactive_images_.image_r = rb.GetImageSkiaNamed(IDR_TAB_INACTIVE_RIGHT); |
| 1765 inactive_images_.l_width = inactive_images_.image_l->width(); | 1763 inactive_images_.l_width = inactive_images_.image_l->width(); |
| 1766 inactive_images_.r_width = inactive_images_.image_r->width(); | 1764 inactive_images_.r_width = inactive_images_.image_r->width(); |
| 1767 | 1765 |
| 1768 mask_images_.image_l = rb.GetImageSkiaNamed(IDR_TAB_ALPHA_LEFT); | 1766 mask_images_.image_l = rb.GetImageSkiaNamed(IDR_TAB_ALPHA_LEFT); |
| 1769 mask_images_.image_r = rb.GetImageSkiaNamed(IDR_TAB_ALPHA_RIGHT); | 1767 mask_images_.image_r = rb.GetImageSkiaNamed(IDR_TAB_ALPHA_RIGHT); |
| 1770 mask_images_.l_width = mask_images_.image_l->width(); | 1768 mask_images_.l_width = mask_images_.image_l->width(); |
| 1771 mask_images_.r_width = mask_images_.image_r->width(); | 1769 mask_images_.r_width = mask_images_.image_r->width(); |
| 1772 } | 1770 } |
| OLD | NEW |