Index: chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
diff --git a/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc b/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
index a87915701ffe68483d1fd043e18e62a2a9525961..a81776b7e2e915d194bd0b792811d883388fccc4 100644 |
--- a/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
+++ b/chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/media/router/discovery/dial/dial_media_sink_service_impl.h" |
#include "chrome/browser/media/router/discovery/dial/dial_device_data.h" |
+#include "chrome/browser/media/router/discovery/mdns/cast_media_sink_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "content/public/browser/browser_thread.h" |
#include "net/url_request/url_request_context_getter.h" |
@@ -61,6 +62,11 @@ DeviceDescriptionService* DialMediaSinkServiceImpl::GetDescriptionService() { |
return description_service_.get(); |
} |
+void DialMediaSinkServiceImpl::SetDialMediaSinkServiceDelegate( |
+ scoped_refptr<DialMediaSinkServiceDelegate> delegate) { |
+ delegate_ = delegate; |
+} |
+ |
void DialMediaSinkServiceImpl::SetDialRegistryForTest( |
DialRegistry* dial_registry) { |
DCHECK(!test_dial_registry_); |
@@ -81,6 +87,8 @@ void DialMediaSinkServiceImpl::OnDialDeviceEvent( |
current_sinks_.clear(); |
current_devices_ = devices; |
+ if (delegate_) |
+ delegate_->OnDialSinksRemoved(); |
GetDescriptionService()->GetDeviceDescriptions(devices, |
request_context_.get()); |
@@ -115,7 +123,10 @@ void DialMediaSinkServiceImpl::OnDeviceDescriptionAvailable( |
return; |
} |
- current_sinks_.insert(MediaSinkInternal(sink, extra_data)); |
+ MediaSinkInternal dial_sink(sink, extra_data); |
+ current_sinks_.insert(dial_sink); |
+ if (delegate_) |
+ delegate_->OnDialSinkAdded(dial_sink); |
// Start fetch timer again if device description comes back after |
// |finish_timer_| fires. |