diff options
author | pan.deng <pan.deng@intel.com> | 2015-03-31 20:22:05 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-01 03:23:09 +0000 |
commit | 0bd2a738f107ad7021c70bfd36ae41e4565fe946 (patch) | |
tree | 3fafc7dcc0f8283705fab07a3d20fe5ca370d9df /cc | |
parent | 982ef2c11eb828b3c3728d1e42784d4b3056b251 (diff) | |
download | chromium_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.cc | 22 |
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); |