Index: cc/trees/layer_tree.cc |
diff --git a/cc/trees/layer_tree.cc b/cc/trees/layer_tree.cc |
index 5f5e5519474168b9e55f8042c6ff3b599fdaeaa4..d0f0ac729254dd6123608ce838233149925afae5 100644 |
--- a/cc/trees/layer_tree.cc |
+++ b/cc/trees/layer_tree.cc |
@@ -26,6 +26,7 @@ LayerTree::Inputs::Inputs() |
device_scale_factor(1.f), |
painted_device_scale_factor(1.f), |
page_scale_factor(1.f), |
+ subframe_page_scale_factor(1.f), |
min_page_scale_factor(1.f), |
max_page_scale_factor(1.f), |
background_color(SK_ColorWHITE), |
@@ -174,6 +175,14 @@ void LayerTree::SetPageScaleFactorAndLimits(float page_scale_factor, |
SetNeedsCommit(); |
} |
+void LayerTree::SetSubframePageScaleFactor(float subframe_page_scale_factor) { |
+ if (inputs_.subframe_page_scale_factor == subframe_page_scale_factor) |
+ return; |
+ |
+ inputs_.subframe_page_scale_factor = subframe_page_scale_factor; |
+ SetNeedsDisplayOnAllLayers(); |
+} |
+ |
void LayerTree::StartPageScaleAnimation(const gfx::Vector2d& target_offset, |
bool use_anchor, |
float scale, |
@@ -379,9 +388,9 @@ void LayerTree::PushPropertiesTo(LayerTreeImpl* tree_impl) { |
// Setting property trees must happen before pushing the page scale. |
tree_impl->SetPropertyTrees(&property_trees_); |
- tree_impl->PushPageScaleFromMainThread(inputs_.page_scale_factor, |
- inputs_.min_page_scale_factor, |
- inputs_.max_page_scale_factor); |
+ tree_impl->PushPageScaleFromMainThread( |
+ inputs_.page_scale_factor, inputs_.subframe_page_scale_factor, |
+ inputs_.min_page_scale_factor, inputs_.max_page_scale_factor); |
tree_impl->set_browser_controls_shrink_blink_size( |
inputs_.browser_controls_shrink_blink_size); |