| Index: cc/trees/layer_tree_host.cc
|
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
| index f41bc9fea43e116e44e5cb744e9d05c65199a90c..8a185be41be39781254c0f89767fddaaba6e524f 100644
|
| --- a/cc/trees/layer_tree_host.cc
|
| +++ b/cc/trees/layer_tree_host.cc
|
| @@ -988,14 +988,21 @@ bool LayerTreeHost::DoUpdateLayers(Layer* root_layer) {
|
| "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees");
|
| PropertyTreeBuilder::PreCalculateMetaInformation(root_layer);
|
| bool can_render_to_separate_surface = true;
|
| - PropertyTreeBuilder::BuildPropertyTrees(
|
| - root_layer, page_scale_layer, inner_viewport_scroll_layer_.get(),
|
| - outer_viewport_scroll_layer_.get(), overscroll_elasticity_layer_.get(),
|
| - elastic_overscroll_, page_scale_factor_, device_scale_factor_,
|
| - gfx::Rect(device_viewport_size_), identity_transform, &property_trees_);
|
| - TRACE_EVENT_INSTANT1("cc", "LayerTreeHost::UpdateLayers_BuiltPropertyTrees",
|
| - TRACE_EVENT_SCOPE_THREAD, "property_trees",
|
| - property_trees_.AsTracedValue());
|
| + if (!settings_.use_layer_lists) {
|
| + // If use_layer_lists is set, then the property trees should have been
|
| + // built by the client already.
|
| + PropertyTreeBuilder::BuildPropertyTrees(
|
| + root_layer, page_scale_layer, inner_viewport_scroll_layer_.get(),
|
| + outer_viewport_scroll_layer_.get(),
|
| + overscroll_elasticity_layer_.get(), elastic_overscroll_,
|
| + page_scale_factor_, device_scale_factor_,
|
| + gfx::Rect(device_viewport_size_), identity_transform,
|
| + &property_trees_);
|
| + TRACE_EVENT_INSTANT1("cc",
|
| + "LayerTreeHost::UpdateLayers_BuiltPropertyTrees",
|
| + TRACE_EVENT_SCOPE_THREAD, "property_trees",
|
| + property_trees_.AsTracedValue());
|
| + }
|
| draw_property_utils::UpdateRenderSurfaces(root_layer, &property_trees_);
|
| draw_property_utils::UpdatePropertyTrees(&property_trees_,
|
| can_render_to_separate_surface);
|
|
|