| Index: cc/trees/layer_tree_impl.cc
|
| diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
|
| index c39359ae73e2cd33bd8fcf55b94150afc51c9069..04c375d598d431b69dba359b1b3d450aee220575 100644
|
| --- a/cc/trees/layer_tree_impl.cc
|
| +++ b/cc/trees/layer_tree_impl.cc
|
| @@ -55,7 +55,7 @@ LayerTreeImpl::LayerTreeImpl(
|
| : layer_tree_host_impl_(layer_tree_host_impl),
|
| source_frame_number_(-1),
|
| is_first_frame_after_commit_tracker_(-1),
|
| - root_layer_(nullptr),
|
| + root_layer_for_testing_(nullptr),
|
| hud_layer_(nullptr),
|
| background_color_(0),
|
| has_transparent_background_(false),
|
| @@ -261,17 +261,21 @@ bool LayerTreeImpl::LayerListIsEmpty() const {
|
| return layer_list_.empty();
|
| }
|
|
|
| -void LayerTreeImpl::SetRootLayer(std::unique_ptr<LayerImpl> layer) {
|
| - if (root_layer_ && layer.get() != root_layer_)
|
| - RemoveLayer(root_layer_->id());
|
| - root_layer_ = layer.get();
|
| +void LayerTreeImpl::SetRootLayerForTesting(std::unique_ptr<LayerImpl> layer) {
|
| + if (root_layer_for_testing_ && layer.get() != root_layer_for_testing_)
|
| + RemoveLayer(root_layer_for_testing_->id());
|
| + root_layer_for_testing_ = layer.get();
|
| if (layer)
|
| AddLayer(std::move(layer));
|
| + BuildLayerListForTesting();
|
| layer_tree_host_impl_->OnCanDrawStateChangedForTree();
|
| }
|
|
|
| -void LayerTreeImpl::SetRootLayerFromLayerList() {
|
| - root_layer_ = layer_list_.empty() ? nullptr : layer_list_[0];
|
| +void LayerTreeImpl::SetRootLayerFromLayerListForTesting() {
|
| + root_layer_for_testing_ = layer_list_.empty() ? nullptr : layer_list_[0];
|
| +}
|
| +
|
| +void LayerTreeImpl::OnCanDrawStateChangedForTree() {
|
| layer_tree_host_impl_->OnCanDrawStateChangedForTree();
|
| }
|
|
|
| @@ -285,7 +289,7 @@ void LayerTreeImpl::ClearLayerList() {
|
|
|
| void LayerTreeImpl::BuildLayerListForTesting() {
|
| ClearLayerList();
|
| - LayerListIterator<LayerImpl> it(root_layer_);
|
| + LayerListIterator<LayerImpl> it(root_layer_for_testing_);
|
| for (; it != LayerListIterator<LayerImpl>(nullptr); ++it) {
|
| AddToLayerList(*it);
|
| }
|
| @@ -328,7 +332,7 @@ gfx::ScrollOffset LayerTreeImpl::TotalMaxScrollOffset() const {
|
| }
|
|
|
| std::unique_ptr<OwnedLayerImplList> LayerTreeImpl::DetachLayers() {
|
| - root_layer_ = nullptr;
|
| + root_layer_for_testing_ = nullptr;
|
| layer_list_.clear();
|
| render_surface_layer_list_.clear();
|
| set_needs_update_draw_properties();
|
| @@ -1011,10 +1015,11 @@ bool LayerTreeImpl::UpdateDrawProperties(bool update_lcd_text) {
|
|
|
| void LayerTreeImpl::BuildLayerListAndPropertyTreesForTesting() {
|
| BuildLayerListForTesting();
|
| - PropertyTreeBuilder::PreCalculateMetaInformationForTesting(root_layer_);
|
| + PropertyTreeBuilder::PreCalculateMetaInformationForTesting(
|
| + root_layer_for_testing_);
|
| property_trees_.transform_tree.set_source_to_parent_updates_allowed(true);
|
| PropertyTreeBuilder::BuildPropertyTrees(
|
| - root_layer_, PageScaleLayer(), InnerViewportScrollLayer(),
|
| + root_layer_for_testing_, PageScaleLayer(), InnerViewportScrollLayer(),
|
| OuterViewportScrollLayer(), OverscrollElasticityLayer(),
|
| elastic_overscroll()->Current(IsActiveTree()),
|
| current_page_scale_factor(), device_scale_factor(),
|
| @@ -1098,8 +1103,6 @@ void LayerTreeImpl::AddLayer(std::unique_ptr<LayerImpl> layer) {
|
| }
|
|
|
| std::unique_ptr<LayerImpl> LayerTreeImpl::RemoveLayer(int id) {
|
| - if (root_layer_ && root_layer_->id() == id)
|
| - root_layer_ = nullptr;
|
| for (auto it = layers_->begin(); it != layers_->end(); ++it) {
|
| if ((*it) && (*it)->id() != id)
|
| continue;
|
|
|