diff options
-rw-r--r-- | cc/debug/rasterize_and_record_benchmark_impl.cc | 2 | ||||
-rw-r--r-- | cc/tiles/picture_layer_tiling.cc | 2 | ||||
-rw-r--r-- | cc/tiles/picture_layer_tiling.h | 4 | ||||
-rw-r--r-- | cc/tiles/prioritized_tile.cc | 17 | ||||
-rw-r--r-- | cc/tiles/prioritized_tile.h | 9 | ||||
-rw-r--r-- | cc/tiles/tile_manager.cc | 30 |
6 files changed, 31 insertions, 33 deletions
diff --git a/cc/debug/rasterize_and_record_benchmark_impl.cc b/cc/debug/rasterize_and_record_benchmark_impl.cc index 86340ab..47cc016 100644 --- a/cc/debug/rasterize_and_record_benchmark_impl.cc +++ b/cc/debug/rasterize_and_record_benchmark_impl.cc @@ -178,7 +178,7 @@ void RasterizeAndRecordBenchmarkImpl::RunOnLayer(PictureLayerImpl* layer) { tiling_set->AddTiling(1.f, layer->GetRasterSource()); tiling->set_resolution(HIGH_RESOLUTION); tiling->CreateAllTilesForTesting(); - DisplayListRasterSource* raster_source = tiling->raster_source(); + DisplayListRasterSource* raster_source = tiling->raster_source().get(); for (PictureLayerTiling::CoverageIterator it(tiling, 1.f, layer->visible_layer_rect()); it; ++it) { diff --git a/cc/tiles/picture_layer_tiling.cc b/cc/tiles/picture_layer_tiling.cc index 67d7096..a9d10bb 100644 --- a/cc/tiles/picture_layer_tiling.cc +++ b/cc/tiles/picture_layer_tiling.cc @@ -211,7 +211,7 @@ void PictureLayerTiling::SetRasterSourceAndResize( scoped_refptr<DisplayListRasterSource> raster_source) { DCHECK(!raster_source->IsSolidColor()); gfx::Size old_layer_bounds = raster_source_->GetSize(); - raster_source_.swap(raster_source); + raster_source_ = std::move(raster_source); gfx::Size new_layer_bounds = raster_source_->GetSize(); gfx::Size content_bounds = gfx::ScaleToCeiledSize(new_layer_bounds, contents_scale_); diff --git a/cc/tiles/picture_layer_tiling.h b/cc/tiles/picture_layer_tiling.h index 209251d..7d85242 100644 --- a/cc/tiles/picture_layer_tiling.h +++ b/cc/tiles/picture_layer_tiling.h @@ -122,8 +122,8 @@ class CC_EXPORT PictureLayerTiling { can_require_tiles_for_activation_ = can_require_tiles; } - DisplayListRasterSource* raster_source() const { - return raster_source_.get(); + const scoped_refptr<DisplayListRasterSource>& raster_source() const { + return raster_source_; } gfx::Size tiling_size() const { return tiling_data_.tiling_size(); } gfx::Rect live_tiles_rect() const { return live_tiles_rect_; } diff --git a/cc/tiles/prioritized_tile.cc b/cc/tiles/prioritized_tile.cc index cf6e66f..1ef2a17 100644 --- a/cc/tiles/prioritized_tile.cc +++ b/cc/tiles/prioritized_tile.cc @@ -9,16 +9,15 @@ namespace cc { -PrioritizedTile::PrioritizedTile() - : tile_(nullptr), raster_source_(nullptr), is_occluded_(false) { -} +PrioritizedTile::PrioritizedTile() : tile_(nullptr), is_occluded_(false) {} -PrioritizedTile::PrioritizedTile(Tile* tile, - DisplayListRasterSource* raster_source, - const TilePriority priority, - bool is_occluded) +PrioritizedTile::PrioritizedTile( + Tile* tile, + scoped_refptr<DisplayListRasterSource> raster_source, + const TilePriority priority, + bool is_occluded) : tile_(tile), - raster_source_(raster_source), + raster_source_(std::move(raster_source)), priority_(priority), is_occluded_(is_occluded) {} @@ -28,7 +27,7 @@ PrioritizedTile::~PrioritizedTile() { void PrioritizedTile::AsValueInto(base::trace_event::TracedValue* value) const { tile_->AsValueInto(value); - TracedValue::SetIDRef(raster_source(), value, "picture_pile"); + TracedValue::SetIDRef(raster_source().get(), value, "picture_pile"); value->BeginDictionary("combined_priority"); priority().AsValueInto(value); diff --git a/cc/tiles/prioritized_tile.h b/cc/tiles/prioritized_tile.h index d799f58..bcde78c9 100644 --- a/cc/tiles/prioritized_tile.h +++ b/cc/tiles/prioritized_tile.h @@ -6,6 +6,7 @@ #define CC_TILES_PRIORITIZED_TILE_H_ #include "cc/base/cc_export.h" +#include "cc/playback/display_list_raster_source.h" #include "cc/tiles/tile.h" #include "cc/tiles/tile_priority.h" @@ -21,7 +22,9 @@ class CC_EXPORT PrioritizedTile { ~PrioritizedTile(); Tile* tile() const { return tile_; } - DisplayListRasterSource* raster_source() const { return raster_source_; } + const scoped_refptr<DisplayListRasterSource>& raster_source() const { + return raster_source_; + } const TilePriority& priority() const { return priority_; } bool is_occluded() const { return is_occluded_; } @@ -31,12 +34,12 @@ class CC_EXPORT PrioritizedTile { friend class PictureLayerTiling; PrioritizedTile(Tile* tile, - DisplayListRasterSource* raster_source, + scoped_refptr<DisplayListRasterSource> raster_source, const TilePriority priority, bool is_occluded); Tile* tile_; - DisplayListRasterSource* raster_source_; + scoped_refptr<DisplayListRasterSource> raster_source_; TilePriority priority_; bool is_occluded_; }; diff --git a/cc/tiles/tile_manager.cc b/cc/tiles/tile_manager.cc index 418e7a9..fe9933e 100644 --- a/cc/tiles/tile_manager.cc +++ b/cc/tiles/tile_manager.cc @@ -44,7 +44,7 @@ DEFINE_SCOPED_UMA_HISTOGRAM_AREA_TIMER( class RasterTaskImpl : public RasterTask { public: RasterTaskImpl(const Resource* resource, - DisplayListRasterSource* raster_source, + scoped_refptr<DisplayListRasterSource> raster_source, const gfx::Rect& content_rect, const gfx::Rect& invalid_content_rect, float contents_scale, @@ -60,7 +60,7 @@ class RasterTaskImpl : public RasterTask { ImageDecodeTask::Vector* dependencies) : RasterTask(dependencies), resource_(resource), - raster_source_(raster_source), + raster_source_(std::move(raster_source)), content_rect_(content_rect), invalid_content_rect_(invalid_content_rect), contents_scale_(contents_scale), @@ -82,7 +82,17 @@ class RasterTaskImpl : public RasterTask { DCHECK(raster_source_.get()); DCHECK(raster_buffer_); - Raster(raster_source_.get()); + frame_viewer_instrumentation::ScopedRasterTask raster_task( + tile_, tile_resolution_, source_frame_number_, layer_id_); + ScopedRasterTaskTimer timer; + timer.SetArea(content_rect_.size().GetArea()); + + DCHECK(raster_source_); + + bool include_images = tile_resolution_ != LOW_RESOLUTION; + raster_buffer_->Playback(raster_source_.get(), content_rect_, + invalid_content_rect_, new_content_id_, + contents_scale_, include_images); } // Overridden from TileTask: @@ -100,20 +110,6 @@ class RasterTaskImpl : public RasterTask { ~RasterTaskImpl() override { DCHECK(!raster_buffer_); } private: - void Raster(const DisplayListRasterSource* raster_source) { - frame_viewer_instrumentation::ScopedRasterTask raster_task( - tile_, tile_resolution_, source_frame_number_, layer_id_); - ScopedRasterTaskTimer timer; - timer.SetArea(content_rect_.size().GetArea()); - - DCHECK(raster_source); - - bool include_images = tile_resolution_ != LOW_RESOLUTION; - raster_buffer_->Playback(raster_source_.get(), content_rect_, - invalid_content_rect_, new_content_id_, - contents_scale_, include_images); - } - const Resource* resource_; scoped_refptr<DisplayListRasterSource> raster_source_; gfx::Rect content_rect_; |