Index: cc/layers/layer.h |
diff --git a/cc/layers/layer.h b/cc/layers/layer.h |
index 61ef3f8c3ac701b0b89f87fc74886a2189665774..c474f4d188c8e1f35e31b52e8b3133f4a312c868 100644 |
--- a/cc/layers/layer.h |
+++ b/cc/layers/layer.h |
@@ -254,13 +254,11 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, |
draw_properties_.render_target->render_surface()); |
return draw_properties_.render_target; |
} |
- RenderSurface* render_surface() const { |
- return draw_properties_.render_surface.get(); |
- } |
int num_unclipped_descendants() const { |
return draw_properties_.num_unclipped_descendants; |
} |
+ RenderSurface* render_surface() const { return render_surface_.get(); } |
void SetScrollOffset(gfx::Vector2d scroll_offset); |
gfx::Vector2d scroll_offset() const { return scroll_offset_; } |
void SetScrollOffsetFromImplSide(const gfx::Vector2d& scroll_offset); |
@@ -376,6 +374,11 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, |
void CreateRenderSurface(); |
void ClearRenderSurface(); |
+ |
+ // This should only be called during BeginMainFrame since it does not |
+ // trigger a Commit. |
+ void SetHasRenderSurface(bool has_render_surface); |
+ |
void ClearRenderSurfaceLayerList(); |
// The contents scale converts from logical, non-page-scaled pixels to target |
@@ -608,6 +611,7 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, |
bool draw_checkerboard_for_missing_tiles_ : 1; |
bool force_render_surface_ : 1; |
bool transform_is_invertible_ : 1; |
+ bool has_render_surface_ : 1; |
Region non_fast_scrollable_region_; |
Region touch_event_handler_region_; |
gfx::PointF position_; |
@@ -641,6 +645,7 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, |
DrawProperties<Layer> draw_properties_; |
PaintProperties paint_properties_; |
+ scoped_ptr<RenderSurface> render_surface_; |
DISALLOW_COPY_AND_ASSIGN(Layer); |
}; |