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

Side by Side Diff: chrome/browser/media/android/router/media_router_android.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: fix and add tests Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/media/android/router/media_router_android.h" 5 #include "chrome/browser/media/android/router/media_router_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/guid.h" 9 #include "base/guid.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 181
182 void MediaRouterAndroid::ClearIssue(const Issue::Id& issue_id) { 182 void MediaRouterAndroid::ClearIssue(const Issue::Id& issue_id) {
183 NOTIMPLEMENTED(); 183 NOTIMPLEMENTED();
184 } 184 }
185 185
186 void MediaRouterAndroid::OnPresentationSessionDetached( 186 void MediaRouterAndroid::OnPresentationSessionDetached(
187 const MediaRoute::Id& route_id) { 187 const MediaRoute::Id& route_id) {
188 CloseRoute(route_id); 188 CloseRoute(route_id);
189 } 189 }
190 190
191 void MediaRouterAndroid::RegisterMediaSinksObserver( 191 bool MediaRouterAndroid::RegisterMediaSinksObserver(
192 MediaSinksObserver* observer) { 192 MediaSinksObserver* observer) {
193 const std::string& source_id = observer->source().id(); 193 const std::string& source_id = observer->source().id();
194 base::ObserverList<MediaSinksObserver>* observer_list = 194 base::ObserverList<MediaSinksObserver>* observer_list =
195 sinks_observers_.get(source_id); 195 sinks_observers_.get(source_id);
196 if (!observer_list) { 196 if (!observer_list) {
197 observer_list = new base::ObserverList<MediaSinksObserver>; 197 observer_list = new base::ObserverList<MediaSinksObserver>;
198 sinks_observers_.add(source_id, make_scoped_ptr(observer_list)); 198 sinks_observers_.add(source_id, make_scoped_ptr(observer_list));
199 } else { 199 } else {
200 DCHECK(!observer_list->HasObserver(observer)); 200 DCHECK(!observer_list->HasObserver(observer));
201 } 201 }
202 202
203 observer_list->AddObserver(observer); 203 observer_list->AddObserver(observer);
204 JNIEnv* env = base::android::AttachCurrentThread(); 204 JNIEnv* env = base::android::AttachCurrentThread();
205 ScopedJavaLocalRef<jstring> jsource_id = 205 ScopedJavaLocalRef<jstring> jsource_id =
206 base::android::ConvertUTF8ToJavaString(env, source_id); 206 base::android::ConvertUTF8ToJavaString(env, source_id);
207 Java_ChromeMediaRouter_startObservingMediaSinks( 207 return Java_ChromeMediaRouter_startObservingMediaSinks(
208 env, java_media_router_.obj(), jsource_id.obj()); 208 env, java_media_router_.obj(), jsource_id.obj());
209 } 209 }
210 210
211 void MediaRouterAndroid::UnregisterMediaSinksObserver( 211 void MediaRouterAndroid::UnregisterMediaSinksObserver(
212 MediaSinksObserver* observer) { 212 MediaSinksObserver* observer) {
213 const std::string& source_id = observer->source().id(); 213 const std::string& source_id = observer->source().id();
214 auto* observer_list = sinks_observers_.get(source_id); 214 auto* observer_list = sinks_observers_.get(source_id);
215 if (!observer_list || !observer_list->HasObserver(observer)) 215 if (!observer_list || !observer_list->HasObserver(observer))
216 return; 216 return;
217 217
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 scoped_ptr<content::PresentationSessionMessage> message( 381 scoped_ptr<content::PresentationSessionMessage> message(
382 new content::PresentationSessionMessage(content::TEXT)); 382 new content::PresentationSessionMessage(content::TEXT));
383 message->message = ConvertJavaStringToUTF8(env, jmessage); 383 message->message = ConvertJavaStringToUTF8(env, jmessage);
384 session_messages.push_back(message.Pass()); 384 session_messages.push_back(message.Pass());
385 385
386 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list, 386 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list,
387 OnMessagesReceived(session_messages, true)); 387 OnMessagesReceived(session_messages, true));
388 } 388 }
389 389
390 } // namespace media_router 390 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/android/router/media_router_android.h ('k') | chrome/browser/media/router/media_router.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698