| Index: cc/layers/picture_layer_impl.cc
|
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
|
| index 26d36e028890b08e3483aec8ca02b2c6a4e3aaee..f7cbbc8ef8440dd9755923ef29602d913d2729e1 100644
|
| --- a/cc/layers/picture_layer_impl.cc
|
| +++ b/cc/layers/picture_layer_impl.cc
|
| @@ -277,7 +277,7 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
|
| } else if (iter.resolution() == LOW_RESOLUTION) {
|
| color = DebugColors::LowResTileBorderColor();
|
| width = DebugColors::LowResTileBorderWidth(device_scale_factor);
|
| - } else if (iter->contents_scale() > max_contents_scale) {
|
| + } else if (iter->contents_scale_key() > max_contents_scale) {
|
| color = DebugColors::ExtraHighResTileBorderColor();
|
| width = DebugColors::ExtraHighResTileBorderWidth(device_scale_factor);
|
| } else {
|
| @@ -345,8 +345,8 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
|
| // complete. But if a tile is ideal scale, we don't want to consider
|
| // it incomplete and trying to replace it with a tile at a worse
|
| // scale.
|
| - if (iter->contents_scale() != raster_contents_scale_ &&
|
| - iter->contents_scale() != ideal_contents_scale_ &&
|
| + if (iter->contents_scale_key() != raster_contents_scale_ &&
|
| + iter->contents_scale_key() != ideal_contents_scale_ &&
|
| geometry_rect.Intersects(scaled_viewport_for_tile_priority)) {
|
| append_quads_data->num_incomplete_tiles++;
|
| }
|
| @@ -646,14 +646,11 @@ bool PictureLayerImpl::RasterSourceUsesLCDText() const {
|
| }
|
|
|
| void PictureLayerImpl::NotifyTileStateChanged(const Tile* tile) {
|
| - if (layer_tree_impl()->IsActiveTree()) {
|
| - gfx::Rect layer_damage_rect = gfx::ScaleToEnclosingRect(
|
| - tile->content_rect(), 1.f / tile->contents_scale());
|
| - AddDamageRect(layer_damage_rect);
|
| - }
|
| + if (layer_tree_impl()->IsActiveTree())
|
| + AddDamageRect(tile->enclosing_layer_rect());
|
| if (tile->draw_info().NeedsRaster()) {
|
| PictureLayerTiling* tiling =
|
| - tilings_->FindTilingWithScaleKey(tile->contents_scale());
|
| + tilings_->FindTilingWithScaleKey(tile->contents_scale_key());
|
| if (tiling)
|
| tiling->set_all_tiles_done(false);
|
| }
|
| @@ -726,7 +723,13 @@ const PictureLayerTiling* PictureLayerImpl::GetPendingOrActiveTwinTiling(
|
| PictureLayerImpl* twin_layer = GetPendingOrActiveTwinLayer();
|
| if (!twin_layer)
|
| return nullptr;
|
| - return twin_layer->tilings_->FindTilingWithScaleKey(tiling->contents_scale());
|
| + const PictureLayerTiling* twin_tiling =
|
| + twin_layer->tilings_->FindTilingWithScaleKey(
|
| + tiling->contents_scale_key());
|
| + DCHECK(tiling->raster_transform().translation() == gfx::Vector2dF());
|
| + DCHECK(!twin_tiling ||
|
| + twin_tiling->raster_transform().translation() == gfx::Vector2dF());
|
| + return twin_tiling;
|
| }
|
|
|
| bool PictureLayerImpl::RequiresHighResToDraw() const {
|
| @@ -887,7 +890,8 @@ PictureLayerTiling* PictureLayerImpl::AddTiling(float contents_scale) {
|
| DCHECK_GE(contents_scale, MinimumContentsScale());
|
| DCHECK_LE(contents_scale, MaximumContentsScale());
|
| DCHECK(raster_source_->HasRecordings());
|
| - return tilings_->AddTiling(contents_scale, raster_source_);
|
| + return tilings_->AddTiling(
|
| + gfx::AxisTransform2d(contents_scale, gfx::Vector2dF()), raster_source_);
|
| }
|
|
|
| void PictureLayerImpl::RemoveAllTilings() {
|
|
|