| 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 96e9b0b081854de9f49b7363d43989ffda0fcd17..9421d42f1c764fdbee5921cbe2d7eba43aec52f7 100644
|
| --- a/chrome/browser/ui/views/tabs/media_indicator_button.cc
|
| +++ b/chrome/browser/ui/views/tabs/media_indicator_button.cc
|
| @@ -49,13 +49,12 @@ class MediaIndicatorButton::FadeAnimationDelegate
|
| }
|
|
|
| void AnimationCanceled(const gfx::Animation* animation) override {
|
| - button_->showing_media_state_ = button_->media_state_;
|
| - button_->SchedulePaint();
|
| + AnimationEnded(animation);
|
| }
|
|
|
| void AnimationEnded(const gfx::Animation* animation) override {
|
| button_->showing_media_state_ = button_->media_state_;
|
| - button_->SchedulePaint();
|
| + button_->parent_tab_->MediaStateChanged();
|
| }
|
|
|
| MediaIndicatorButton* const button_;
|
| @@ -79,6 +78,8 @@ void MediaIndicatorButton::TransitionToMediaState(TabMediaState next_state) {
|
| if (next_state == media_state_)
|
| return;
|
|
|
| + TabMediaState previous_media_showing_state = showing_media_state_;
|
| +
|
| if (next_state != TAB_MEDIA_STATE_NONE)
|
| ResetImages(next_state);
|
|
|
| @@ -105,6 +106,9 @@ void MediaIndicatorButton::TransitionToMediaState(TabMediaState next_state) {
|
|
|
| media_state_ = next_state;
|
|
|
| + if (previous_media_showing_state != showing_media_state_)
|
| + parent_tab_->MediaStateChanged();
|
| +
|
| UpdateEnabledForMuteToggle();
|
|
|
| // An indicator state change should be made visible immediately, instead of
|
|
|