Index: chrome/browser/media/router/mojo/media_router_mojo_impl.cc |
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc |
index 49718c8bbc7e6e1195545ad88cd622d5586f1501..80885d0ae35971794abe8ac9a633c471073d309a 100644 |
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl.cc |
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl.cc |
@@ -688,7 +688,10 @@ void MediaRouterMojoImpl::DoConnectRouteByRouteId( |
void MediaRouterMojoImpl::DoTerminateRoute(const MediaRoute::Id& route_id) { |
DVLOG_WITH_INSTANCE(1) << "DoTerminateRoute " << route_id; |
- media_route_provider_->TerminateRoute(route_id); |
+ media_route_provider_->TerminateRoute( |
+ route_id, |
+ base::Bind(&MediaRouterMojoImpl::OnTerminateRouteResult, |
+ base::Unretained(this), route_id)); |
} |
void MediaRouterMojoImpl::DoDetachRoute(const MediaRoute::Id& route_id) { |
@@ -808,6 +811,18 @@ void MediaRouterMojoImpl::OnPresentationConnectionClosed( |
message); |
} |
+void MediaRouterMojoImpl::OnTerminateRouteResult( |
+ const MediaRoute::Id& route_id, |
+ mojo::String error_text, |
+ interfaces::RouteRequestResultCode result_code) { |
+ if (result_code != interfaces::RouteRequestResultCode::OK) { |
+ LOG(WARNING) << "Failed to terminate route " << route_id << |
+ ": result_code = " << result_code << ", " << error_text; |
+ } |
+ MediaRouterMojoMetrics::RecordMediaRouteProviderTerminateRoute( |
+ mojo::RouteRequestResultCodeFromMojo(result_code)); |
+} |
+ |
void MediaRouterMojoImpl::DoStartObservingMediaSinks( |
const MediaSource::Id& source_id) { |
DVLOG_WITH_INSTANCE(1) << "DoStartObservingMediaSinks: " << source_id; |