| Index: remoting/client/jni/chromoting_jni_runtime.cc
|
| diff --git a/remoting/client/jni/chromoting_jni_runtime.cc b/remoting/client/jni/chromoting_jni_runtime.cc
|
| index 8384d679994407fd4c825ff4c718e740c0e93d24..5fc586f54b483f6fa44e3f59c0d76e346fd2ac7e 100644
|
| --- a/remoting/client/jni/chromoting_jni_runtime.cc
|
| +++ b/remoting/client/jni/chromoting_jni_runtime.cc
|
| @@ -144,6 +144,18 @@ static void SendTextEvent(JNIEnv* env,
|
| ConvertJavaStringToUTF8(env, text));
|
| }
|
|
|
| +static void OnThirdPartyTokenFetched(JNIEnv* env,
|
| + jclass clazz,
|
| + jstring token,
|
| + jstring shared_secret) {
|
| + ChromotingJniRuntime* runtime = remoting::ChromotingJniRuntime::GetInstance();
|
| + runtime->network_task_runner()->PostTask(FROM_HERE, base::Bind(
|
| + &ChromotingJniInstance::HandleOnThirdPartyTokenFetched,
|
| + runtime->session(),
|
| + ConvertJavaStringToUTF8(env, token),
|
| + ConvertJavaStringToUTF8(env, shared_secret)));
|
| +}
|
| +
|
| // ChromotingJniRuntime implementation.
|
|
|
| // static
|
| @@ -303,4 +315,19 @@ void ChromotingJniRuntime::DetachFromVmAndSignal(base::WaitableEvent* waiter) {
|
| waiter->Signal();
|
| }
|
|
|
| +void ChromotingJniRuntime::FetchThirdPartyToken(const GURL& token_url,
|
| + const std::string& client_id,
|
| + const std::string& scope) {
|
| + DCHECK(ui_task_runner_->BelongsToCurrentThread());
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| +
|
| + ScopedJavaLocalRef<jstring> j_url =
|
| + ConvertUTF8ToJavaString(env, token_url.spec());
|
| + ScopedJavaLocalRef<jstring> j_client_id =
|
| + ConvertUTF8ToJavaString(env, client_id);
|
| + ScopedJavaLocalRef<jstring> j_scope = ConvertUTF8ToJavaString(env, scope);
|
| +
|
| + Java_JniInterface_fetchThirdPartyToken(
|
| + env, j_url.obj(), j_client_id.obj(), j_scope.obj());
|
| +}
|
| } // namespace remoting
|
|
|