class InputEventFilter;
class InputHandlerManager;
class MediaStreamCenter;
+class MemoryObserver;
class PeerConnectionDependencyFactory;
class MidiMessageFilter;
class NetInfoDispatcher;
virtual void PreCacheFont(const LOGFONT& log_font) OVERRIDE;
virtual void ReleaseCachedFonts() OVERRIDE;
#endif
+ virtual ServiceRegistry* GetServiceRegistry() OVERRIDE;
// Synchronously establish a channel to the GPU plugin if not previously
// established or if it has been lost (for example if the GPU plugin crashed).
blink::WebMediaStreamCenter* CreateMediaStreamCenter(
blink::WebMediaStreamCenterClient* client);
+#if defined(ENABLE_WEBRTC)
// Returns a factory used for creating RTC PeerConnection objects.
PeerConnectionDependencyFactory* GetPeerConnectionDependencyFactory();
P2PSocketDispatcher* p2p_socket_dispatcher() {
return p2p_socket_dispatcher_.get();
}
+#endif
VideoCaptureImplManager* video_capture_impl_manager() const {
return vc_manager_.get();
void AddEmbeddedWorkerRoute(int32 routing_id, IPC::Listener* listener);
void RemoveEmbeddedWorkerRoute(int32 routing_id);
+ void RegisterPendingRenderFrameConnect(int routing_id,
+ mojo::ScopedMessagePipeHandle handle);
+
private:
// ChildThread
virtual bool OnControlMessageReceived(const IPC::Message& msg) OVERRIDE;
int32 surface_id,
const GPUCreateCommandBufferConfig& init_params,
int32 route_id) OVERRIDE;
- virtual void CreateImage(
- gfx::PluginWindowHandle window,
- int32 image_id,
- const CreateImageCallback& callback) OVERRIDE;
- virtual void DeleteImage(int32 image_id, int32 sync_point) OVERRIDE;
virtual scoped_ptr<gfx::GpuMemoryBuffer> AllocateGpuMemoryBuffer(
size_t width,
size_t height,
unsigned internalformat,
unsigned usage) OVERRIDE;
-
- // mojo::ServiceProvider implementation:
- virtual void ConnectToService(
- const mojo::String& service_url,
- const mojo::String& service_name,
- mojo::ScopedMessagePipeHandle message_pipe,
- const mojo::String& requestor_url) OVERRIDE;
+ virtual void DeleteGpuMemoryBuffer(
+ scoped_ptr<gfx::GpuMemoryBuffer> buffer) OVERRIDE;
void Init();
+ void OnCreateNewFrame(int routing_id, int parent_routing_id);
+ void OnCreateNewFrameProxy(int routing_id,
+ int parent_routing_id,
+ int render_view_routing_id);
void OnSetZoomLevelForCurrentURL(const std::string& scheme,
const std::string& host,
double zoom_level);
#endif
scoped_refptr<DevToolsAgentFilter> devtools_agent_message_filter_;
+#if defined(ENABLE_WEBRTC)
scoped_ptr<PeerConnectionDependencyFactory> peer_connection_factory_;
// This is used to communicate to the browser process the status
// Dispatches all P2P sockets.
scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_;
+#endif
// Used on the render thread.
scoped_ptr<VideoCaptureImplManager> vc_manager_;
scoped_ptr<InputHandlerManager> input_handler_manager_;
scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_;
- scoped_refptr<ContextProviderCommandBuffer> shared_main_thread_contexts_;
+ scoped_refptr<webkit::gpu::ContextProviderWebContext>
+ shared_main_thread_contexts_;
ObserverList<RenderProcessObserver> observers_;
scoped_ptr<base::MemoryPressureListener> memory_pressure_listener_;
+#if defined(ENABLE_WEBRTC)
scoped_ptr<WebRTCIdentityService> webrtc_identity_service_;
+#endif
scoped_ptr<GamepadSharedMemoryReader> gamepad_shared_memory_reader_;
// backed GpuMemoryBuffers prevent this. crbug.com/325045
base::ThreadChecker allocate_gpu_memory_buffer_thread_checker_;
+ scoped_ptr<MemoryObserver> memory_observer_;
+
// Compositor settings
bool is_gpu_rasterization_enabled_;
bool is_gpu_rasterization_forced_;
bool is_zero_copy_enabled_;
bool is_one_copy_enabled_;
+ std::map<int, mojo::MessagePipeHandle> pending_render_frame_connects_;
+
DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl);
};