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

Unified Diff: chrome/browser/ui/views/tabs/media_indicator_button.cc

Issue 1354823002: Render the tab close button as a vector-based icon. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reset title color in same place Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/tabs/media_indicator_button.cc
diff --git a/chrome/browser/ui/views/tabs/media_indicator_button.cc b/chrome/browser/ui/views/tabs/media_indicator_button.cc
index 881a12446d212a76d7293745bb538f789e710869..d2c2d9cdbfd6777bbe68ab4ae55102598c035706 100644
--- a/chrome/browser/ui/views/tabs/media_indicator_button.cc
+++ b/chrome/browser/ui/views/tabs/media_indicator_button.cc
@@ -71,18 +71,8 @@ void MediaIndicatorButton::TransitionToMediaState(TabMediaState next_state) {
if (next_state == media_state_)
return;
- if (next_state != TAB_MEDIA_STATE_NONE) {
- ui::ThemeProvider* tp = GetThemeProvider();
- gfx::ImageSkia indicator_image =
- chrome::GetTabMediaIndicatorImage(next_state, tp).AsImageSkia();
- SetImage(views::CustomButton::STATE_NORMAL, &indicator_image);
- SetImage(views::CustomButton::STATE_DISABLED, &indicator_image);
- gfx::ImageSkia affordance_image =
- chrome::GetTabMediaIndicatorAffordanceImage(next_state, tp)
- .AsImageSkia();
- SetImage(views::CustomButton::STATE_HOVERED, &affordance_image);
- SetImage(views::CustomButton::STATE_PRESSED, &affordance_image);
- }
+ if (next_state != TAB_MEDIA_STATE_NONE)
+ ResetImages(next_state);
if ((media_state_ == TAB_MEDIA_STATE_AUDIO_PLAYING &&
next_state == TAB_MEDIA_STATE_AUDIO_MUTING) ||
@@ -138,6 +128,12 @@ void MediaIndicatorButton::UpdateEnabledForMuteToggle() {
SetEnabled(enable);
}
+void MediaIndicatorButton::OnParentTabButtonColorChanged() {
+ if ((media_state_ == TAB_MEDIA_STATE_AUDIO_PLAYING) ||
Evan Stade 2015/09/23 18:16:35 nit: imo there are more parens than necessary here
Peter Kasting 2015/09/23 20:44:13 Yeah, this is an area where Chromium doesn't have
+ (media_state_ == TAB_MEDIA_STATE_AUDIO_MUTING))
+ ResetImages(media_state_);
+}
+
const char* MediaIndicatorButton::GetClassName() const {
return kViewClassName;
}
@@ -245,3 +241,15 @@ Tab* MediaIndicatorButton::GetTab() const {
DCHECK_EQ(static_cast<views::View*>(parent_tab_), parent());
return parent_tab_;
}
+
+void MediaIndicatorButton::ResetImages(TabMediaState state) {
+ SkColor color = parent_tab_->button_color();
+ gfx::ImageSkia indicator_image =
+ chrome::GetTabMediaIndicatorImage(state, color).AsImageSkia();
+ SetImage(views::CustomButton::STATE_NORMAL, &indicator_image);
+ SetImage(views::CustomButton::STATE_DISABLED, &indicator_image);
+ gfx::ImageSkia affordance_image =
+ chrome::GetTabMediaIndicatorAffordanceImage(state, color).AsImageSkia();
+ SetImage(views::CustomButton::STATE_HOVERED, &affordance_image);
+ SetImage(views::CustomButton::STATE_PRESSED, &affordance_image);
+}

Powered by Google App Engine
This is Rietveld 408576698