Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Side by Side Diff: remoting/client/jni/chromoting_jni_runtime.cc

Issue 319273003: Third Party Authentication for Android Part II - Java Native Interface plumbing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: JNI plumbing Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« remoting/client/jni/chromoting_jni_runtime.h ('K') | « remoting/client/jni/chromoting_jni_runtime.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698