| OLD | NEW |
| 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 | 94 |
| 95 int tab_id = -1; | 95 int tab_id = -1; |
| 96 TabAndroid* tab = web_contents | 96 TabAndroid* tab = web_contents |
| 97 ? TabAndroid::FromWebContents(web_contents) : nullptr; | 97 ? TabAndroid::FromWebContents(web_contents) : nullptr; |
| 98 if (tab) | 98 if (tab) |
| 99 tab_id = tab->GetAndroidId(); | 99 tab_id = tab->GetAndroidId(); |
| 100 | 100 |
| 101 bool is_incognito = web_contents | 101 bool is_incognito = web_contents |
| 102 && web_contents->GetBrowserContext()->IsOffTheRecord(); | 102 && web_contents->GetBrowserContext()->IsOffTheRecord(); |
| 103 | 103 |
| 104 MediaRouteRequest* request = new MediaRouteRequest( | 104 int route_request_id = route_requests_.Add( |
| 105 MediaSource(source_id), | 105 base::MakeUnique<MediaRouteRequest>( |
| 106 presentation_id, | 106 MediaSource(source_id), |
| 107 callbacks); | 107 presentation_id, |
| 108 int route_request_id = route_requests_.Add(request); | 108 callbacks)); |
| 109 | 109 |
| 110 JNIEnv* env = base::android::AttachCurrentThread(); | 110 JNIEnv* env = base::android::AttachCurrentThread(); |
| 111 ScopedJavaLocalRef<jstring> jsource_id = | 111 ScopedJavaLocalRef<jstring> jsource_id = |
| 112 base::android::ConvertUTF8ToJavaString(env, source_id); | 112 base::android::ConvertUTF8ToJavaString(env, source_id); |
| 113 ScopedJavaLocalRef<jstring> jsink_id = | 113 ScopedJavaLocalRef<jstring> jsink_id = |
| 114 base::android::ConvertUTF8ToJavaString(env, sink_id); | 114 base::android::ConvertUTF8ToJavaString(env, sink_id); |
| 115 ScopedJavaLocalRef<jstring> jpresentation_id = | 115 ScopedJavaLocalRef<jstring> jpresentation_id = |
| 116 base::android::ConvertUTF8ToJavaString(env, presentation_id); | 116 base::android::ConvertUTF8ToJavaString(env, presentation_id); |
| 117 ScopedJavaLocalRef<jstring> jorigin = | 117 ScopedJavaLocalRef<jstring> jorigin = |
| 118 base::android::ConvertUTF8ToJavaString(env, origin.spec()); | 118 base::android::ConvertUTF8ToJavaString(env, origin.spec()); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 | 152 |
| 153 int tab_id = -1; | 153 int tab_id = -1; |
| 154 TabAndroid* tab = web_contents | 154 TabAndroid* tab = web_contents |
| 155 ? TabAndroid::FromWebContents(web_contents) : nullptr; | 155 ? TabAndroid::FromWebContents(web_contents) : nullptr; |
| 156 if (tab) | 156 if (tab) |
| 157 tab_id = tab->GetAndroidId(); | 157 tab_id = tab->GetAndroidId(); |
| 158 | 158 |
| 159 DVLOG(2) << "JoinRoute: " << source_id << ", " << presentation_id << ", " | 159 DVLOG(2) << "JoinRoute: " << source_id << ", " << presentation_id << ", " |
| 160 << origin.spec() << ", " << tab_id; | 160 << origin.spec() << ", " << tab_id; |
| 161 | 161 |
| 162 MediaRouteRequest* request = new MediaRouteRequest( | 162 int request_id = route_requests_.Add(base::MakeUnique<MediaRouteRequest>( |
| 163 MediaSource(source_id), | 163 MediaSource(source_id), |
| 164 presentation_id, | 164 presentation_id, |
| 165 callbacks); | 165 callbacks)); |
| 166 int request_id = route_requests_.Add(request); | |
| 167 | 166 |
| 168 JNIEnv* env = base::android::AttachCurrentThread(); | 167 JNIEnv* env = base::android::AttachCurrentThread(); |
| 169 ScopedJavaLocalRef<jstring> jsource_id = | 168 ScopedJavaLocalRef<jstring> jsource_id = |
| 170 base::android::ConvertUTF8ToJavaString(env, source_id); | 169 base::android::ConvertUTF8ToJavaString(env, source_id); |
| 171 ScopedJavaLocalRef<jstring> jpresentation_id = | 170 ScopedJavaLocalRef<jstring> jpresentation_id = |
| 172 base::android::ConvertUTF8ToJavaString(env, presentation_id); | 171 base::android::ConvertUTF8ToJavaString(env, presentation_id); |
| 173 ScopedJavaLocalRef<jstring> jorigin = | 172 ScopedJavaLocalRef<jstring> jorigin = |
| 174 base::android::ConvertUTF8ToJavaString(env, origin.spec()); | 173 base::android::ConvertUTF8ToJavaString(env, origin.spec()); |
| 175 | 174 |
| 176 Java_ChromeMediaRouter_joinRoute(env, java_media_router_, jsource_id, | 175 Java_ChromeMediaRouter_joinRoute(env, java_media_router_, jsource_id, |
| 177 jpresentation_id, jorigin, tab_id, | 176 jpresentation_id, jorigin, tab_id, |
| 178 request_id); | 177 request_id); |
| 179 } | 178 } |
| 180 | 179 |
| 181 void MediaRouterAndroid::TerminateRoute(const MediaRoute::Id& route_id) { | 180 void MediaRouterAndroid::TerminateRoute(const MediaRoute::Id& route_id) { |
| 182 JNIEnv* env = base::android::AttachCurrentThread(); | 181 JNIEnv* env = base::android::AttachCurrentThread(); |
| 183 ScopedJavaLocalRef<jstring> jroute_id = | 182 ScopedJavaLocalRef<jstring> jroute_id = |
| 184 base::android::ConvertUTF8ToJavaString(env, route_id); | 183 base::android::ConvertUTF8ToJavaString(env, route_id); |
| 185 Java_ChromeMediaRouter_closeRoute(env, java_media_router_, jroute_id); | 184 Java_ChromeMediaRouter_closeRoute(env, java_media_router_, jroute_id); |
| 186 } | 185 } |
| 187 | 186 |
| 188 void MediaRouterAndroid::SendRouteMessage( | 187 void MediaRouterAndroid::SendRouteMessage( |
| 189 const MediaRoute::Id& route_id, | 188 const MediaRoute::Id& route_id, |
| 190 const std::string& message, | 189 const std::string& message, |
| 191 const SendRouteMessageCallback& callback) { | 190 const SendRouteMessageCallback& callback) { |
| 192 int callback_id = message_callbacks_.Add( | 191 int callback_id = message_callbacks_.Add( |
| 193 new SendRouteMessageCallback(callback)); | 192 base::MakeUnique<SendRouteMessageCallback>(callback)); |
| 194 JNIEnv* env = base::android::AttachCurrentThread(); | 193 JNIEnv* env = base::android::AttachCurrentThread(); |
| 195 ScopedJavaLocalRef<jstring> jroute_id = | 194 ScopedJavaLocalRef<jstring> jroute_id = |
| 196 base::android::ConvertUTF8ToJavaString(env, route_id); | 195 base::android::ConvertUTF8ToJavaString(env, route_id); |
| 197 ScopedJavaLocalRef<jstring> jmessage = | 196 ScopedJavaLocalRef<jstring> jmessage = |
| 198 base::android::ConvertUTF8ToJavaString(env, message); | 197 base::android::ConvertUTF8ToJavaString(env, message); |
| 199 Java_ChromeMediaRouter_sendStringMessage(env, java_media_router_, jroute_id, | 198 Java_ChromeMediaRouter_sendStringMessage(env, java_media_router_, jroute_id, |
| 200 jmessage, callback_id); | 199 jmessage, callback_id); |
| 201 } | 200 } |
| 202 | 201 |
| 203 void MediaRouterAndroid::SendRouteBinaryMessage( | 202 void MediaRouterAndroid::SendRouteBinaryMessage( |
| 204 const MediaRoute::Id& route_id, | 203 const MediaRoute::Id& route_id, |
| 205 std::unique_ptr<std::vector<uint8_t>> data, | 204 std::unique_ptr<std::vector<uint8_t>> data, |
| 206 const SendRouteMessageCallback& callback) { | 205 const SendRouteMessageCallback& callback) { |
| 207 int callback_id = | 206 int callback_id = |
| 208 message_callbacks_.Add(new SendRouteMessageCallback(callback)); | 207 message_callbacks_.Add( |
| 208 base::MakeUnique<SendRouteMessageCallback>(callback)); |
| 209 JNIEnv* env = base::android::AttachCurrentThread(); | 209 JNIEnv* env = base::android::AttachCurrentThread(); |
| 210 ScopedJavaLocalRef<jstring> jroute_id = | 210 ScopedJavaLocalRef<jstring> jroute_id = |
| 211 base::android::ConvertUTF8ToJavaString(env, route_id); | 211 base::android::ConvertUTF8ToJavaString(env, route_id); |
| 212 ScopedJavaLocalRef<jbyteArray> jbyte_array = | 212 ScopedJavaLocalRef<jbyteArray> jbyte_array = |
| 213 base::android::ToJavaByteArray(env, &((*data)[0]), data->size()); | 213 base::android::ToJavaByteArray(env, &((*data)[0]), data->size()); |
| 214 Java_ChromeMediaRouter_sendBinaryMessage(env, java_media_router_, jroute_id, | 214 Java_ChromeMediaRouter_sendBinaryMessage(env, java_media_router_, jroute_id, |
| 215 jbyte_array, callback_id); | 215 jbyte_array, callback_id); |
| 216 } | 216 } |
| 217 | 217 |
| 218 void MediaRouterAndroid::AddIssue(const Issue& issue) { | 218 void MediaRouterAndroid::AddIssue(const Issue& issue) { |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 return; | 460 return; |
| 461 | 461 |
| 462 std::vector<RouteMessage> messages(1); | 462 std::vector<RouteMessage> messages(1); |
| 463 messages.front().type = RouteMessage::TEXT; | 463 messages.front().type = RouteMessage::TEXT; |
| 464 messages.front().text = ConvertJavaStringToUTF8(env, jmessage); | 464 messages.front().text = ConvertJavaStringToUTF8(env, jmessage); |
| 465 for (auto& observer : *observer_list) | 465 for (auto& observer : *observer_list) |
| 466 observer.OnMessagesReceived(messages); | 466 observer.OnMessagesReceived(messages); |
| 467 } | 467 } |
| 468 | 468 |
| 469 } // namespace media_router | 469 } // namespace media_router |
| OLD | NEW |