Index: content/browser/android/in_process/synchronous_compositor_output_surface.h |
diff --git a/content/browser/android/in_process/synchronous_compositor_output_surface.h b/content/browser/android/in_process/synchronous_compositor_output_surface.h |
index 61f546f01b775715429122f5e23a968f138d5fba..40988350c771c51c2b2bd51616f21678593afb5f 100644 |
--- a/content/browser/android/in_process/synchronous_compositor_output_surface.h |
+++ b/content/browser/android/in_process/synchronous_compositor_output_surface.h |
@@ -5,6 +5,8 @@ |
#ifndef CONTENT_BROWSER_ANDROID_IN_PROCESS_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_ |
#define CONTENT_BROWSER_ANDROID_IN_PROCESS_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_ |
+#include <vector> |
+ |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/memory/ref_counted.h" |
@@ -12,6 +14,7 @@ |
#include "cc/output/managed_memory_policy.h" |
#include "cc/output/output_surface.h" |
#include "content/public/browser/android/synchronous_compositor.h" |
+#include "ipc/ipc_message.h" |
#include "ui/gfx/transform.h" |
namespace cc { |
@@ -19,8 +22,13 @@ class ContextProvider; |
class CompositorFrameMetadata; |
} |
+namespace IPC { |
+class Message; |
+} |
+ |
namespace content { |
+class FrameSwapMessageQueue; |
class SynchronousCompositorClient; |
class SynchronousCompositorOutputSurface; |
class WebGraphicsContext3DCommandBufferImpl; |
@@ -34,6 +42,7 @@ class SynchronousCompositorOutputSurfaceDelegate { |
virtual void SetContinuousInvalidate(bool enable) = 0; |
virtual void UpdateFrameMetaData( |
const cc::CompositorFrameMetadata& frame_metadata) = 0; |
+ virtual void DeliverMessages(const std::vector<IPC::Message>& messages) = 0; |
virtual void DidActivatePendingTree() = 0; |
protected: |
@@ -52,7 +61,9 @@ class SynchronousCompositorOutputSurfaceDelegate { |
class SynchronousCompositorOutputSurface |
: NON_EXPORTED_BASE(public cc::OutputSurface) { |
public: |
- explicit SynchronousCompositorOutputSurface(int routing_id); |
+ explicit SynchronousCompositorOutputSurface( |
+ int routing_id, |
+ scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue); |
virtual ~SynchronousCompositorOutputSurface(); |
// OutputSurface. |
@@ -85,6 +96,7 @@ class SynchronousCompositorOutputSurface |
bool CalledOnValidThread() const; |
SynchronousCompositorOutputSurfaceDelegate* GetDelegate(); |
void UpdateFrameMetaData(const cc::CompositorFrameMetadata& frame_info); |
+ void DeliverMessages(const std::vector<IPC::Message>& messages); |
int routing_id_; |
bool needs_begin_frame_; |
@@ -102,6 +114,8 @@ class SynchronousCompositorOutputSurface |
cc::OutputSurfaceClient* output_surface_client_; |
+ scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_; |
+ |
base::WeakPtrFactory<SynchronousCompositorOutputSurface> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorOutputSurface); |