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

Side by Side Diff: chrome/browser/media/android/router/media_router_android.cc

Issue 1911183002: [Media Router] Implement an internal Media Routes observer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix bad merge & android build Created 4 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/media/router/media_router_base.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 tab_id, 187 tab_id,
188 request_id); 188 request_id);
189 } 189 }
190 190
191 void MediaRouterAndroid::TerminateRoute(const MediaRoute::Id& route_id) { 191 void MediaRouterAndroid::TerminateRoute(const MediaRoute::Id& route_id) {
192 JNIEnv* env = base::android::AttachCurrentThread(); 192 JNIEnv* env = base::android::AttachCurrentThread();
193 ScopedJavaLocalRef<jstring> jroute_id = 193 ScopedJavaLocalRef<jstring> jroute_id =
194 base::android::ConvertUTF8ToJavaString(env, route_id); 194 base::android::ConvertUTF8ToJavaString(env, route_id);
195 Java_ChromeMediaRouter_closeRoute( 195 Java_ChromeMediaRouter_closeRoute(
196 env, java_media_router_.obj(), jroute_id.obj()); 196 env, java_media_router_.obj(), jroute_id.obj());
197 OnRouteTerminated(route_id);
198 } 197 }
199 198
200 void MediaRouterAndroid::SendRouteMessage( 199 void MediaRouterAndroid::SendRouteMessage(
201 const MediaRoute::Id& route_id, 200 const MediaRoute::Id& route_id,
202 const std::string& message, 201 const std::string& message,
203 const SendRouteMessageCallback& callback) { 202 const SendRouteMessageCallback& callback) {
204 int callback_id = message_callbacks_.Add( 203 int callback_id = message_callbacks_.Add(
205 new SendRouteMessageCallback(callback)); 204 new SendRouteMessageCallback(callback));
206 JNIEnv* env = base::android::AttachCurrentThread(); 205 JNIEnv* env = base::android::AttachCurrentThread();
207 ScopedJavaLocalRef<jstring> jroute_id = 206 ScopedJavaLocalRef<jstring> jroute_id =
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id); 394 MediaRouteRequest* request = route_requests_.Lookup(jroute_request_id);
396 if (!request) 395 if (!request)
397 return; 396 return;
398 397
399 MediaRoute route(ConvertJavaStringToUTF8(env, jmedia_route_id), 398 MediaRoute route(ConvertJavaStringToUTF8(env, jmedia_route_id),
400 request->media_source, 399 request->media_source,
401 ConvertJavaStringToUTF8(env, jsink_id), std::string(), 400 ConvertJavaStringToUTF8(env, jsink_id), std::string(),
402 jis_local, std::string(), 401 jis_local, std::string(),
403 true); // TODO(avayvod): Populate for_display. 402 true); // TODO(avayvod): Populate for_display.
404 403
405 // TODO(crbug.com/588239): Call OnOffTheRecordRouteCreated() if |route|
406 // is OTR
407 std::unique_ptr<RouteRequestResult> result = RouteRequestResult::FromSuccess( 404 std::unique_ptr<RouteRequestResult> result = RouteRequestResult::FromSuccess(
408 base::WrapUnique(new MediaRoute(route)), request->presentation_id); 405 base::WrapUnique(new MediaRoute(route)), request->presentation_id);
409 for (const MediaRouteResponseCallback& callback : request->callbacks) 406 for (const MediaRouteResponseCallback& callback : request->callbacks)
410 callback.Run(*result); 407 callback.Run(*result);
411 408
412 route_requests_.Remove(jroute_request_id); 409 route_requests_.Remove(jroute_request_id);
413 410
414 active_routes_.push_back(route); 411 active_routes_.push_back(route);
415 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_, 412 FOR_EACH_OBSERVER(MediaRoutesObserver, routes_observers_,
416 OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>())); 413 OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>()));
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 std::unique_ptr<content::PresentationSessionMessage> message( 487 std::unique_ptr<content::PresentationSessionMessage> message(
491 new content::PresentationSessionMessage(content::TEXT)); 488 new content::PresentationSessionMessage(content::TEXT));
492 message->message = ConvertJavaStringToUTF8(env, jmessage); 489 message->message = ConvertJavaStringToUTF8(env, jmessage);
493 session_messages.push_back(std::move(message)); 490 session_messages.push_back(std::move(message));
494 491
495 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list, 492 FOR_EACH_OBSERVER(PresentationSessionMessagesObserver, *observer_list,
496 OnMessagesReceived(session_messages, true)); 493 OnMessagesReceived(session_messages, true));
497 } 494 }
498 495
499 } // namespace media_router 496 } // namespace media_router
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/media/router/media_router_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698