Chromium Code Reviews| Index: webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| diff --git a/webrtc/sdk/android/src/jni/peerconnection_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| index 6416a1748987f8ea39bfaa282624e7d961c16310..6c96641e8e08038bf726b5991cc1048cf218cd8e 100644 |
| --- a/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| +++ b/webrtc/sdk/android/src/jni/peerconnection_jni.cc |
| @@ -1525,6 +1525,23 @@ static PeerConnectionInterface::ContinualGatheringPolicy |
| return PeerConnectionInterface::GATHER_ONCE; |
| } |
| +static PeerConnectionInterface::TlsCertificatePolicy |
| +JavaTlsCertificatePolicyTypeToNativeType(JNIEnv* jni, |
| + jobject j_ice_server_tls_cert_policy) { |
| + std::string enum_name = |
| + GetJavaEnumName(jni, "org/webrtc/PeerConnection$TlsCertificatePolicy", |
| + j_ice_server_tls_cert_policy); |
| + |
| + if (enum_name == "TLS_CERT_POLICY_SECURE") |
| + return PeerConnectionInterface::kTlsCertPolicySecure; |
| + |
| + if (enum_name == "TLS_CERT_POLICY_INSECURE_NO_CHECK") |
| + return PeerConnectionInterface::kTlsCertPolicyInsecureNoCheck; |
| + |
| + RTC_CHECK(false) << "Unexpected TlsCertificatePolicy enum_name " << enum_name; |
| + return PeerConnectionInterface::kTlsCertPolicySecure; |
| +} |
| + |
| static void JavaIceServersToJsepIceServers( |
| JNIEnv* jni, jobject j_ice_servers, |
| PeerConnectionInterface::IceServers* ice_servers) { |
| @@ -1536,16 +1553,25 @@ static void JavaIceServersToJsepIceServers( |
| GetFieldID(jni, j_ice_server_class, "username", "Ljava/lang/String;"); |
| jfieldID j_ice_server_password_id = |
| GetFieldID(jni, j_ice_server_class, "password", "Ljava/lang/String;"); |
| + jfieldID j_ice_server_tls_cert_policy_id = |
| + GetFieldID(jni, j_ice_server_class, "tlsCertificatePolicy", |
| + "Lorg/webrtc/PeerConnection$TlsCertificatePolicy;"); |
| + jobject j_ice_server_tls_cert_policy = |
| + GetObjectField(jni, j_ice_server, j_ice_server_tls_cert_policy_id); |
| jstring uri = reinterpret_cast<jstring>( |
| GetObjectField(jni, j_ice_server, j_ice_server_uri_id)); |
| jstring username = reinterpret_cast<jstring>( |
| GetObjectField(jni, j_ice_server, j_ice_server_username_id)); |
| jstring password = reinterpret_cast<jstring>( |
| GetObjectField(jni, j_ice_server, j_ice_server_password_id)); |
| + PeerConnectionInterface::TlsCertificatePolicy tls_certificate_policy = |
| + JavaTlsCertificatePolicyTypeToNativeType(jni, |
| + j_ice_server_tls_cert_policy); |
| PeerConnectionInterface::IceServer server; |
| server.uri = JavaToStdString(jni, uri); |
| server.username = JavaToStdString(jni, username); |
| server.password = JavaToStdString(jni, password); |
| + server.tls_certificate_policy = tls_certificate_policy; |
|
pthatcher1
2016/12/07 21:29:36
If my idea works, you shouldn't any of this new Ja
hnsl1
2016/12/12 16:08:13
Acknowledged.
|
| ice_servers->push_back(server); |
| } |
| } |