summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorpan.deng <pan.deng@intel.com>2015-03-31 20:22:05 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-01 03:23:09 +0000
commit0bd2a738f107ad7021c70bfd36ae41e4565fe946 (patch)
tree3fafc7dcc0f8283705fab07a3d20fe5ca370d9df /cc
parent982ef2c11eb828b3c3728d1e42784d4b3056b251 (diff)
downloadchromium_src-0bd2a738f107ad7021c70bfd36ae41e4565fe946.zip
chromium_src-0bd2a738f107ad7021c70bfd36ae41e4565fe946.tar.gz
chromium_src-0bd2a738f107ad7021c70bfd36ae41e4565fe946.tar.bz2
Enable skp dump for SP
BUG=465232 Review URL: https://codereview.chromium.org/1039073003 Cr-Commit-Position: refs/heads/master@{#323177}
Diffstat (limited to 'cc')
-rw-r--r--cc/layers/picture_layer.cc22
1 files changed, 20 insertions, 2 deletions
diff --git a/cc/layers/picture_layer.cc b/cc/layers/picture_layer.cc
index d9b0e04..2234e2c 100644
--- a/cc/layers/picture_layer.cc
+++ b/cc/layers/picture_layer.cc
@@ -181,8 +181,26 @@ skia::RefPtr<SkPicture> PictureLayer::GetPicture() const {
if (!DrawsContent())
return skia::RefPtr<SkPicture>();
- int width = bounds().width();
- int height = bounds().height();
+ gfx::Size layer_size = bounds();
+ const LayerTreeSettings& settings = layer_tree_host()->settings();
+
+ if (settings.use_display_lists) {
+ scoped_ptr<RecordingSource> recording_source;
+ recording_source.reset(
+ new DisplayListRecordingSource(settings.default_tile_grid_size));
+ Region recording_invalidation;
+ recording_source->UpdateAndExpandInvalidation(
+ client_, &recording_invalidation, layer_size, gfx::Rect(layer_size),
+ update_source_frame_number_, RecordingSource::RECORD_NORMALLY);
+
+ scoped_refptr<RasterSource> raster_source =
+ recording_source->CreateRasterSource(false);
+
+ return raster_source->GetFlattenedPicture();
+ }
+
+ int width = layer_size.width();
+ int height = layer_size.height();
SkPictureRecorder recorder;
SkCanvas* canvas = recorder.beginRecording(width, height, nullptr, 0);