Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index a526b8aa6735e3e989c7f17d255d3efe74c3d444..6015b3d1bf3e55cd294c0e4090f098067e5b196d 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -1259,9 +1259,17 @@ void PictureLayerImpl::UpdateIdealScales() { |
? layer_tree_impl()->current_page_scale_factor() |
: 1.f; |
ideal_device_scale_ = layer_tree_impl()->device_scale_factor(); |
+ ideal_contents_scale_ = GetIdealContentsScale(); |
+ |
+ if (!layer_tree_impl()->PageScaleLayer()) { |
+ float subframe_page_scale_factor = |
+ layer_tree_impl()->GetSubframePageScaleFactor(); |
+ ideal_page_scale_ = subframe_page_scale_factor; |
+ ideal_contents_scale_ *= subframe_page_scale_factor; |
+ } |
ideal_contents_scale_ = |
std::min(kMaxIdealContentsScale, |
- std::max(GetIdealContentsScale(), min_contents_scale)); |
+ std::max(ideal_contents_scale_, min_contents_scale)); |
ideal_source_scale_ = |
ideal_contents_scale_ / ideal_page_scale_ / ideal_device_scale_; |
UMA_HISTOGRAM_CUSTOM_COUNTS("Renderer4.IdealContentsScale", |