Index: content/renderer/gpu/compositor_output_surface.cc |
diff --git a/content/renderer/gpu/compositor_output_surface.cc b/content/renderer/gpu/compositor_output_surface.cc |
index c579d8c402912d65ad030226c553016b0d31a0ad..4e2874c053f8656f8903640aaef7480686aba412 100644 |
--- a/content/renderer/gpu/compositor_output_surface.cc |
+++ b/content/renderer/gpu/compositor_output_surface.cc |
@@ -19,7 +19,6 @@ |
#include "content/renderer/render_thread_impl.h" |
#include "gpu/command_buffer/client/context_support.h" |
#include "gpu/command_buffer/client/gles2_interface.h" |
-#include "ipc/ipc_forwarding_message_filter.h" |
#include "ipc/ipc_sync_channel.h" |
namespace { |
@@ -30,26 +29,6 @@ int g_prefer_smoothness_count = 0; |
namespace content { |
-//------------------------------------------------------------------------------ |
- |
-// static |
-IPC::ForwardingMessageFilter* CompositorOutputSurface::CreateFilter( |
- base::TaskRunner* target_task_runner) |
-{ |
- uint32 messages_to_filter[] = { |
- ViewMsg_UpdateVSyncParameters::ID, |
- ViewMsg_SwapCompositorFrameAck::ID, |
- ViewMsg_ReclaimCompositorResources::ID, |
-#if defined(OS_ANDROID) |
- ViewMsg_BeginFrame::ID |
-#endif |
- }; |
- |
- return new IPC::ForwardingMessageFilter( |
- messages_to_filter, arraysize(messages_to_filter), |
- target_task_runner); |
-} |
- |
CompositorOutputSurface::CompositorOutputSurface( |
int32 routing_id, |
uint32 output_surface_id, |
@@ -61,7 +40,7 @@ CompositorOutputSurface::CompositorOutputSurface( |
output_surface_id_(output_surface_id), |
use_swap_compositor_frame_message_(use_swap_compositor_frame_message), |
output_surface_filter_( |
- RenderThreadImpl::current()->compositor_output_surface_filter()), |
+ RenderThreadImpl::current()->compositor_message_filter()), |
frame_swap_message_queue_(swap_frame_message_queue), |
routing_id_(routing_id), |
prefers_smoothness_(false), |
@@ -84,13 +63,14 @@ CompositorOutputSurface::CompositorOutputSurface( |
CompositorOutputSurface::~CompositorOutputSurface() { |
DCHECK(CalledOnValidThread()); |
- SetNeedsBeginFrame(false); |
if (!HasClient()) |
return; |
UpdateSmoothnessTakesPriority(false); |
if (output_surface_proxy_.get()) |
output_surface_proxy_->ClearOutputSurface(); |
- output_surface_filter_->RemoveRoute(routing_id_); |
+ output_surface_filter_->RemoveHandlerOnCompositorThread( |
+ routing_id_, |
+ output_surface_filter_handler_); |
} |
bool CompositorOutputSurface::BindToClient( |
@@ -101,10 +81,12 @@ bool CompositorOutputSurface::BindToClient( |
return false; |
output_surface_proxy_ = new CompositorOutputSurfaceProxy(this); |
- output_surface_filter_->AddRoute( |
- routing_id_, |
+ output_surface_filter_handler_ = |
base::Bind(&CompositorOutputSurfaceProxy::OnMessageReceived, |
- output_surface_proxy_)); |
+ output_surface_proxy_); |
+ output_surface_filter_->AddHandlerOnCompositorThread( |
+ routing_id_, |
+ output_surface_filter_handler_); |
if (!context_provider()) { |
// Without a GPU context, the memory policy otherwise wouldn't be set. |
@@ -193,9 +175,6 @@ void CompositorOutputSurface::OnMessageReceived(const IPC::Message& message) { |
OnUpdateVSyncParametersFromBrowser); |
IPC_MESSAGE_HANDLER(ViewMsg_SwapCompositorFrameAck, OnSwapAck); |
IPC_MESSAGE_HANDLER(ViewMsg_ReclaimCompositorResources, OnReclaimResources); |
-#if defined(OS_ANDROID) |
- IPC_MESSAGE_HANDLER(ViewMsg_BeginFrame, OnBeginFrame); |
-#endif |
IPC_END_MESSAGE_MAP() |
} |
@@ -206,18 +185,6 @@ void CompositorOutputSurface::OnUpdateVSyncParametersFromBrowser( |
CommitVSyncParameters(timebase, interval); |
} |
-#if defined(OS_ANDROID) |
-void CompositorOutputSurface::SetNeedsBeginFrame(bool enable) { |
- DCHECK(CalledOnValidThread()); |
- Send(new ViewHostMsg_SetNeedsBeginFrame(routing_id_, enable)); |
-} |
- |
-void CompositorOutputSurface::OnBeginFrame(const cc::BeginFrameArgs& args) { |
- DCHECK(CalledOnValidThread()); |
- client_->BeginFrame(args); |
-} |
-#endif // defined(OS_ANDROID) |
- |
void CompositorOutputSurface::OnSwapAck(uint32 output_surface_id, |
const cc::CompositorFrameAck& ack) { |
// Ignore message if it's a stale one coming from a different output surface |