Index: cc/trees/layer_tree_impl.cc |
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc |
index f959d8ec41e4a855031c51d2ab5fa71fcccecec9..7a7c9351f304fb513a6b3be7ce95e85b5538f22a 100644 |
--- a/cc/trees/layer_tree_impl.cc |
+++ b/cc/trees/layer_tree_impl.cc |
@@ -111,6 +111,11 @@ void LayerTreeImpl::PushPropertiesTo(LayerTreeImpl* target_tree) { |
target_tree->page_scale_delta() / target_tree->sent_page_scale_delta()); |
target_tree->set_sent_page_scale_delta(1); |
+ if (settings().use_pinch_virtual_viewport) |
+ target_tree->SetPinchViewportLayerIds(page_scale_layer_->id(), |
+ inner_viewport_scroll_layer_->id(), |
+ outer_viewport_scroll_layer_->id()); |
+ |
// This should match the property synchronization in |
// LayerTreeHost::finishCommitOnImplThread(). |
target_tree->set_source_frame_number(source_frame_number()); |
@@ -222,6 +227,17 @@ void LayerTreeImpl::UpdateMaxScrollOffset() { |
root_scroll_layer_->SetMaxScrollOffset(gfx::ToFlooredVector2d(max_scroll)); |
} |
+void LayerTreeImpl::SetPinchViewportLayerIds( |
+ int page_scale_layer_id, |
+ int inner_viewport_scroll_layer_id, |
+ int outer_viewport_scroll_layer_id) { |
+ page_scale_layer_ = FindPendingTreeLayerById(page_scale_layer_id); |
+ inner_viewport_scroll_layer_ = |
+ FindPendingTreeLayerById(inner_viewport_scroll_layer_id); |
+ outer_viewport_scroll_layer_ = |
+ FindPendingTreeLayerById(outer_viewport_scroll_layer_id); |
+} |
+ |
void LayerTreeImpl::UpdateSolidColorScrollbars() { |
DCHECK(settings().solid_color_scrollbars); |
@@ -280,13 +296,14 @@ void LayerTreeImpl::UpdateDrawProperties() { |
"LayerTreeImpl::UpdateDrawProperties", |
"IsActive", |
IsActiveTree()); |
+ |
LayerTreeHostCommon::CalculateDrawProperties( |
root_layer(), |
layer_tree_host_impl_->DeviceViewport().size(), |
layer_tree_host_impl_->DeviceTransform(), |
device_scale_factor(), |
total_page_scale_factor(), |
- root_scroll_layer_, |
+ page_scale_layer_ ? page_scale_layer_ : root_scroll_layer_, |
MaxTextureSize(), |
settings().can_use_lcd_text, |
settings().layer_transforms_should_scale_layer_contents, |