Chromium Code Reviews| Index: cc/resources/picture_pile_base.h |
| diff --git a/cc/resources/picture_pile_base.h b/cc/resources/picture_pile_base.h |
| index 26f6bdbefb7ef540d29a1bc6efdf6b69a588c72c..d12a98ea76a45c4ddba37b0febf35d46f13a9640 100644 |
| --- a/cc/resources/picture_pile_base.h |
| +++ b/cc/resources/picture_pile_base.h |
| @@ -33,15 +33,15 @@ class CC_EXPORT PicturePileBase : public base::RefCounted<PicturePileBase> { |
| gfx::Size size() const { return tiling_.total_size(); } |
| void SetMinContentsScale(float min_contents_scale); |
| - void UpdateRecordedRegion(); |
| - const Region& recorded_region() const { return recorded_region_; } |
| - |
| int num_tiles_x() const { return tiling_.num_tiles_x(); } |
| int num_tiles_y() const { return tiling_.num_tiles_y(); } |
| gfx::Rect tile_bounds(int x, int y) const { return tiling_.TileBounds(x, y); } |
| bool HasRecordingAt(int x, int y); |
| bool CanRaster(float contents_scale, const gfx::Rect& content_rect); |
| + // If this pile contains any valid recordings. May have false positives. |
| + bool HasAnyRecordings() const { return has_any_recordings_; } |
|
vmpstr
2014/03/12 23:57:35
nit: Maybe just HasRecordings? "any" is kind of im
enne (OOO)
2014/03/13 01:35:43
Done.
|
| + |
| static void ComputeTileGridInfo(const gfx::Size& tile_grid_size, |
| SkTileGridPicture::TileGridInfo* info); |
| @@ -84,21 +84,22 @@ class CC_EXPORT PicturePileBase : public base::RefCounted<PicturePileBase> { |
| virtual ~PicturePileBase(); |
| - void SetRecordedRegionForTesting(const Region& recorded_region) { |
| - recorded_region_ = recorded_region; |
| - } |
| - |
| int buffer_pixels() const { return tiling_.border_texels(); } |
| void Clear(); |
| gfx::Rect PaddedRect(const PictureMapKey& key); |
| gfx::Rect PadRect(const gfx::Rect& rect); |
| + // An internal CanRaster check that goes to the picture_map rather than |
| + // using the recorded_viewport hint. |
| + bool CanRasterSlowTileCheck(const gfx::Rect& layer_rect) const; |
| + |
| // A picture pile is a tiled set of pictures. The picture map is a map of tile |
| // indices to picture infos. |
| PictureMap picture_map_; |
| TilingData tiling_; |
| - Region recorded_region_; |
| + // If non-empty, all pictures tiles inside this rect are recorded. |
| + gfx::Rect recorded_viewport_; |
| float min_contents_scale_; |
| SkTileGridPicture::TileGridInfo tile_grid_info_; |
| SkColor background_color_; |
| @@ -106,6 +107,9 @@ class CC_EXPORT PicturePileBase : public base::RefCounted<PicturePileBase> { |
| bool contents_opaque_; |
| bool show_debug_picture_borders_; |
| bool clear_canvas_with_debug_color_; |
| + // A hint about whether there are any recordings. This may be a false |
| + // positive. |
| + bool has_any_recordings_; |
| private: |
| void SetBufferPixels(int buffer_pixels); |