Index: cc/resources/picture_pile_impl.h |
diff --git a/cc/resources/picture_pile_impl.h b/cc/resources/picture_pile_impl.h |
index b99e996c60e8f1556656ea44c5f083d63d81a56b..180dba258ee2f5b347627dcdfc08a31e9b884684 100644 |
--- a/cc/resources/picture_pile_impl.h |
+++ b/cc/resources/picture_pile_impl.h |
@@ -52,6 +52,14 @@ |
float contents_scale, |
RenderingStatsInstrumentation* stats_instrumentation); |
+ // Called when analyzing a tile. We can use AnalysisCanvas as |
+ // SkDrawPictureCallback, which allows us to early out from analysis. |
+ void RasterForAnalysis( |
+ skia::AnalysisCanvas* canvas, |
+ gfx::Rect canvas_rect, |
+ float contents_scale, |
+ RenderingStatsInstrumentation* stats_instrumentation); |
+ |
skia::RefPtr<SkPicture> GetFlattenedPicture(); |
struct CC_EXPORT Analysis { |
@@ -62,6 +70,15 @@ |
bool has_text; |
SkColor solid_color; |
}; |
+ |
+ void AnalyzeInRect(gfx::Rect content_rect, |
+ float contents_scale, |
+ Analysis* analysis); |
+ |
+ void AnalyzeInRect(gfx::Rect content_rect, |
+ float contents_scale, |
+ Analysis* analysis, |
+ RenderingStatsInstrumentation* stats_instrumentation); |
class CC_EXPORT PixelRefIterator { |
public: |
@@ -84,9 +101,6 @@ |
Picture::PixelRefIterator pixel_ref_iterator_; |
std::set<const void*> processed_pictures_; |
}; |
- |
- gfx::Rect AnalysisRectForRaster(gfx::Rect content_rect, |
- float contents_scale) const; |
void DidBeginTracing(); |
@@ -122,9 +136,11 @@ |
void RasterCommon( |
SkCanvas* canvas, |
+ SkDrawPictureCallback* callback, |
gfx::Rect canvas_rect, |
float contents_scale, |
- RenderingStatsInstrumentation* rendering_stats_instrumentation); |
+ RenderingStatsInstrumentation* rendering_stats_instrumentation, |
+ bool is_analysis); |
// Once instantiated, |clones_for_drawing_| can't be modified. This |
// guarantees thread-safe access during the life time of a PicturePileImpl |