Index: chrome/browser/media/router/presentation_connection_state_observer.cc |
diff --git a/chrome/browser/media/router/presentation_connection_state_observer.cc b/chrome/browser/media/router/presentation_connection_state_observer.cc |
index 47f342cedabf8f9ec1ef1b694f5c2c80ce03feda..0d7d3e403e6118926e00c603de90db7dfc5d2c52 100644 |
--- a/chrome/browser/media/router/presentation_connection_state_observer.cc |
+++ b/chrome/browser/media/router/presentation_connection_state_observer.cc |
@@ -10,9 +10,15 @@ |
namespace media_router { |
PresentationConnectionStateObserver::PresentationConnectionStateObserver( |
- MediaRouter* router, |
- const MediaRoute::Id& route_id) |
- : router_(router), route_id_(route_id) { |
+ const content::PresentationConnectionStateChangedCallback& state_changed_cb, |
+ const content::PresentationSessionInfo& connection, |
+ const MediaRoute::Id& route_id, |
+ MediaRouter* router) |
+ : state_changed_cb_(state_changed_cb), |
+ connection_(connection), |
+ route_id_(route_id), |
+ router_(router) { |
+ DCHECK(!state_changed_cb_.is_null()); |
DCHECK(router_); |
router_->RegisterPresentationConnectionStateObserver(this); |
} |
@@ -21,4 +27,11 @@ PresentationConnectionStateObserver::~PresentationConnectionStateObserver() { |
router_->UnregisterPresentationConnectionStateObserver(this); |
} |
+void PresentationConnectionStateObserver::OnStateChanged( |
+ content::PresentationConnectionState state) { |
+ DVLOG(2) << __FUNCTION__ << "presentation_id: " << connection_.presentation_id |
+ << ", state: " << state; |
+ state_changed_cb_.Run(connection_, state); |
mark a. foltz
2015/11/12 04:19:38
All this observer object is doing is wrapping a ba
imcheng
2015/11/16 23:52:01
If we pass in a callback, the implementation will
|
+} |
+ |
} // namespace media_router |