Index: chrome/browser/ui/toolbar/media_router_action.cc |
diff --git a/chrome/browser/ui/toolbar/media_router_action.cc b/chrome/browser/ui/toolbar/media_router_action.cc |
index 6895711ead3a7ea4dc58a194228b36b34c257259..444d223347f26819d8fe8466d5ad04182cee962a 100644 |
--- a/chrome/browser/ui/toolbar/media_router_action.cc |
+++ b/chrome/browser/ui/toolbar/media_router_action.cc |
@@ -6,12 +6,15 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h" |
+#include "chrome/browser/ui/webui/media_router/media_router_dialog_controller.h" |
#include "chrome/grit/generated_resources.h" |
#include "grit/theme_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/resource/resource_bundle.h" |
#include "ui/gfx/image/image_skia.h" |
+using media_router::MediaRouterDialogController; |
+ |
MediaRouterAction::MediaRouterAction() |
: id_("media_router_action"), |
name_(l10n_util::GetStringUTF16(IDS_MEDIA_ROUTER_TITLE)), |
@@ -63,40 +66,42 @@ bool MediaRouterAction::IsEnabled( |
bool MediaRouterAction::WantsToRun( |
content::WebContents* web_contents) const { |
- NOTIMPLEMENTED(); |
return false; |
} |
bool MediaRouterAction::HasPopup( |
content::WebContents* web_contents) const { |
- NOTIMPLEMENTED(); |
return true; |
} |
void MediaRouterAction::HidePopup() { |
- NOTIMPLEMENTED(); |
+ GetMediaRouterDialogController()->CloseMediaRouterDialog(); |
} |
gfx::NativeView MediaRouterAction::GetPopupNativeView() { |
- NOTIMPLEMENTED(); |
return nullptr; |
} |
ui::MenuModel* MediaRouterAction::GetContextMenu() { |
- NOTIMPLEMENTED(); |
return nullptr; |
} |
bool MediaRouterAction::CanDrag() const { |
- NOTIMPLEMENTED(); |
return false; |
} |
bool MediaRouterAction::ExecuteAction(bool by_user) { |
- NOTIMPLEMENTED(); |
- return false; |
+ GetMediaRouterDialogController()->ShowMediaRouterDialog(); |
+ return true; |
} |
void MediaRouterAction::UpdateState() { |
NOTIMPLEMENTED(); |
} |
+ |
+MediaRouterDialogController* GetMediaRouterDialogController() { |
+ DCHECK(delegate_); |
+ content::WebContents* web_contents = delegate_->GetCurrentWebContents(); |
+ DCHECK(web_contents); |
+ return MediaRouterDialogController::GetOrCreateForWebContents(web_contents); |
+} |