diff options
author | backer@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-06 13:46:21 +0000 |
---|---|---|
committer | backer@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-06 13:46:21 +0000 |
commit | 10459a93905312df796d8133af1a9fcc60d51d81 (patch) | |
tree | 011de6e5b0e8c4bac057243918170877e4eb2efc /content/common/gpu/gpu_channel_manager.cc | |
parent | 3a115edb7f71caf52159a8b0a0b0c0b72b960c82 (diff) | |
download | chromium_src-10459a93905312df796d8133af1a9fcc60d51d81.zip chromium_src-10459a93905312df796d8133af1a9fcc60d51d81.tar.gz chromium_src-10459a93905312df796d8133af1a9fcc60d51d81.tar.bz2 |
Remove unnecessary OSX specific IPC
Removing this IPC simplifies code paths across platforms and may make it less like to confuse error conditions in the renderer process.
When a tab is closed, the corresponding RWHV which responds to IPCs from the GPU process no longer exists. Many of these IPCs require an ACK IPC. As of r104092, the browser now sends an ACK when a RWHV no longer exists. This is temporary, once the renderer receives the browser signal for tear down, the GPU process will eventually stop sending IPCs for the defunct RWHV.
Previously, the IPCs were dropped and no ACK was sent. The solution was to tell the GPU process to tear down the resources associated with the defunt RWHV. This led to two tear down signals reaching the renderer (with possibly different semantics) -- one directly from the browser to the renderer and another from the browser to the GPU process to the render (shows up as a channel error).
BUG=none
TEST=open 2 tabs with http://www.webkit.org/blog-files/3d-transforms/poster-circle.html; close one; other still animates
Review URL: http://codereview.chromium.org/8146003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104292 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common/gpu/gpu_channel_manager.cc')
-rw-r--r-- | content/common/gpu/gpu_channel_manager.cc | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc index 491fdd6b..6d9db28 100644 --- a/content/common/gpu/gpu_channel_manager.cc +++ b/content/common/gpu/gpu_channel_manager.cc @@ -64,10 +64,6 @@ bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) { #if defined(TOOLKIT_USES_GTK) && !defined(TOUCH_UI) || defined(OS_WIN) IPC_MESSAGE_HANDLER(GpuMsg_ResizeViewACK, OnResizeViewACK); #endif -#if defined(OS_MACOSX) - IPC_MESSAGE_HANDLER(GpuMsg_DestroyCommandBuffer, - OnDestroyCommandBuffer) -#endif IPC_MESSAGE_UNHANDLED(handled = false) IPC_END_MESSAGE_MAP_EX() return handled; @@ -151,17 +147,6 @@ void GpuChannelManager::OnResizeViewACK(int32 renderer_id, channel->ViewResized(command_buffer_route_id); } -#if defined(OS_MACOSX) -void GpuChannelManager::OnDestroyCommandBuffer( - int renderer_id, int32 renderer_view_id) { - GpuChannelMap::const_iterator iter = gpu_channels_.find(renderer_id); - if (iter == gpu_channels_.end()) - return; - scoped_refptr<GpuChannel> channel = iter->second; - channel->DestroyCommandBufferByViewId(renderer_view_id); -} -#endif - void GpuChannelManager::LoseAllContexts() { MessageLoop::current()->PostTask( FROM_HERE, method_factory_.NewRunnableMethod( |