| Index: chrome/browser/media/router/presentation_service_delegate_impl.cc
|
| diff --git a/chrome/browser/media/router/presentation_service_delegate_impl.cc b/chrome/browser/media/router/presentation_service_delegate_impl.cc
|
| index e03063d83228cd22368d63c42e78bebb6675992a..5b40c50bfe800570c68671d62bb492f9ff20fe06 100644
|
| --- a/chrome/browser/media/router/presentation_service_delegate_impl.cc
|
| +++ b/chrome/browser/media/router/presentation_service_delegate_impl.cc
|
| @@ -178,12 +178,19 @@ const std::vector<MediaRoute::Id> PresentationFrame::GetRouteIds() const {
|
|
|
| bool PresentationFrame::SetScreenAvailabilityListener(
|
| content::PresentationScreenAvailabilityListener* listener) {
|
| - if (sinks_observer_ && sinks_observer_->listener() == listener) {
|
| + if (sinks_observer_ && sinks_observer_->listener() == listener)
|
| return false;
|
| - }
|
| +
|
| MediaSource source(GetMediaSourceFromListener(listener));
|
| - sinks_observer_.reset(
|
| - new PresentationMediaSinksObserver(router_, listener, source));
|
| + PresentationMediaSinksObserver* sinks_observer =
|
| + new PresentationMediaSinksObserver(router_, listener, source);
|
| +
|
| + if (!sinks_observer->is_active()) {
|
| + listener->OnScreenAvailabilityNotSupported();
|
| + return false;
|
| + }
|
| +
|
| + sinks_observer_.reset(sinks_observer);
|
| return true;
|
| }
|
|
|
|
|