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

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

Issue 1241063003: Support Component Actions in the toolbar. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes per isherman@'s comments. Created 5 years, 4 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/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/media/router/media_router_dialog_controller.h" 8 #include "chrome/browser/media/router/media_router_dialog_controller.h"
9 #include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
9 #include "chrome/browser/ui/toolbar/media_router_action_platform_delegate.h" 10 #include "chrome/browser/ui/toolbar/media_router_action_platform_delegate.h"
10 #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h" 11 #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
11 #include "chrome/grit/generated_resources.h" 12 #include "chrome/grit/generated_resources.h"
12 #include "grit/theme_resources.h" 13 #include "grit/theme_resources.h"
13 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
14 #include "ui/base/resource/resource_bundle.h" 15 #include "ui/base/resource/resource_bundle.h"
15 #include "ui/gfx/image/image_skia.h" 16 #include "ui/gfx/image/image_skia.h"
16 17
17 using media_router::MediaRouterDialogController; 18 using media_router::MediaRouterDialogController;
18 19
19 MediaRouterAction::MediaRouterAction(Browser* browser) 20 MediaRouterAction::MediaRouterAction(Browser* browser)
20 : id_("media_router_action"), 21 : id_(ComponentToolbarActionsFactory::kMediaRouterActionId),
21 name_(l10n_util::GetStringUTF16(IDS_MEDIA_ROUTER_TITLE)), 22 name_(l10n_util::GetStringUTF16(IDS_MEDIA_ROUTER_TITLE)),
22 media_router_idle_icon_(ui::ResourceBundle::GetSharedInstance(). 23 media_router_idle_icon_(ui::ResourceBundle::GetSharedInstance().
23 GetImageNamed(IDR_MEDIA_ROUTER_IDLE_ICON)), 24 GetImageNamed(IDR_MEDIA_ROUTER_IDLE_ICON)),
24 delegate_(nullptr), 25 delegate_(nullptr),
25 platform_delegate_(MediaRouterActionPlatformDelegate::Create(browser)), 26 platform_delegate_(MediaRouterActionPlatformDelegate::Create(browser)),
26 contextual_menu_(browser) { 27 contextual_menu_(browser) {
27 } 28 }
28 29
29 MediaRouterAction::~MediaRouterAction() { 30 MediaRouterAction::~MediaRouterAction() {
30 } 31 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 79
79 gfx::NativeView MediaRouterAction::GetPopupNativeView() { 80 gfx::NativeView MediaRouterAction::GetPopupNativeView() {
80 return nullptr; 81 return nullptr;
81 } 82 }
82 83
83 ui::MenuModel* MediaRouterAction::GetContextMenu() { 84 ui::MenuModel* MediaRouterAction::GetContextMenu() {
84 return contextual_menu_.menu_model(); 85 return contextual_menu_.menu_model();
85 } 86 }
86 87
87 bool MediaRouterAction::CanDrag() const { 88 bool MediaRouterAction::CanDrag() const {
88 return false; 89 return true;
89 } 90 }
90 91
91 bool MediaRouterAction::ExecuteAction(bool by_user) { 92 bool MediaRouterAction::ExecuteAction(bool by_user) {
92 GetMediaRouterDialogController()->ShowMediaRouterDialog(); 93 GetMediaRouterDialogController()->ShowMediaRouterDialog();
93 if (platform_delegate_) 94 if (platform_delegate_)
94 platform_delegate_->CloseOverflowMenuIfOpen(); 95 platform_delegate_->CloseOverflowMenuIfOpen();
95 return true; 96 return true;
96 } 97 }
97 98
98 void MediaRouterAction::UpdateState() { 99 void MediaRouterAction::UpdateState() {
100 if (delegate_)
101 delegate_->UpdateState();
99 } 102 }
100 103
101 MediaRouterDialogController* 104 MediaRouterDialogController*
102 MediaRouterAction::GetMediaRouterDialogController() { 105 MediaRouterAction::GetMediaRouterDialogController() {
103 DCHECK(delegate_); 106 DCHECK(delegate_);
104 content::WebContents* web_contents = delegate_->GetCurrentWebContents(); 107 content::WebContents* web_contents = delegate_->GetCurrentWebContents();
105 DCHECK(web_contents); 108 DCHECK(web_contents);
106 return MediaRouterDialogController::GetOrCreateForWebContents(web_contents); 109 return MediaRouterDialogController::GetOrCreateForWebContents(web_contents);
107 } 110 }
108 111
109 bool MediaRouterAction::DisabledClickOpensMenu() const { 112 bool MediaRouterAction::DisabledClickOpensMenu() const {
110 return false; 113 return false;
111 } 114 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698