Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(284)

Side by Side Diff: chrome/browser/ui/toolbar/media_router_action.cc

Issue 2721953002: [Media Router] Add "Hide in menu/Show in toolbar" option to Cast toolbar icon (Closed)
Patch Set: Address Jennifer's and Mike's comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/toolbar/media_router_action.h ('k') | chrome/browser/ui/toolbar/media_router_contextual_menu.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698