Index: cc/picture.cc |
diff --git a/cc/picture.cc b/cc/picture.cc |
index 10046108e0402f951d462877b8f5070247a659fb..d1f5b79072dff796fbdf5b271ff27798c4cb50b9 100644 |
--- a/cc/picture.cc |
+++ b/cc/picture.cc |
@@ -130,17 +130,15 @@ void Picture::Raster( |
canvas->restore(); |
} |
-bool Picture::IsCheapInRect(const gfx::Rect& layer_rect) const { |
- TRACE_EVENT0("cc", "Picture::IsCheapInRect"); |
- |
- SkBitmap emptyBitmap; |
- emptyBitmap.setConfig(SkBitmap::kNo_Config, layer_rect.width(), |
- layer_rect.height()); |
- skia::AnalysisDevice device(emptyBitmap); |
- skia::AnalysisCanvas canvas(&device); |
- |
- canvas.drawPicture(*picture_); |
- return canvas.isCheap(); |
+void Picture::AnalyzeInRect(skia::AnalysisCanvas* canvas, |
+ const gfx::Rect& content_rect, |
+ float contents_scale) { |
+ canvas->save(); |
+ canvas->clipRect(gfx::RectToSkRect(content_rect)); |
+ canvas->scale(contents_scale, contents_scale); |
+ canvas->translate(layer_rect_.x(), layer_rect_.y()); |
+ canvas->drawPicture(*picture_); |
+ canvas->restore(); |
} |
void Picture::GatherPixelRefs(const gfx::Rect& layer_rect, |