Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 4c82e7310c2eeba5d2815e484ca6c08fc2b32063..8869e8284efe595557d2d72328813fe12ae3d954 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -1257,9 +1257,16 @@ 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", |