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/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 Loading... |
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 } |
OLD | NEW |