summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/gpu_channel_host.h
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 21:47:58 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 21:47:58 +0000
commit885ff1dfd127346d8fd1bfa239c7375773aabe48 (patch)
tree6004858fef22e08c5c1b4570231e01e1f0290a43 /chrome/renderer/gpu_channel_host.h
parent3bb08606c22e357896714764731a7af21e04377d (diff)
downloadchromium_src-885ff1dfd127346d8fd1bfa239c7375773aabe48.zip
chromium_src-885ff1dfd127346d8fd1bfa239c7375773aabe48.tar.gz
chromium_src-885ff1dfd127346d8fd1bfa239c7375773aabe48.tar.bz2
GpuVideoDecoderHost runs on IO thread instead of Render thread
Move GpuVideoDecoderHost to IO thread and change GpuVideoServiceHost to be a MessageFilter. BUG=53714 TEST=Tree is green. Will pending on WebKit changes to make this work. Review URL: http://codereview.chromium.org/3462015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61854 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/gpu_channel_host.h')
-rw-r--r--chrome/renderer/gpu_channel_host.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/chrome/renderer/gpu_channel_host.h b/chrome/renderer/gpu_channel_host.h
index c139219..e6eecea 100644
--- a/chrome/renderer/gpu_channel_host.h
+++ b/chrome/renderer/gpu_channel_host.h
@@ -20,6 +20,7 @@
#include "ipc/ipc_sync_channel.h"
class CommandBufferProxy;
+class GpuVideoServiceHost;
// Encapsulates an IPC channel between the renderer and one plugin process.
// On the plugin side there's a corresponding GpuChannel.
@@ -72,6 +73,10 @@ class GpuChannelHost : public IPC::Channel::Listener,
// Destroy a command buffer created by this channel.
void DestroyCommandBuffer(CommandBufferProxy* command_buffer);
+ GpuVideoServiceHost* gpu_video_service_host() {
+ return gpu_video_service_host_.get();
+ }
+
private:
State state_;
@@ -88,6 +93,10 @@ class GpuChannelHost : public IPC::Channel::Listener,
typedef base::hash_map<int, IPC::Channel::Listener*> ProxyMap;
ProxyMap proxies_;
+ // This is a MessageFilter to intercept IPC messages and distribute them
+ // to the corresponding GpuVideoDecoderHost.
+ scoped_ptr<GpuVideoServiceHost> gpu_video_service_host_;
+
DISALLOW_COPY_AND_ASSIGN(GpuChannelHost);
};