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)) { |
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
| |
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 |