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