Index: content/browser/android/child_process_launcher_android.cc |
diff --git a/content/browser/android/child_process_launcher_android.cc b/content/browser/android/child_process_launcher_android.cc |
index cf915e4a42a837de1f7a824c63964e205cbbbe4f..364ef61563102ac9c33c7df40773ce29d477c50d 100644 |
--- a/content/browser/android/child_process_launcher_android.cc |
+++ b/content/browser/android/child_process_launcher_android.cc |
@@ -81,6 +81,7 @@ static void OnChildProcessStarted(JNIEnv*, |
void StartChildProcess( |
const CommandLine::StringVector& argv, |
+ int child_process_id, |
const std::vector<content::FileDescriptorInfo>& files_to_register, |
const StartChildProcessCallback& callback) { |
JNIEnv* env = AttachCurrentThread(); |
@@ -119,6 +120,7 @@ void StartChildProcess( |
Java_ChildProcessLauncher_start(env, |
base::android::GetApplicationContext(), |
j_argv.obj(), |
+ child_process_id, |
j_file_ids.obj(), |
j_file_fds.obj(), |
j_file_auto_close.obj(), |
@@ -159,6 +161,17 @@ jobject GetViewSurface(JNIEnv* env, jclass clazz, jint surface_id) { |
return CompositorImpl::GetSurface(surface_id); |
} |
+jobject GetSurfaceTextureSurface(JNIEnv* env, |
+ jclass clazz, |
+ jint surface_texture_id, |
+ jint pid) { |
+ // This is a synchronous call from a renderer process and is expected to be |
+ // handled on a binder thread. Handling this on the UI thread will lead |
+ // to deadlocks. |
+ DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ return CompositorImpl::GetSurfaceTextureSurface(surface_texture_id, pid); |
piman
2014/03/27 01:07:25
Should there be a check somewhere to ensure a rend
reveman
2014/03/27 14:48:11
This is done in the Java code. See line 436 in Chi
|
+} |
+ |
jboolean IsSingleProcess(JNIEnv* env, jclass clazz) { |
return CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess); |
} |