Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Unified Diff: chrome/browser/media/router/presentation_service_delegate_impl.cc

Issue 1376703002: Presentation API: reject screen availability observing on Android low ram devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments and compile fix Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
whywhat 2015/09/29 12:29:22 I think you need to make sinks_observer a scoped_p
mlamouri (slow - plz ping) 2015/09/29 14:44:52 Good catch!
+ return false;
+ }
+
+ sinks_observer_.reset(sinks_observer);
return true;
}

Powered by Google App Engine
This is Rietveld 408576698