Chromium Code Reviews| Index: chrome/browser/ui/toolbar/media_router_action.cc |
| diff --git a/chrome/browser/ui/toolbar/media_router_action.cc b/chrome/browser/ui/toolbar/media_router_action.cc |
| index e397c6e95d786ffef427d45df563935610218389..3f1bfa149e91763b3fc525e59ec21bd0d57ee54b 100644 |
| --- a/chrome/browser/ui/toolbar/media_router_action.cc |
| +++ b/chrome/browser/ui/toolbar/media_router_action.cc |
| @@ -36,7 +36,8 @@ media_router::MediaRouter* GetMediaRouter(Browser* browser) { |
| } // namespace |
| -MediaRouterAction::MediaRouterAction(Browser* browser) |
| +MediaRouterAction::MediaRouterAction(Browser* browser, |
| + ToolbarActionsBar* toolbar_actions_bar) |
| : media_router::IssuesObserver(GetMediaRouter(browser)), |
| media_router::LocalMediaRoutesObserver(GetMediaRouter(browser)), |
| media_router_active_icon_( |
| @@ -53,11 +54,13 @@ MediaRouterAction::MediaRouterAction(Browser* browser) |
| has_local_display_route_(false), |
| delegate_(nullptr), |
| browser_(browser), |
| + toolbar_actions_bar_(toolbar_actions_bar), |
| platform_delegate_(MediaRouterActionPlatformDelegate::Create(browser)), |
| contextual_menu_(browser), |
| tab_strip_model_observer_(this), |
| weak_ptr_factory_(this) { |
| DCHECK(browser_); |
| + DCHECK(toolbar_actions_bar_); |
| tab_strip_model_observer_.Add(browser_->tab_strip_model()); |
| RegisterObserver(); |
| @@ -192,9 +195,10 @@ void MediaRouterAction::UpdatePopupState() { |
| if (!controller) |
| return; |
| - // Immediately keep track of MediaRouterAction in the controller. If it was |
| - // already set, this should be a no-op. |
| - controller->SetMediaRouterAction(weak_ptr_factory_.GetWeakPtr()); |
| + // Only call SetMediaRouterAction() if |this| lives on the toolbar rather |
| + // than the overflow menu. If it was already set, this should be a no-op. |
|
Peter Kasting
2015/12/03 04:48:53
This first sentence restates what the code does.
apacible
2015/12/03 21:53:10
Done.
|
| + if (!toolbar_actions_bar_->in_overflow_mode()) |
| + controller->SetMediaRouterAction(weak_ptr_factory_.GetWeakPtr()); |
| // Update the button in case the pressed state is out of sync with dialog |
| // visibility. |