Index: cc/tile.h |
diff --git a/cc/tile.h b/cc/tile.h |
index d438d8ef94408ab933df259a0f1f839d3b3ed2a6..7e6339d6473e2cee35c3023fea418edb40353682 100644 |
--- a/cc/tile.h |
+++ b/cc/tile.h |
@@ -49,33 +49,43 @@ class CC_EXPORT Tile : public base::RefCounted<Tile> { |
// Returns 0 if not drawable. |
ResourceProvider::ResourceId GetResourceId() const { |
- if (!managed_state_.resource) |
+ if (!managed_state_) |
return 0; |
- if (managed_state_.resource_is_being_initialized) |
+ if (!managed_state_->resource) |
+ return 0; |
+ if (managed_state_->resource_is_being_initialized) |
return 0; |
- return managed_state_.resource->id(); |
+ return managed_state_->resource->id(); |
} |
const gfx::Rect& opaque_rect() const { return opaque_rect_; } |
- bool contents_swizzled() const { return managed_state_.contents_swizzled; } |
+ bool contents_swizzled() const { |
+ CHECK(managed_state_); |
+ return managed_state_->contents_swizzled; |
+ } |
float contents_scale() const { return contents_scale_; } |
gfx::Rect content_rect() const { return content_rect_; } |
void set_picture_pile(scoped_refptr<PicturePileImpl> pile) { |
- picture_pile_ = pile; |
+ picture_pile_ = pile; |
} |
- ManagedTileState& ManagedStateForTesting() { return managed_state_; } |
+ ManagedTileState* ManagedStateForTesting() { return managed_state_.get(); } |
private: |
// Methods called by by tile manager. |
friend class TileManager; |
friend class BinComparator; |
- ManagedTileState& managed_state() { return managed_state_; } |
- const ManagedTileState& managed_state() const { return managed_state_; } |
+ ManagedTileState* managed_state() { return managed_state_.get(); } |
+ const ManagedTileState* managed_state() const { |
+ return managed_state_.get(); |
+ } |
+ void set_managed_state(ManagedTileState* managed_state) { |
+ managed_state_ = managed_state; |
+ } |
inline size_t bytes_consumed_if_allocated() const { |
DCHECK(format_ == GL_RGBA); |
@@ -96,7 +106,7 @@ class CC_EXPORT Tile : public base::RefCounted<Tile> { |
gfx::Rect opaque_rect_; |
TilePriority priority_[2]; |
- ManagedTileState managed_state_; |
+ scoped_refptr<ManagedTileState> managed_state_; |
}; |
} // namespace cc |