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 3088b167aa357309421fb6efa99c398c2927aa46..e755060e4e256c79b50bfaf98a63b692233a0e84 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 |
@@ -13,6 +13,7 @@ import android.content.pm.PackageManager; |
import android.graphics.SurfaceTexture; |
import android.os.Build; |
import android.os.Bundle; |
+import android.os.IBinder; |
import android.os.ParcelFileDescriptor; |
import android.os.RemoteException; |
import android.text.TextUtils; |
@@ -35,6 +36,7 @@ import org.chromium.content.app.SandboxedProcessService; |
import org.chromium.content.common.ContentSwitches; |
import org.chromium.content.common.IChildProcessCallback; |
import org.chromium.content.common.SurfaceWrapper; |
+import org.chromium.media.DialogSurfaceManager; |
import java.io.IOException; |
import java.util.ArrayList; |
@@ -967,6 +969,18 @@ public class ChildProcessLauncher { |
return; |
} |
} |
+ |
+ @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 DialogSurfaceManager.instance(new DialogSurfaceActivityMapper()); |
+ } |
}; |
} |