Creates the WebCompositorOutputSurface, which is the new mechanism for rendering interactions between the compositor and RenderWidgetHost.
As part of this, we plumb vsync information to the compositor.
The new IPC::ForwardingMessageFilter is modified to have route-specific handlers rather than a global handler. This simplifies message routing considerably.
BUG=129674
Review URL: https://chromiumcodereview.appspot.com/10798006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151387 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index dfcdb65..d39fb9e9 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -52,6 +52,10 @@
}
}
+namespace IPC {
+class ForwardingMessageFilter;
+}
+
namespace content {
class AudioRendererMixerManager;
class MediaStreamCenter;
@@ -162,6 +166,10 @@
void DoNotSuspendWebKitSharedTimer();
void DoNotNotifyWebKitOfModalLoop();
+ IPC::ForwardingMessageFilter* compositor_output_surface_filter() const {
+ return compositor_output_surface_filter_.get();
+ }
+
// Will be NULL if threaded compositing has not been enabled.
CompositorThread* compositor_thread() const {
return compositor_thread_.get();
@@ -298,6 +306,8 @@
bool compositor_initialized_;
scoped_ptr<CompositorThread> compositor_thread_;
+ scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_;
+
scoped_ptr<content::old::BrowserPluginRegistry> browser_plugin_registry_;
ObserverList<content::RenderProcessObserver> observers_;