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 21eaf809cf4dd6ad64f1a1fd7958ed085ec52514..5578298470470474b8abdf10107705ad9f4a7db0 100644 |
--- a/content/renderer/gpu/compositor_output_surface.cc |
+++ b/content/renderer/gpu/compositor_output_surface.cc |
@@ -5,13 +5,16 @@ |
#include "content/renderer/gpu/compositor_output_surface.h" |
#include "base/message_loop_proxy.h" |
+#include "cc/compositor_frame.h" |
#include "cc/output_surface_client.h" |
#include "content/common/view_messages.h" |
#include "content/renderer/render_thread_impl.h" |
#include "ipc/ipc_forwarding_message_filter.h" |
#include "ipc/ipc_sync_channel.h" |
+#include "ipc/ipc_sync_message_filter.h" |
#include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h" |
+using cc::CompositorFrame; |
using cc::SoftwareOutputDevice; |
using WebKit::WebGraphicsContext3D; |
@@ -88,9 +91,9 @@ cc::SoftwareOutputDevice* CompositorOutputSurface::SoftwareDevice() const { |
} |
void CompositorOutputSurface::SendFrameToParentCompositor( |
- const cc::CompositorFrame&) { |
+ const cc::CompositorFrame& frame) { |
DCHECK(CalledOnValidThread()); |
- NOTREACHED(); |
+ Send(new ViewHostMsg_SwapCompositorFrame(routing_id_, frame)); |
} |
void CompositorOutputSurface::OnMessageReceived(const IPC::Message& message) { |
@@ -109,4 +112,8 @@ void CompositorOutputSurface::OnUpdateVSyncParameters( |
client_->OnVSyncParametersChanged(timebase, interval); |
} |
+bool CompositorOutputSurface::Send(IPC::Message* message) { |
+ return ChildThread::current()->sync_message_filter()->Send(message); |
+} |
+ |
} // namespace content |