Index: content/browser/compositor/browser_compositor_view_private_mac.h |
diff --git a/content/browser/compositor/browser_compositor_view_private_mac.h b/content/browser/compositor/browser_compositor_view_private_mac.h |
index d6cf50db9e50c69b4601dc380e192601e7b832b0..e84fc9c001b1d9917fbd90a045566626d05297bf 100644 |
--- a/content/browser/compositor/browser_compositor_view_private_mac.h |
+++ b/content/browser/compositor/browser_compositor_view_private_mac.h |
@@ -11,6 +11,7 @@ |
#include "content/browser/compositor/browser_compositor_view_mac.h" |
#include "content/browser/renderer_host/compositing_iosurface_layer_mac.h" |
#include "content/browser/renderer_host/software_layer_mac.h" |
+#include "ui/base/cocoa/remote_layer_api.h" |
namespace content { |
@@ -37,8 +38,8 @@ class BrowserCompositorViewMacInternal |
void BeginPumpingFrames(); |
void EndPumpingFrames(); |
- void GotAcceleratedIOSurfaceFrame( |
- IOSurfaceID io_surface_id, int output_surface_id, |
+ void GotAcceleratedFrame( |
+ uint64 surface_handle, int output_surface_id, |
const std::vector<ui::LatencyInfo>& latency_info, |
gfx::Size pixel_size, float scale_factor); |
@@ -50,6 +51,12 @@ private: |
virtual bool AcceleratedLayerShouldAckImmediately() const OVERRIDE; |
virtual void AcceleratedLayerDidDrawFrame(bool succeeded) OVERRIDE; |
+ void GotAcceleratedCAContextFrame( |
+ CAContextID ca_context_id, gfx::Size pixel_size, float scale_factor); |
+ |
+ void GotAcceleratedIOSurfaceFrame( |
+ IOSurfaceID io_surface_id, gfx::Size pixel_size, float scale_factor); |
+ |
// The client of the BrowserCompositorViewMac that is using this as its |
// internals. |
BrowserCompositorViewMacClient* client_; |
@@ -69,12 +76,21 @@ private: |
// behavior. |
base::scoped_nsobject<CALayer> flipped_layer_; |
- base::scoped_nsobject<CompositingIOSurfaceLayer> accelerated_layer_; |
- int accelerated_layer_output_surface_id_; |
- std::vector<ui::LatencyInfo> accelerated_latency_info_; |
+ // The accelerated CoreAnimation layer hosted by the GPU process. |
+ base::scoped_nsobject<CALayerHost> ca_context_layer_; |
+ |
+ // The locally drawn accelerated CoreAnimation layer. |
+ base::scoped_nsobject<CompositingIOSurfaceLayer> io_surface_layer_; |
+ // The locally drawn software layer. |
base::scoped_nsobject<SoftwareLayer> software_layer_; |
+ // The output surface and latency info of the last accelerated surface that |
+ // was swapped. Sent back to the renderer when the accelerated surface is |
+ // drawn. |
+ int accelerated_output_surface_id_; |
+ std::vector<ui::LatencyInfo> accelerated_latency_info_; |
+ |
// The size in DIP of the last swap received from |compositor_|. |
gfx::Size last_swap_size_dip_; |
}; |