| Index: cc/trees/layer_tree_host.cc
|
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
| index 773a689ac03749590685580a88dafb9cb92fcf0b..e9b439e2e3ef3a0fcce3a7e2ee641fc6b73c65cf 100644
|
| --- a/cc/trees/layer_tree_host.cc
|
| +++ b/cc/trees/layer_tree_host.cc
|
| @@ -330,6 +330,14 @@ void LayerTreeHost::FinishCommitOnImplThread(LayerTreeHostImpl* host_impl) {
|
|
|
| sync_tree->FindRootScrollLayer();
|
|
|
| + if (settings_.use_pinch_virtual_viewport && page_scale_layer_) {
|
| + DCHECK(inner_viewport_scroll_layer_);
|
| + DCHECK(outer_viewport_scroll_layer_);
|
| + sync_tree->SetPinchViewportLayerIds(page_scale_layer_->id(),
|
| + inner_viewport_scroll_layer_->id(),
|
| + outer_viewport_scroll_layer_->id());
|
| + }
|
| +
|
| float page_scale_delta, sent_page_scale_delta;
|
| if (settings_.impl_side_painting) {
|
| // Update the delta from the active tree, which may have
|
| @@ -761,6 +769,9 @@ bool LayerTreeHost::UpdateLayers(Layer* root_layer,
|
| UpdateHudLayer();
|
|
|
| Layer* root_scroll = FindFirstScrollableLayer(root_layer);
|
| + Layer* page_scale_layer = page_scale_layer_;
|
| + if (!page_scale_layer && root_scroll)
|
| + page_scale_layer = root_scroll->parent();
|
|
|
| if (hud_layer_) {
|
| hud_layer_->PrepareForCalculateDrawProperties(
|
| @@ -774,7 +785,7 @@ bool LayerTreeHost::UpdateLayers(Layer* root_layer,
|
| gfx::Transform(),
|
| device_scale_factor_,
|
| page_scale_factor_,
|
| - root_scroll ? root_scroll->parent() : NULL,
|
| + page_scale_layer,
|
| GetRendererCapabilities().max_texture_size,
|
| settings_.can_use_lcd_text,
|
| settings_.layer_transforms_should_scale_layer_contents,
|
| @@ -1190,4 +1201,15 @@ void LayerTreeHost::RecreateUIResources(bool resource_lost) {
|
| }
|
| }
|
|
|
| +void LayerTreeHost::RegisterPinchViewportLayers(
|
| + scoped_refptr<Layer> inner_viewport_clip_layer,
|
| + scoped_refptr<Layer> page_scale_layer,
|
| + scoped_refptr<Layer> inner_viewport_scroll_layer,
|
| + scoped_refptr<Layer> outer_viewport_scroll_layer) {
|
| + inner_viewport_clip_layer_ = inner_viewport_clip_layer;
|
| + page_scale_layer_ = page_scale_layer;
|
| + inner_viewport_scroll_layer_ = inner_viewport_scroll_layer;
|
| + outer_viewport_scroll_layer_ = outer_viewport_scroll_layer;
|
| +}
|
| +
|
| } // namespace cc
|
|
|