| Index: cc/layers/picture_layer.cc
|
| diff --git a/cc/layers/picture_layer.cc b/cc/layers/picture_layer.cc
|
| index d7345389ac465ceb03e7718e00f602e3e55d3c43..55241d0a16f4c43125e3cdb09c95a104f23b6f2f 100644
|
| --- a/cc/layers/picture_layer.cc
|
| +++ b/cc/layers/picture_layer.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/auto_reset.h"
|
| #include "cc/layers/content_layer_client.h"
|
| #include "cc/layers/picture_layer_impl.h"
|
| +#include "cc/resources/display_list_recording_source.h"
|
| #include "cc/resources/picture_pile.h"
|
| #include "cc/trees/layer_tree_impl.h"
|
| #include "third_party/skia/include/core/SkPictureRecorder.h"
|
| @@ -20,7 +21,6 @@ scoped_refptr<PictureLayer> PictureLayer::Create(ContentLayerClient* client) {
|
|
|
| PictureLayer::PictureLayer(ContentLayerClient* client)
|
| : client_(client),
|
| - recording_source_(new PicturePile),
|
| instrumentation_object_tracker_(id()),
|
| update_source_frame_number_(-1),
|
| can_use_lcd_text_for_update_(true),
|
| @@ -79,6 +79,13 @@ void PictureLayer::PushPropertiesTo(LayerImpl* base_layer) {
|
| void PictureLayer::SetLayerTreeHost(LayerTreeHost* host) {
|
| Layer::SetLayerTreeHost(host);
|
| if (host) {
|
| + if (!recording_source_) {
|
| + if (host->settings().use_display_lists) {
|
| + recording_source_.reset(new DisplayListRecordingSource);
|
| + } else {
|
| + recording_source_.reset(new PicturePile);
|
| + }
|
| + }
|
| recording_source_->SetMinContentsScale(
|
| host->settings().minimum_contents_scale);
|
| recording_source_->SetTileGridSize(host->settings().default_tile_grid_size);
|
|
|