Index: chrome/gpu/gpu_thread.cc |
=================================================================== |
--- chrome/gpu/gpu_thread.cc (revision 68889) |
+++ chrome/gpu/gpu_thread.cc (working copy) |
@@ -57,6 +57,8 @@ |
IPC_BEGIN_MESSAGE_MAP_EX(GpuThread, msg, msg_is_ok) |
IPC_MESSAGE_HANDLER(GpuMsg_EstablishChannel, |
OnEstablishChannel) |
+ IPC_MESSAGE_HANDLER(GpuMsg_CloseChannel, |
+ OnCloseChannel) |
IPC_MESSAGE_HANDLER(GpuMsg_Synchronize, |
OnSynchronize) |
IPC_MESSAGE_HANDLER(GpuMsg_CollectGraphicsInfo, |
@@ -103,6 +105,16 @@ |
Send(new GpuHostMsg_ChannelEstablished(channel_handle, gpu_info_)); |
} |
+void GpuThread::OnCloseChannel(const IPC::ChannelHandle& channel_handle) { |
+ for (GpuChannelMap::iterator iter = gpu_channels_.begin(); |
+ iter != gpu_channels_.end(); ++iter) { |
+ if (iter->second->GetChannelName() == channel_handle.name) { |
+ gpu_channels_.erase(iter); |
+ return; |
+ } |
+ } |
+} |
+ |
void GpuThread::OnSynchronize() { |
Send(new GpuHostMsg_SynchronizeReply()); |
} |