| 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 dbcfb6c81b08c06c2ad0783a3ae0bc8a6412600d..4cb0f73467f49e02f75fc318d7cad30456513196 100644
|
| --- a/chrome/browser/ui/toolbar/media_router_action.cc
|
| +++ b/chrome/browser/ui/toolbar/media_router_action.cc
|
| @@ -39,17 +39,19 @@ media_router::MediaRouter* GetMediaRouter(Browser* browser) {
|
| MediaRouterAction::MediaRouterAction(Browser* browser,
|
| ToolbarActionsBar* toolbar_actions_bar)
|
| : media_router::IssuesObserver(GetMediaRouter(browser)),
|
| - media_router::LocalMediaRoutesObserver(GetMediaRouter(browser)),
|
| + media_router::MediaRoutesObserver(GetMediaRouter(browser)),
|
| media_router_active_icon_(
|
| - ui::ResourceBundle::GetSharedInstance()
|
| - .GetImageNamed(IDR_MEDIA_ROUTER_ACTIVE_ICON)),
|
| - media_router_error_icon_(ui::ResourceBundle::GetSharedInstance()
|
| - .GetImageNamed(IDR_MEDIA_ROUTER_ERROR_ICON)),
|
| - media_router_idle_icon_(ui::ResourceBundle::GetSharedInstance()
|
| - .GetImageNamed(IDR_MEDIA_ROUTER_IDLE_ICON)),
|
| + ui::ResourceBundle::GetSharedInstance().GetImageNamed(
|
| + IDR_MEDIA_ROUTER_ACTIVE_ICON)),
|
| + media_router_error_icon_(
|
| + ui::ResourceBundle::GetSharedInstance().GetImageNamed(
|
| + IDR_MEDIA_ROUTER_ERROR_ICON)),
|
| + media_router_idle_icon_(
|
| + ui::ResourceBundle::GetSharedInstance().GetImageNamed(
|
| + IDR_MEDIA_ROUTER_IDLE_ICON)),
|
| media_router_warning_icon_(
|
| - ui::ResourceBundle::GetSharedInstance()
|
| - .GetImageNamed(IDR_MEDIA_ROUTER_WARNING_ICON)),
|
| + ui::ResourceBundle::GetSharedInstance().GetImageNamed(
|
| + IDR_MEDIA_ROUTER_WARNING_ICON)),
|
| current_icon_(&media_router_idle_icon_),
|
| has_local_display_route_(false),
|
| delegate_(nullptr),
|
| @@ -64,8 +66,6 @@ MediaRouterAction::MediaRouterAction(Browser* browser,
|
| tab_strip_model_observer_.Add(browser_->tab_strip_model());
|
|
|
| RegisterObserver();
|
| - OnHasLocalDisplayRouteUpdated(
|
| - GetMediaRouter(browser)->HasLocalDisplayRoute());
|
| }
|
|
|
| MediaRouterAction::~MediaRouterAction() {
|
| @@ -163,9 +163,14 @@ void MediaRouterAction::OnIssueUpdated(const media_router::Issue* issue) {
|
| MaybeUpdateIcon();
|
| }
|
|
|
| -void MediaRouterAction::OnHasLocalDisplayRouteUpdated(
|
| - bool has_local_display_route) {
|
| - has_local_display_route_ = has_local_display_route;
|
| +void MediaRouterAction::OnRoutesUpdated(
|
| + const std::vector<media_router::MediaRoute>& routes,
|
| + const std::vector<media_router::MediaRoute::Id>& joinable_route_ids) {
|
| + has_local_display_route_ =
|
| + std::find_if(routes.begin(), routes.end(),
|
| + [](const media_router::MediaRoute& route) {
|
| + return route.is_local() && route.for_display();
|
| + }) != routes.end();
|
| MaybeUpdateIcon();
|
| }
|
|
|
|
|