| 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..e2010440ff76b1e2ebe1828dd2dd756b2e24daf4 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));
|
| +
|
| + if (!sinks_observer_->is_active()) {
|
| + sinks_observer_.reset();
|
| + listener->OnScreenAvailabilityNotSupported();
|
| + return false;
|
| + }
|
| +
|
| return true;
|
| }
|
|
|
|
|