Index: media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java |
diff --git a/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java b/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java |
index c54247a23703adc2279a0d41ed35b30f27e2ad6d..63a3b36dace12b0a3e05a8dd145073cab42072e7 100644 |
--- a/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java |
+++ b/media/base/android/java/src/org/chromium/media/DialogSurfaceManager.java |
@@ -4,10 +4,12 @@ |
package org.chromium.media; |
+import android.content.Context; |
import android.os.Handler; |
import android.os.HandlerThread; |
import android.os.IBinder; |
+import org.chromium.base.ContextUtils; |
import org.chromium.base.annotations.CalledByNative; |
import org.chromium.base.annotations.JNINamespace; |
@@ -34,6 +36,8 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub { |
private static final String TAG = "cr_media"; |
private static DialogSurfaceManager sInstance; |
+ private final Context mContext; |
+ |
// We maintain a thread with a Looper for the DialogSurfaces to use, |
// since Dialog requires one. We don't want this to be the native thread |
// that's used to create them, because it probably also has a native message |
@@ -49,6 +53,7 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub { |
private static final int sMaxSurfaces = 1; |
private DialogSurfaceManager(IDialogSurfaceActivityMapper mapper) { |
+ mContext = ContextUtils.getApplicationContext(); |
mMapper = mapper; |
mNumSurfaces = 0; |
} |
@@ -66,14 +71,12 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub { |
// Limit the number of concurrent surfaces. |
if (mNumSurfaces >= sMaxSurfaces) return null; |
- // TODO(liberato): would get the WindowToken / Activity here. |
- |
startThreadIfNeeded(); |
mNumSurfaces++; |
- // TODO(liberato): would instantiate DialogSurfaceHolder here. |
- return null; |
+ return new DialogSurfaceHolder(rendererPid, renderFrameId, mContext, this, mHandler, |
+ callback, x, y, width, height); |
} |
/** |
@@ -98,10 +101,6 @@ public class DialogSurfaceManager extends IDialogSurfaceManager.Stub { |
// Called on main thread only. |
if (mThread != null) return; |
- // Just to avoid "Unread field" in findbugs. Normally, we wills send |
- // mHandler to DialogSurface. |
- if (mHandler != null) return; |
- |
mThread = new HandlerThread("DialogSurfaceThread"); |
mThread.start(); |
mHandler = new Handler(mThread.getLooper()); |