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

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

Issue 1383653002: MediaRouterAction: Only observe Media Routes when there is a local route. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes per imcheng@'s comments. Created 5 years, 3 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 4d2ca8d54daa45488831eb6e01a582dddc6fa63f..9d54aa9ed586681d69739b5f12254f023787103a 100644
--- a/chrome/browser/ui/toolbar/media_router_action.cc
+++ b/chrome/browser/ui/toolbar/media_router_action.cc
@@ -25,9 +25,18 @@
using media_router::MediaRouterDialogControllerImpl;
+namespace {
+
+media_router::MediaRouter* GetMediaRouter(Browser* browser) {
+ return media_router::MediaRouterFactory::GetApiForBrowserContext(
+ browser->profile());
+}
+
+} // namespace
+
MediaRouterAction::MediaRouterAction(Browser* browser)
: media_router::IssuesObserver(GetMediaRouter(browser)),
- media_router::MediaRoutesObserver(GetMediaRouter(browser)),
+ media_router::LocalMediaRoutesObserver(GetMediaRouter(browser)),
media_router_active_icon_(
ui::ResourceBundle::GetSharedInstance()
.GetImageNamed(IDR_MEDIA_ROUTER_ACTIVE_ICON)),
@@ -48,6 +57,7 @@ MediaRouterAction::MediaRouterAction(Browser* browser)
weak_ptr_factory_(this) {
DCHECK(browser_);
tab_strip_model_observer_.Add(browser_->tab_strip_model());
+ SetHasLocalRoute(GetMediaRouter(browser)->GetHasLocalRoute());
}
MediaRouterAction::~MediaRouterAction() {
@@ -138,14 +148,8 @@ void MediaRouterAction::OnIssueUpdated(const media_router::Issue* issue) {
MaybeUpdateIcon();
}
-void MediaRouterAction::OnRoutesUpdated(
- const std::vector<media_router::MediaRoute>& routes) {
- has_local_route_ =
- std::find_if(routes.begin(), routes.end(),
- [](const media_router::MediaRoute& route) {
- return route.is_local(); }) !=
- routes.end();
- MaybeUpdateIcon();
+void MediaRouterAction::UpdateHasLocalRoute(bool has_local_route) {
imcheng 2015/10/02 17:21:11 It seems to me that this method is not needed. Cal
apacible 2015/10/02 18:48:20 UpdateHasLocalRoute (now OnHasLocalRouteUpdated) i
+ SetHasLocalRoute(has_local_route);
}
void MediaRouterAction::ActiveTabChanged(content::WebContents* old_contents,
@@ -167,6 +171,11 @@ void MediaRouterAction::OnPopupShown() {
delegate_->OnPopupShown(true);
}
+void MediaRouterAction::SetHasLocalRoute(bool has_local_route) {
+ has_local_route_ = has_local_route;
+ MaybeUpdateIcon();
+}
+
void MediaRouterAction::UpdatePopupState() {
MediaRouterDialogControllerImpl* controller =
GetMediaRouterDialogController();
@@ -195,11 +204,6 @@ MediaRouterAction::GetMediaRouterDialogController() {
web_contents);
}
-media_router::MediaRouter* MediaRouterAction::GetMediaRouter(Browser* browser) {
- return media_router::MediaRouterFactory::GetApiForBrowserContext(
- static_cast<content::BrowserContext*>(browser->profile()));
-}
-
MediaRouterActionPlatformDelegate* MediaRouterAction::GetPlatformDelegate() {
return platform_delegate_.get();
}

Powered by Google App Engine
This is Rietveld 408576698