Index: content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
index fa0bf2dbcc34b5edd4723a09423575bbfc7c2135..851406d09a12f858fd89ef499bdb4cd6c136de83 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java |
@@ -10,6 +10,7 @@ import android.content.pm.ApplicationInfo; |
import android.content.pm.PackageManager; |
import android.graphics.SurfaceTexture; |
import android.os.Bundle; |
+import android.os.IBinder; |
import android.os.ParcelFileDescriptor; |
import android.os.RemoteException; |
import android.text.TextUtils; |
@@ -32,6 +33,7 @@ import org.chromium.content.common.ContentSwitches; |
import org.chromium.content.common.FileDescriptorInfo; |
import org.chromium.content.common.IChildProcessCallback; |
import org.chromium.content.common.SurfaceWrapper; |
+import org.chromium.media.DialogSurfaceManagerImpl; |
import java.io.IOException; |
import java.util.ArrayList; |
@@ -902,6 +904,18 @@ public class ChildProcessLauncher { |
return ChildProcessLauncher.getSurfaceTextureSurface(surfaceTextureId, |
childProcessId); |
} |
+ |
+ @Override |
+ public IBinder getDialogSurfaceManager() { |
+ if (callbackType != CALLBACK_FOR_GPU_PROCESS) { |
+ Log.e(TAG, "Illegal callback for non-GPU process."); |
+ return null; |
+ } |
+ // We create a new one of these every time, but it's only |
+ // retained if DialogSurfaceManager really needs it. Also, it's |
+ // likely that we're only called once anyway. |
+ return DialogSurfaceManagerImpl.instance(new DialogSurfaceActivityMapper()); |
+ } |
}; |
} |