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