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 f2057fbd37b85fc80829a94aaa037d95ffdcd169..87bbc081bde8e22b4b7be5f2e0e32d41eebcc0cd 100644 |
| --- a/chrome/browser/ui/toolbar/media_router_action.cc |
| +++ b/chrome/browser/ui/toolbar/media_router_action.cc |
| @@ -48,7 +48,6 @@ MediaRouterAction::MediaRouterAction(Browser* browser, |
| browser_(browser), |
| toolbar_actions_bar_(toolbar_actions_bar), |
| platform_delegate_(MediaRouterActionPlatformDelegate::Create(browser)), |
| - contextual_menu_(browser), |
| tab_strip_model_observer_(this), |
| toolbar_actions_bar_observer_(this), |
| weak_ptr_factory_(this) { |
| @@ -135,7 +134,13 @@ gfx::NativeView MediaRouterAction::GetPopupNativeView() { |
| } |
| ui::MenuModel* MediaRouterAction::GetContextMenu() { |
| - return contextual_menu_.menu_model(); |
| + if (toolbar_actions_bar_->IsActionVisibleOnMainBar(this)) { |
|
grt (UTC plus 2)
2017/02/28 19:56:13
should this have a DCHECK(!contextual_menu_) befor
takumif
2017/02/28 22:02:04
|contextual_menu_| will not be null if this isn't
|
| + contextual_menu_ = MediaRouterContextualMenu::CreateForToolbar(browser_); |
| + } else { |
| + contextual_menu_ = |
| + MediaRouterContextualMenu::CreateForOverflowMenu(browser_); |
| + } |
| + return contextual_menu_->menu_model(); |
| } |
| void MediaRouterAction::OnContextMenuClosed() { |
| @@ -172,7 +177,7 @@ bool MediaRouterAction::DisabledClickOpensMenu() const { |
| } |
| void MediaRouterAction::OnIssue(const media_router::Issue& issue) { |
| - current_issue_.reset(new media_router::IssueInfo(issue.info())); |
| + current_issue_ = base::MakeUnique<media_router::IssueInfo>(issue.info()); |
| MaybeUpdateIcon(); |
| } |