OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "remoting/client/jni/chromoting_jni_runtime.h" | 5 #include "remoting/client/jni/chromoting_jni_runtime.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/android/scoped_java_ref.h" | 10 #include "base/android/scoped_java_ref.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 keyCode, keyDown); | 137 keyCode, keyDown); |
138 } | 138 } |
139 | 139 |
140 static void SendTextEvent(JNIEnv* env, | 140 static void SendTextEvent(JNIEnv* env, |
141 jclass clazz, | 141 jclass clazz, |
142 jstring text) { | 142 jstring text) { |
143 remoting::ChromotingJniRuntime::GetInstance()->session()->SendTextEvent( | 143 remoting::ChromotingJniRuntime::GetInstance()->session()->SendTextEvent( |
144 ConvertJavaStringToUTF8(env, text)); | 144 ConvertJavaStringToUTF8(env, text)); |
145 } | 145 } |
146 | 146 |
| 147 static void OnThirdPartyTokenFetched(JNIEnv* env, |
| 148 jclass clazz, |
| 149 jstring token, |
| 150 jstring shared_secret) { |
| 151 ChromotingJniRuntime* runtime = remoting::ChromotingJniRuntime::GetInstance(); |
| 152 runtime->network_task_runner()->PostTask(FROM_HERE, base::Bind( |
| 153 &ChromotingJniInstance::HandleOnThirdPartyTokenFetched, |
| 154 runtime->session(), |
| 155 ConvertJavaStringToUTF8(env, token), |
| 156 ConvertJavaStringToUTF8(env, shared_secret))); |
| 157 } |
| 158 |
147 // ChromotingJniRuntime implementation. | 159 // ChromotingJniRuntime implementation. |
148 | 160 |
149 // static | 161 // static |
150 ChromotingJniRuntime* ChromotingJniRuntime::GetInstance() { | 162 ChromotingJniRuntime* ChromotingJniRuntime::GetInstance() { |
151 return Singleton<ChromotingJniRuntime>::get(); | 163 return Singleton<ChromotingJniRuntime>::get(); |
152 } | 164 } |
153 | 165 |
154 ChromotingJniRuntime::ChromotingJniRuntime() { | 166 ChromotingJniRuntime::ChromotingJniRuntime() { |
155 at_exit_manager_.reset(new base::AtExitManager()); | 167 at_exit_manager_.reset(new base::AtExitManager()); |
156 | 168 |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 | 308 |
297 JNIEnv* env = base::android::AttachCurrentThread(); | 309 JNIEnv* env = base::android::AttachCurrentThread(); |
298 Java_JniInterface_redrawGraphicsInternal(env); | 310 Java_JniInterface_redrawGraphicsInternal(env); |
299 } | 311 } |
300 | 312 |
301 void ChromotingJniRuntime::DetachFromVmAndSignal(base::WaitableEvent* waiter) { | 313 void ChromotingJniRuntime::DetachFromVmAndSignal(base::WaitableEvent* waiter) { |
302 base::android::DetachFromVM(); | 314 base::android::DetachFromVM(); |
303 waiter->Signal(); | 315 waiter->Signal(); |
304 } | 316 } |
305 | 317 |
| 318 void ChromotingJniRuntime::FetchThirdPartyToken(const GURL& token_url, |
| 319 const std::string& client_id, |
| 320 const std::string& scope) { |
| 321 DCHECK(ui_task_runner_->BelongsToCurrentThread()); |
| 322 JNIEnv* env = base::android::AttachCurrentThread(); |
| 323 |
| 324 ScopedJavaLocalRef<jstring> j_url = |
| 325 ConvertUTF8ToJavaString(env, token_url.spec()); |
| 326 ScopedJavaLocalRef<jstring> j_client_id = |
| 327 ConvertUTF8ToJavaString(env, client_id); |
| 328 ScopedJavaLocalRef<jstring> j_scope = ConvertUTF8ToJavaString(env, scope); |
| 329 |
| 330 Java_JniInterface_fetchThirdPartyToken( |
| 331 env, j_url.obj(), j_client_id.obj(), j_scope.obj()); |
| 332 } |
306 } // namespace remoting | 333 } // namespace remoting |
OLD | NEW |