| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/toolbar/media_router_action.h" | 5 #include "chrome/browser/ui/toolbar/media_router_action.h" |
| 6 | 6 |
| 7 #include "base/metrics/user_metrics.h" | 7 #include "base/metrics/user_metrics.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "chrome/browser/media/router/issue.h" | 9 #include "chrome/browser/media/router/issue.h" |
| 10 #include "chrome/browser/media/router/media_route.h" | 10 #include "chrome/browser/media/router/media_route.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 ToolbarActionsBar* toolbar_actions_bar) | 41 ToolbarActionsBar* toolbar_actions_bar) |
| 42 : media_router::IssuesObserver(GetMediaRouter(browser)), | 42 : media_router::IssuesObserver(GetMediaRouter(browser)), |
| 43 media_router::MediaRoutesObserver(GetMediaRouter(browser)), | 43 media_router::MediaRoutesObserver(GetMediaRouter(browser)), |
| 44 current_icon_(&ui::kMediaRouterIdleIcon), | 44 current_icon_(&ui::kMediaRouterIdleIcon), |
| 45 has_local_display_route_(false), | 45 has_local_display_route_(false), |
| 46 has_dialog_(false), | 46 has_dialog_(false), |
| 47 delegate_(nullptr), | 47 delegate_(nullptr), |
| 48 browser_(browser), | 48 browser_(browser), |
| 49 toolbar_actions_bar_(toolbar_actions_bar), | 49 toolbar_actions_bar_(toolbar_actions_bar), |
| 50 platform_delegate_(MediaRouterActionPlatformDelegate::Create(browser)), | 50 platform_delegate_(MediaRouterActionPlatformDelegate::Create(browser)), |
| 51 contextual_menu_(browser), | |
| 52 tab_strip_model_observer_(this), | 51 tab_strip_model_observer_(this), |
| 53 toolbar_actions_bar_observer_(this), | 52 toolbar_actions_bar_observer_(this), |
| 54 weak_ptr_factory_(this) { | 53 weak_ptr_factory_(this) { |
| 55 DCHECK(browser_); | 54 DCHECK(browser_); |
| 56 DCHECK(toolbar_actions_bar_); | 55 DCHECK(toolbar_actions_bar_); |
| 57 tab_strip_model_observer_.Add(browser_->tab_strip_model()); | 56 tab_strip_model_observer_.Add(browser_->tab_strip_model()); |
| 58 toolbar_actions_bar_observer_.Add(toolbar_actions_bar_); | 57 toolbar_actions_bar_observer_.Add(toolbar_actions_bar_); |
| 59 IssuesObserver::Init(); | 58 IssuesObserver::Init(); |
| 60 } | 59 } |
| 61 | 60 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 | 127 |
| 129 void MediaRouterAction::HidePopup() { | 128 void MediaRouterAction::HidePopup() { |
| 130 GetMediaRouterDialogController()->HideMediaRouterDialog(); | 129 GetMediaRouterDialogController()->HideMediaRouterDialog(); |
| 131 } | 130 } |
| 132 | 131 |
| 133 gfx::NativeView MediaRouterAction::GetPopupNativeView() { | 132 gfx::NativeView MediaRouterAction::GetPopupNativeView() { |
| 134 return nullptr; | 133 return nullptr; |
| 135 } | 134 } |
| 136 | 135 |
| 137 ui::MenuModel* MediaRouterAction::GetContextMenu() { | 136 ui::MenuModel* MediaRouterAction::GetContextMenu() { |
| 138 return contextual_menu_.menu_model(); | 137 if (toolbar_actions_bar_->IsActionVisibleOnMainBar(this)) { |
| 138 contextual_menu_ = MediaRouterContextualMenu::CreateForToolbar(browser_); |
| 139 } else { |
| 140 contextual_menu_ = |
| 141 MediaRouterContextualMenu::CreateForOverflowMenu(browser_); |
| 142 } |
| 143 return contextual_menu_->menu_model(); |
| 139 } | 144 } |
| 140 | 145 |
| 141 void MediaRouterAction::OnContextMenuClosed() { | 146 void MediaRouterAction::OnContextMenuClosed() { |
| 142 if (toolbar_actions_bar_->popped_out_action() == this && | 147 if (toolbar_actions_bar_->popped_out_action() == this && |
| 143 !GetMediaRouterDialogController()->IsShowingMediaRouterDialog()) { | 148 !GetMediaRouterDialogController()->IsShowingMediaRouterDialog()) { |
| 144 toolbar_actions_bar_->UndoPopOut(); | 149 toolbar_actions_bar_->UndoPopOut(); |
| 145 } | 150 } |
| 146 } | 151 } |
| 147 | 152 |
| 148 bool MediaRouterAction::ExecuteAction(bool by_user) { | 153 bool MediaRouterAction::ExecuteAction(bool by_user) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 165 | 170 |
| 166 void MediaRouterAction::UpdateState() { | 171 void MediaRouterAction::UpdateState() { |
| 167 delegate_->UpdateState(); | 172 delegate_->UpdateState(); |
| 168 } | 173 } |
| 169 | 174 |
| 170 bool MediaRouterAction::DisabledClickOpensMenu() const { | 175 bool MediaRouterAction::DisabledClickOpensMenu() const { |
| 171 return false; | 176 return false; |
| 172 } | 177 } |
| 173 | 178 |
| 174 void MediaRouterAction::OnIssue(const media_router::Issue& issue) { | 179 void MediaRouterAction::OnIssue(const media_router::Issue& issue) { |
| 175 current_issue_.reset(new media_router::IssueInfo(issue.info())); | 180 current_issue_ = base::MakeUnique<media_router::IssueInfo>(issue.info()); |
| 176 MaybeUpdateIcon(); | 181 MaybeUpdateIcon(); |
| 177 } | 182 } |
| 178 | 183 |
| 179 void MediaRouterAction::OnIssuesCleared() { | 184 void MediaRouterAction::OnIssuesCleared() { |
| 180 current_issue_.reset(); | 185 current_issue_.reset(); |
| 181 MaybeUpdateIcon(); | 186 MaybeUpdateIcon(); |
| 182 } | 187 } |
| 183 | 188 |
| 184 void MediaRouterAction::OnRoutesUpdated( | 189 void MediaRouterAction::OnRoutesUpdated( |
| 185 const std::vector<media_router::MediaRoute>& routes, | 190 const std::vector<media_router::MediaRoute>& routes, |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 if (severity == media_router::IssueInfo::Severity::FATAL) | 287 if (severity == media_router::IssueInfo::Severity::FATAL) |
| 283 return ui::kMediaRouterErrorIcon; | 288 return ui::kMediaRouterErrorIcon; |
| 284 if (severity == media_router::IssueInfo::Severity::WARNING) | 289 if (severity == media_router::IssueInfo::Severity::WARNING) |
| 285 return ui::kMediaRouterWarningIcon; | 290 return ui::kMediaRouterWarningIcon; |
| 286 // Fall through for Severity::NOTIFICATION. | 291 // Fall through for Severity::NOTIFICATION. |
| 287 } | 292 } |
| 288 | 293 |
| 289 return has_local_display_route_ ? ui::kMediaRouterActiveIcon | 294 return has_local_display_route_ ? ui::kMediaRouterActiveIcon |
| 290 : ui::kMediaRouterIdleIcon; | 295 : ui::kMediaRouterIdleIcon; |
| 291 } | 296 } |
| OLD | NEW |