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 5c3b1dc54ceddf4b913a3414b62b7db0c27f5097..9e5fee4ca191d5963cee8ed82fa329a9db79f205 100644 |
--- a/content/common/gpu/gpu_channel_manager.cc |
+++ b/content/common/gpu/gpu_channel_manager.cc |
@@ -11,6 +11,7 @@ |
#include "content/common/gpu/gpu_memory_manager.h" |
#include "content/common/gpu/gpu_messages.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" |
@@ -177,6 +178,7 @@ bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) { |
IPC_MESSAGE_HANDLER(GpuMsg_DestroyGpuMemoryBuffer, OnDestroyGpuMemoryBuffer) |
IPC_MESSAGE_HANDLER(GpuMsg_LoadedShader, OnLoadedShader) |
IPC_MESSAGE_HANDLER(GpuMsg_RelinquishResources, OnRelinquishResources) |
+ IPC_MESSAGE_HANDLER(GpuMsg_UpdateValueState, OnUpdateValueState) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -286,6 +288,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); |
+ 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); |