summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cc/debug/rasterize_and_record_benchmark_impl.cc2
-rw-r--r--cc/tiles/picture_layer_tiling.cc2
-rw-r--r--cc/tiles/picture_layer_tiling.h4
-rw-r--r--cc/tiles/prioritized_tile.cc17
-rw-r--r--cc/tiles/prioritized_tile.h9
-rw-r--r--cc/tiles/tile_manager.cc30
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_;