| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/common/gpu/gpu_channel_manager.h" | 5 #include "content/common/gpu/gpu_channel_manager.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "app/win/scoped_com_initializer.h" | 10 #include "app/win/scoped_com_initializer.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) { | 42 bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) { |
| 43 bool msg_is_ok = true; | 43 bool msg_is_ok = true; |
| 44 bool handled = true; | 44 bool handled = true; |
| 45 IPC_BEGIN_MESSAGE_MAP_EX(GpuChannelManager, msg, msg_is_ok) | 45 IPC_BEGIN_MESSAGE_MAP_EX(GpuChannelManager, msg, msg_is_ok) |
| 46 IPC_MESSAGE_HANDLER(GpuMsg_EstablishChannel, OnEstablishChannel) | 46 IPC_MESSAGE_HANDLER(GpuMsg_EstablishChannel, OnEstablishChannel) |
| 47 IPC_MESSAGE_HANDLER(GpuMsg_CloseChannel, OnCloseChannel) | 47 IPC_MESSAGE_HANDLER(GpuMsg_CloseChannel, OnCloseChannel) |
| 48 IPC_MESSAGE_HANDLER(GpuMsg_CreateViewCommandBuffer, | 48 IPC_MESSAGE_HANDLER(GpuMsg_CreateViewCommandBuffer, |
| 49 OnCreateViewCommandBuffer) | 49 OnCreateViewCommandBuffer) |
| 50 IPC_MESSAGE_HANDLER(GpuMsg_Synchronize, OnSynchronize) | 50 IPC_MESSAGE_HANDLER(GpuMsg_Synchronize, OnSynchronize) |
| 51 IPC_MESSAGE_HANDLER(GpuMsg_VisibilityChanged, OnVisibilityChanged) | 51 IPC_MESSAGE_HANDLER(GpuMsg_VisibilityChanged, OnVisibilityChanged) |
| 52 #if defined(OS_MACOSX) | 52 #if defined(OS_LINUX) && !defined(TOUCH_UI) || defined(OS_WIN) |
| 53 IPC_MESSAGE_HANDLER(GpuMsg_ResizeViewACK, OnResizeViewACK); |
| 54 #elif defined(OS_MACOSX) |
| 53 IPC_MESSAGE_HANDLER(GpuMsg_AcceleratedSurfaceBuffersSwappedACK, | 55 IPC_MESSAGE_HANDLER(GpuMsg_AcceleratedSurfaceBuffersSwappedACK, |
| 54 OnAcceleratedSurfaceBuffersSwappedACK) | 56 OnAcceleratedSurfaceBuffersSwappedACK) |
| 55 IPC_MESSAGE_HANDLER(GpuMsg_DestroyCommandBuffer, | 57 IPC_MESSAGE_HANDLER(GpuMsg_DestroyCommandBuffer, |
| 56 OnDestroyCommandBuffer) | 58 OnDestroyCommandBuffer) |
| 57 #endif | 59 #endif |
| 58 IPC_MESSAGE_UNHANDLED(handled = false) | 60 IPC_MESSAGE_UNHANDLED(handled = false) |
| 59 IPC_END_MESSAGE_MAP_EX() | 61 IPC_END_MESSAGE_MAP_EX() |
| 60 return handled; | 62 return handled; |
| 61 } | 63 } |
| 62 | 64 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 | 126 |
| 125 GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); | 127 GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); |
| 126 if (iter != gpu_channels_.end()) { | 128 if (iter != gpu_channels_.end()) { |
| 127 iter->second->CreateViewCommandBuffer( | 129 iter->second->CreateViewCommandBuffer( |
| 128 window, render_view_id, init_params, &route_id); | 130 window, render_view_id, init_params, &route_id); |
| 129 } | 131 } |
| 130 | 132 |
| 131 Send(new GpuHostMsg_CommandBufferCreated(route_id)); | 133 Send(new GpuHostMsg_CommandBufferCreated(route_id)); |
| 132 } | 134 } |
| 133 | 135 |
| 136 void GpuChannelManager::OnResizeViewACK(int32 renderer_id, |
| 137 int32 command_buffer_route_id) { |
| 138 GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); |
| 139 if (iter == gpu_channels_.end()) |
| 140 return; |
| 141 scoped_refptr<GpuChannel> channel = iter->second; |
| 142 |
| 143 channel->ViewResized(command_buffer_route_id); |
| 144 } |
| 145 |
| 134 #if defined(OS_MACOSX) | 146 #if defined(OS_MACOSX) |
| 135 void GpuChannelManager::OnAcceleratedSurfaceBuffersSwappedACK( | 147 void GpuChannelManager::OnAcceleratedSurfaceBuffersSwappedACK( |
| 136 int renderer_id, int32 route_id, uint64 swap_buffers_count) { | 148 int renderer_id, int32 route_id, uint64 swap_buffers_count) { |
| 137 GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); | 149 GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); |
| 138 if (iter == gpu_channels_.end()) | 150 if (iter == gpu_channels_.end()) |
| 139 return; | 151 return; |
| 140 scoped_refptr<GpuChannel> channel = iter->second; | 152 scoped_refptr<GpuChannel> channel = iter->second; |
| 141 channel->AcceleratedSurfaceBuffersSwapped(route_id, swap_buffers_count); | 153 channel->AcceleratedSurfaceBuffersSwapped(route_id, swap_buffers_count); |
| 142 } | 154 } |
| 155 |
| 143 void GpuChannelManager::OnDestroyCommandBuffer( | 156 void GpuChannelManager::OnDestroyCommandBuffer( |
| 144 int renderer_id, int32 renderer_view_id) { | 157 int renderer_id, int32 renderer_view_id) { |
| 145 GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); | 158 GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); |
| 146 if (iter == gpu_channels_.end()) | 159 if (iter == gpu_channels_.end()) |
| 147 return; | 160 return; |
| 148 scoped_refptr<GpuChannel> channel = iter->second; | 161 scoped_refptr<GpuChannel> channel = iter->second; |
| 149 channel->DestroyCommandBufferByViewId(renderer_view_id); | 162 channel->DestroyCommandBufferByViewId(renderer_view_id); |
| 150 } | 163 } |
| 151 #endif | 164 #endif |
| 152 | 165 |
| 153 void GpuChannelManager::LoseAllContexts() { | 166 void GpuChannelManager::LoseAllContexts() { |
| 154 MessageLoop::current()->PostTask( | 167 MessageLoop::current()->PostTask( |
| 155 FROM_HERE, method_factory_.NewRunnableMethod( | 168 FROM_HERE, method_factory_.NewRunnableMethod( |
| 156 &GpuChannelManager::OnLoseAllContexts)); | 169 &GpuChannelManager::OnLoseAllContexts)); |
| 157 } | 170 } |
| 158 | 171 |
| 159 void GpuChannelManager::OnLoseAllContexts() { | 172 void GpuChannelManager::OnLoseAllContexts() { |
| 160 gpu_channels_.clear(); | 173 gpu_channels_.clear(); |
| 161 } | 174 } |
| OLD | NEW |