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

Unified Diff: chrome/browser/ui/toolbar/media_router_action.cc

Issue 1149893020: [Media Router] Implement MediaRouterAction + MediaRouterUI tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
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..58dde6d48d7925289ecea792e5e05c8ea77710f2 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,53 @@ bool MediaRouterAction::IsEnabled(
bool MediaRouterAction::WantsToRun(
content::WebContents* web_contents) const {
- NOTIMPLEMENTED();
Peter Kasting 2015/06/04 00:17:52 Nit: It looks like most of these functions have tr
imcheng (use chromium acct) 2015/06/04 01:04:20 Acknowledged. Most other implementations seem to b
return false;
}
bool MediaRouterAction::HasPopup(
content::WebContents* web_contents) const {
- NOTIMPLEMENTED();
return true;
}
void MediaRouterAction::HidePopup() {
- NOTIMPLEMENTED();
+ content::WebContents* web_contents = delegate_->GetCurrentWebContents();
Peter Kasting 2015/06/04 00:17:52 Nit: Why do you not DCHECK(delegate_) here, but yo
imcheng (use chromium acct) 2015/06/04 01:04:20 Done.
+ DCHECK(web_contents);
+ MediaRouterDialogController* controller =
+ MediaRouterDialogController::GetOrCreateForWebContents(web_contents);
Peter Kasting 2015/06/04 00:17:52 Nit: You have a bunch of code duplicated in these
imcheng (use chromium acct) 2015/06/04 01:04:20 Done.
+ controller->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;
+ DCHECK(delegate_);
+ content::WebContents* web_contents = delegate_->GetCurrentWebContents();
+ DCHECK(web_contents);
+ MediaRouterDialogController* controller =
+ MediaRouterDialogController::GetOrCreateForWebContents(web_contents);
+ controller->ShowMediaRouterDialog();
+ return true;
}
void MediaRouterAction::UpdateState() {
NOTIMPLEMENTED();
}
+
+content::WebContents* MediaRouterAction::GetMediaRouterDialog() const {
+ DCHECK(delegate_);
+ content::WebContents* web_contents = delegate_->GetCurrentWebContents();
+ DCHECK(web_contents);
+ MediaRouterDialogController* controller =
+ MediaRouterDialogController::GetOrCreateForWebContents(web_contents);
+ return controller->GetMediaRouterDialog();
+}

Powered by Google App Engine
This is Rietveld 408576698