| Index: cc/layers/layer.h | 
| diff --git a/cc/layers/layer.h b/cc/layers/layer.h | 
| index dfbbdf7b6f732d3591cc6852cd262b9e2ced25d7..3d39f5b3c841283c9d28e58f0497669b4683dedf 100644 | 
| --- a/cc/layers/layer.h | 
| +++ b/cc/layers/layer.h | 
| @@ -253,9 +253,7 @@ 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(); | 
| -  } | 
| +  RenderSurface* render_surface() const { return render_surface_.get(); } | 
| int num_unclipped_descendants() const { | 
| return draw_properties_.num_unclipped_descendants; | 
| } | 
| @@ -375,6 +373,11 @@ class CC_EXPORT Layer : public base::RefCounted<Layer>, | 
|  | 
| void CreateRenderSurface(); | 
| void ClearRenderSurface(); | 
| + | 
| +  void SetShouldHaveRenderSurface(bool should_have); | 
| +  void SetRenderSurfaceActive(bool active); | 
| +  bool ShouldHaveRenderSurface() { return should_have_render_surface_; } | 
| + | 
| void ClearRenderSurfaceLayerList(); | 
|  | 
| // The contents scale converts from logical, non-page-scaled pixels to target | 
| @@ -607,6 +610,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 should_have_render_surface_ : 1; | 
| Region non_fast_scrollable_region_; | 
| Region touch_event_handler_region_; | 
| gfx::PointF position_; | 
| @@ -640,6 +644,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); | 
| }; | 
|  |