Chromium Code Reviews| 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 a073e20151edce4dc033a6d9e54bf3c0196b214a..3c64bc28966f161a5e63cebfaf60604c43239c89 100644 |
| --- a/content/common/gpu/gpu_channel_manager.cc |
| +++ b/content/common/gpu/gpu_channel_manager.cc |
| @@ -12,6 +12,7 @@ |
| #include "content/common/gpu/gpu_messages.h" |
| #include "content/common/gpu/sync_point_manager.h" |
| #include "content/common/message_router.h" |
| +#include "gpu/command_buffer/common/value_state.h" |
| #include "gpu/command_buffer/service/feature_info.h" |
| #include "gpu/command_buffer/service/gpu_switches.h" |
| #include "gpu/command_buffer/service/mailbox_manager_impl.h" |
| @@ -162,6 +163,7 @@ bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) { |
| OnCreateViewCommandBuffer) |
| IPC_MESSAGE_HANDLER(GpuMsg_DestroyGpuMemoryBuffer, OnDestroyGpuMemoryBuffer) |
| IPC_MESSAGE_HANDLER(GpuMsg_LoadedShader, OnLoadedShader) |
| + IPC_MESSAGE_HANDLER(GpuMsg_UpdateValueState, OnUpdateValueState) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| return handled; |
| @@ -276,6 +278,16 @@ void GpuChannelManager::OnDestroyGpuMemoryBuffer( |
| } |
| } |
| +void GpuChannelManager::OnUpdateValueState( |
| + int client_id, unsigned int target, const gpu::ValueState& state) { |
| + // Only pass updated state to the channel corresponding to the |
| + // render_widget_host where the event originated |
| + GpuChannelMap::const_iterator iter = gpu_channels_.find(client_id); |
|
Ken Russell (switch to Gerrit)
2014/11/17 23:19:32
Again it would be nicer if this didn't involve a s
orglofch
2014/11/20 02:16:21
Agreed, however, there doesn't appear to be anothe
brianderson
2014/11/20 21:11:26
Seems okay to me. At least gpu_channels_ is a hash
|
| + if (iter != gpu_channels_.end()) { |
| + iter->second->HandleUpdateValueState(target, state); |
| + } |
| +} |
| + |
| void GpuChannelManager::OnLoadedShader(std::string program_proto) { |
| if (program_cache()) |
| program_cache()->LoadProgram(program_proto); |