| Index: media/base/android/dialog_surface_manager.cc
|
| diff --git a/media/base/android/dialog_surface_manager.cc b/media/base/android/dialog_surface_manager.cc
|
| index ba67ccbc9e17e2615b53894e0df5dd89570a8776..75a9c819836e956a0518a205a2f0dbc4c794ad67 100644
|
| --- a/media/base/android/dialog_surface_manager.cc
|
| +++ b/media/base/android/dialog_surface_manager.cc
|
| @@ -18,6 +18,7 @@
|
| #include "base/strings/string_util.h"
|
| #include "gpu/ipc/common/android/dialog_surface_lookup.h"
|
| #include "jni/DialogSurfaceManagerWrapper_jni.h"
|
| +#include "media/base/android/dialog_surface_callback.h"
|
| #include "media/base/bit_reader.h"
|
| #include "media/base/decrypt_config.h"
|
|
|
| @@ -62,17 +63,19 @@ std::unique_ptr<DialogSurfaceHolder> DialogSurfaceManager::CreateSurface(
|
| JNIEnv* env = AttachCurrentThread();
|
| CHECK(env);
|
|
|
| - // TODO(liberato): wrap the callback here, and send in place of the nullptr.
|
| - // This was omitted for the first CL.
|
| + std::unique_ptr<DialogSurfaceCallback> wrapped_callback(
|
| + new DialogSurfaceCallback(callback));
|
|
|
| ScopedJavaGlobalRef<jobject> result(
|
| Java_DialogSurfaceManagerWrapper_createSurface(
|
| - env, j_wrapped_manager_.obj(), pid, frame_id, nullptr,
|
| + env, j_wrapped_manager_.obj(), pid, frame_id, wrapped_callback->obj(),
|
| config.rect.x(), config.rect.y(), config.rect.width(),
|
| config.rect.height()));
|
| - // NOTE: result is always null right now.
|
|
|
| std::unique_ptr<DialogSurfaceHolder> holder;
|
| + if (result.obj() != nullptr) {
|
| + holder.reset(new DialogSurfaceHolder(result, std::move(wrapped_callback)));
|
| + }
|
|
|
| return holder;
|
| }
|
|
|