| Index: content/common/gpu/gpu_channel_manager.cc
|
| diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc
|
| index fc48010ca1c36b819bd8211871e1e7f1e3f0649f..fbc99b7cad655d9889a23bd5add973f4ae8b448d 100644
|
| --- a/content/common/gpu/gpu_channel_manager.cc
|
| +++ b/content/common/gpu/gpu_channel_manager.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "content/common/gpu/gpu_channel_manager.h"
|
|
|
| +#include <utility>
|
| +
|
| #include "base/bind.h"
|
| #include "base/command_line.h"
|
| #include "content/common/child_thread.h"
|
| @@ -105,6 +107,7 @@ bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) {
|
| IPC_MESSAGE_HANDLER(GpuMsg_CreateImage, OnCreateImage)
|
| IPC_MESSAGE_HANDLER(GpuMsg_DeleteImage, OnDeleteImage)
|
| IPC_MESSAGE_HANDLER(GpuMsg_LoadedShader, OnLoadedShader)
|
| + IPC_MESSAGE_HANDLER(GpuMsg_DestroySurface, OnDestroySurface)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP_EX()
|
| return handled;
|
| @@ -259,6 +262,16 @@ void GpuChannelManager::OnLoadedShader(std::string program_proto) {
|
| program_cache()->LoadProgram(program_proto);
|
| }
|
|
|
| +void GpuChannelManager::OnDestroySurface(int client_id,
|
| + int route_id,
|
| + int surface_id) {
|
| + if (mailbox_manager_) {
|
| + GpuChannel* channel = LookupChannel(client_id);
|
| + if (channel)
|
| + channel->OnDestroySurface(route_id, surface_id);
|
| + }
|
| +}
|
| +
|
| bool GpuChannelManager::HandleMessagesScheduled() {
|
| for (GpuChannelMap::iterator iter = gpu_channels_.begin();
|
| iter != gpu_channels_.end(); ++iter) {
|
|
|