| Index: content/app/android/child_process_service_impl.cc
|
| diff --git a/content/app/android/child_process_service_impl.cc b/content/app/android/child_process_service_impl.cc
|
| index 99ae3f85c76e469ed2af026ac97c22fef3bfa2ce..5ccfb4f1a0c07597240d6a5dd4f6835155d74cd6 100644
|
| --- a/content/app/android/child_process_service_impl.cc
|
| +++ b/content/app/android/child_process_service_impl.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/posix/global_descriptors.h"
|
| #include "content/child/child_thread_impl.h"
|
| #include "content/public/common/content_descriptors.h"
|
| +#include "gpu/ipc/common/android/scoped_surface_request_conduit.h"
|
| #include "gpu/ipc/common/android/surface_texture_manager.h"
|
| #include "gpu/ipc/common/android/surface_texture_peer.h"
|
| #include "gpu/ipc/common/gpu_surface_lookup.h"
|
| @@ -35,6 +36,7 @@ namespace {
|
| // we're in a renderer or gpu process.
|
| class SurfaceTextureManagerImpl : public gpu::SurfaceTextureManager,
|
| public gpu::SurfaceTexturePeer,
|
| + public gpu::ScopedSurfaceRequestConduit,
|
| public gpu::GpuSurfaceLookup {
|
| public:
|
| // |service impl| is the instance of
|
| @@ -44,10 +46,12 @@ class SurfaceTextureManagerImpl : public gpu::SurfaceTextureManager,
|
| : service_impl_(service_impl) {
|
| SurfaceTexturePeer::InitInstance(this);
|
| gpu::GpuSurfaceLookup::InitInstance(this);
|
| + gpu::ScopedSurfaceRequestConduit::SetInstance(this);
|
| }
|
| ~SurfaceTextureManagerImpl() override {
|
| SurfaceTexturePeer::InitInstance(NULL);
|
| gpu::GpuSurfaceLookup::InitInstance(NULL);
|
| + gpu::ScopedSurfaceRequestConduit::SetInstance(NULL);
|
| }
|
|
|
| // Overridden from SurfaceTextureManager:
|
| @@ -97,6 +101,15 @@ class SurfaceTextureManagerImpl : public gpu::SurfaceTextureManager,
|
| primary_id, secondary_id);
|
| }
|
|
|
| + // Overriden from ScopedSurfaceRequestConduit:
|
| + void FulfillScopedSurfaceRequest(
|
| + uint64_t request_id,
|
| + gl::SurfaceTexture* surface_texture) override {
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| + content::Java_ChildProcessServiceImpl_fulfillScopedSurfaceRequest(
|
| + env, service_impl_, request_id, surface_texture->j_surface_texture());
|
| + }
|
| +
|
| // Overridden from GpuSurfaceLookup:
|
| gfx::AcceleratedWidget AcquireNativeWidget(int surface_id) override {
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
|
|