| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 4703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4714 inner_viewport_container_layer->AddChild(overscroll_elasticity_layer); | 4714 inner_viewport_container_layer->AddChild(overscroll_elasticity_layer); |
| 4715 overscroll_elasticity_layer->AddChild(page_scale_layer); | 4715 overscroll_elasticity_layer->AddChild(page_scale_layer); |
| 4716 page_scale_layer->AddChild(inner_viewport_scroll_layer); | 4716 page_scale_layer->AddChild(inner_viewport_scroll_layer); |
| 4717 | 4717 |
| 4718 scoped_refptr<Layer> content_layer = FakePictureLayer::Create(&client_); | 4718 scoped_refptr<Layer> content_layer = FakePictureLayer::Create(&client_); |
| 4719 content_layer_id_ = content_layer->id(); | 4719 content_layer_id_ = content_layer->id(); |
| 4720 content_layer->SetBounds(gfx::Size(10, 10)); | 4720 content_layer->SetBounds(gfx::Size(10, 10)); |
| 4721 inner_viewport_scroll_layer->AddChild(content_layer); | 4721 inner_viewport_scroll_layer->AddChild(content_layer); |
| 4722 | 4722 |
| 4723 layer_tree_host()->SetRootLayer(root_layer_); | 4723 layer_tree_host()->SetRootLayer(root_layer_); |
| 4724 layer_tree_host()->RegisterViewportLayers( | 4724 LayerTreeHost::ViewportLayers viewport_layers; |
| 4725 overscroll_elasticity_layer, page_scale_layer, | 4725 viewport_layers.overscroll_elasticity = overscroll_elasticity_layer; |
| 4726 inner_viewport_container_layer, nullptr, inner_viewport_scroll_layer, | 4726 viewport_layers.page_scale = page_scale_layer; |
| 4727 nullptr); | 4727 viewport_layers.inner_viewport_container = inner_viewport_container_layer; |
| 4728 viewport_layers.inner_viewport_scroll = inner_viewport_scroll_layer; |
| 4729 layer_tree_host()->RegisterViewportLayers(viewport_layers); |
| 4728 LayerTreeHostTest::SetupTree(); | 4730 LayerTreeHostTest::SetupTree(); |
| 4729 client_.set_bounds(content_layer->bounds()); | 4731 client_.set_bounds(content_layer->bounds()); |
| 4730 } | 4732 } |
| 4731 | 4733 |
| 4732 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 4734 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 4733 | 4735 |
| 4734 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { | 4736 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { |
| 4735 if (host_impl->sync_tree()->source_frame_number() == 0) { | 4737 if (host_impl->sync_tree()->source_frame_number() == 0) { |
| 4736 scroll_elasticity_helper_ = host_impl->CreateScrollElasticityHelper(); | 4738 scroll_elasticity_helper_ = host_impl->CreateScrollElasticityHelper(); |
| 4737 } | 4739 } |
| (...skipping 1383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6121 recording->SetPlaybackAllowedEvent(&playback_allowed_event_); | 6123 recording->SetPlaybackAllowedEvent(&playback_allowed_event_); |
| 6122 scoped_refptr<FakePictureLayer> layer = | 6124 scoped_refptr<FakePictureLayer> layer = |
| 6123 FakePictureLayer::CreateWithRecordingSource(&client_, | 6125 FakePictureLayer::CreateWithRecordingSource(&client_, |
| 6124 std::move(recording)); | 6126 std::move(recording)); |
| 6125 layer->SetBounds(gfx::Size(500, 500)); | 6127 layer->SetBounds(gfx::Size(500, 500)); |
| 6126 layer->SetContentsOpaque(true); | 6128 layer->SetContentsOpaque(true); |
| 6127 // Avoid LCD text on the layer so we don't cause extra commits when we | 6129 // Avoid LCD text on the layer so we don't cause extra commits when we |
| 6128 // pinch. | 6130 // pinch. |
| 6129 pinch->AddChild(layer); | 6131 pinch->AddChild(layer); |
| 6130 | 6132 |
| 6131 layer_tree_host()->RegisterViewportLayers(NULL, page_scale_layer, root_clip, | 6133 LayerTreeHost::ViewportLayers viewport_layers; |
| 6132 nullptr, pinch, nullptr); | 6134 viewport_layers.page_scale = page_scale_layer; |
| 6135 viewport_layers.inner_viewport_container = root_clip; |
| 6136 viewport_layers.inner_viewport_scroll = pinch; |
| 6137 layer_tree_host()->RegisterViewportLayers(viewport_layers); |
| 6133 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); | 6138 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); |
| 6134 layer_tree_host()->SetRootLayer(root_clip); | 6139 layer_tree_host()->SetRootLayer(root_clip); |
| 6135 LayerTreeHostTest::SetupTree(); | 6140 LayerTreeHostTest::SetupTree(); |
| 6136 client_.set_bounds(root_clip->bounds()); | 6141 client_.set_bounds(root_clip->bounds()); |
| 6137 } | 6142 } |
| 6138 | 6143 |
| 6139 // Returns the delta scale of all quads in the frame's root pass from their | 6144 // Returns the delta scale of all quads in the frame's root pass from their |
| 6140 // ideal, or 0 if they are not all the same. | 6145 // ideal, or 0 if they are not all the same. |
| 6141 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { | 6146 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { |
| 6142 if (frame_data->has_no_damage) | 6147 if (frame_data->has_no_damage) |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6425 recording->SetPlaybackAllowedEvent(&playback_allowed_event_); | 6430 recording->SetPlaybackAllowedEvent(&playback_allowed_event_); |
| 6426 scoped_refptr<FakePictureLayer> layer = | 6431 scoped_refptr<FakePictureLayer> layer = |
| 6427 FakePictureLayer::CreateWithRecordingSource(&client_, | 6432 FakePictureLayer::CreateWithRecordingSource(&client_, |
| 6428 std::move(recording)); | 6433 std::move(recording)); |
| 6429 layer->SetBounds(gfx::Size(500, 500)); | 6434 layer->SetBounds(gfx::Size(500, 500)); |
| 6430 layer->SetContentsOpaque(true); | 6435 layer->SetContentsOpaque(true); |
| 6431 // Avoid LCD text on the layer so we don't cause extra commits when we | 6436 // Avoid LCD text on the layer so we don't cause extra commits when we |
| 6432 // pinch. | 6437 // pinch. |
| 6433 pinch->AddChild(layer); | 6438 pinch->AddChild(layer); |
| 6434 | 6439 |
| 6435 layer_tree_host()->RegisterViewportLayers(NULL, page_scale_layer, root_clip, | 6440 LayerTreeHost::ViewportLayers viewport_layers; |
| 6436 nullptr, pinch, nullptr); | 6441 viewport_layers.page_scale = page_scale_layer; |
| 6442 viewport_layers.inner_viewport_container = root_clip; |
| 6443 viewport_layers.inner_viewport_scroll = pinch; |
| 6444 layer_tree_host()->RegisterViewportLayers(viewport_layers); |
| 6437 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); | 6445 layer_tree_host()->SetPageScaleFactorAndLimits(1.f, 1.f, 4.f); |
| 6438 layer_tree_host()->SetRootLayer(root_clip); | 6446 layer_tree_host()->SetRootLayer(root_clip); |
| 6439 LayerTreeHostTest::SetupTree(); | 6447 LayerTreeHostTest::SetupTree(); |
| 6440 client_.set_bounds(root_clip->bounds()); | 6448 client_.set_bounds(root_clip->bounds()); |
| 6441 } | 6449 } |
| 6442 | 6450 |
| 6443 // Returns the delta scale of all quads in the frame's root pass from their | 6451 // Returns the delta scale of all quads in the frame's root pass from their |
| 6444 // ideal, or 0 if they are not all the same. | 6452 // ideal, or 0 if they are not all the same. |
| 6445 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { | 6453 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { |
| 6446 if (frame_data->has_no_damage) | 6454 if (frame_data->has_no_damage) |
| (...skipping 938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7385 root->AddChild(page_scale); | 7393 root->AddChild(page_scale); |
| 7386 root->AddChild(post_page_scale); | 7394 root->AddChild(post_page_scale); |
| 7387 | 7395 |
| 7388 page_scale->AddChild(page_scale_child1); | 7396 page_scale->AddChild(page_scale_child1); |
| 7389 page_scale->AddChild(page_scale_child2); | 7397 page_scale->AddChild(page_scale_child2); |
| 7390 page_scale_child1->AddChild(page_scale_grandchild); | 7398 page_scale_child1->AddChild(page_scale_grandchild); |
| 7391 | 7399 |
| 7392 layer_tree_host()->SetRootLayer(root); | 7400 layer_tree_host()->SetRootLayer(root); |
| 7393 LayerTreeTest::SetupTree(); | 7401 LayerTreeTest::SetupTree(); |
| 7394 | 7402 |
| 7395 scoped_refptr<Layer> overscroll_elasticity_layer = nullptr; | 7403 LayerTreeHost::ViewportLayers viewport_layers; |
| 7396 scoped_refptr<Layer> inner_viewport_container_layer = nullptr; | 7404 viewport_layers.page_scale = page_scale; |
| 7397 scoped_refptr<Layer> outer_viewport_container_layer = nullptr; | 7405 layer_tree_host()->RegisterViewportLayers(viewport_layers); |
| 7398 scoped_refptr<Layer> inner_viewport_scroll_layer = nullptr; | |
| 7399 scoped_refptr<Layer> outer_viewport_scroll_layer = nullptr; | |
| 7400 layer_tree_host()->RegisterViewportLayers( | |
| 7401 overscroll_elasticity_layer, page_scale, inner_viewport_container_layer, | |
| 7402 outer_viewport_container_layer, inner_viewport_scroll_layer, | |
| 7403 outer_viewport_scroll_layer); | |
| 7404 | 7406 |
| 7405 affected_by_page_scale_.push_back(page_scale->id()); | 7407 affected_by_page_scale_.push_back(page_scale->id()); |
| 7406 affected_by_page_scale_.push_back(page_scale_child1->id()); | 7408 affected_by_page_scale_.push_back(page_scale_child1->id()); |
| 7407 affected_by_page_scale_.push_back(page_scale_child2->id()); | 7409 affected_by_page_scale_.push_back(page_scale_child2->id()); |
| 7408 affected_by_page_scale_.push_back(page_scale_grandchild->id()); | 7410 affected_by_page_scale_.push_back(page_scale_grandchild->id()); |
| 7409 | 7411 |
| 7410 not_affected_by_page_scale_.push_back(root->id()); | 7412 not_affected_by_page_scale_.push_back(root->id()); |
| 7411 not_affected_by_page_scale_.push_back(pre_page_scale->id()); | 7413 not_affected_by_page_scale_.push_back(pre_page_scale->id()); |
| 7412 not_affected_by_page_scale_.push_back(post_page_scale->id()); | 7414 not_affected_by_page_scale_.push_back(post_page_scale->id()); |
| 7413 } | 7415 } |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7961 void AfterTest() override {} | 7963 void AfterTest() override {} |
| 7962 | 7964 |
| 7963 private: | 7965 private: |
| 7964 bool received_ack_ = false; | 7966 bool received_ack_ = false; |
| 7965 }; | 7967 }; |
| 7966 | 7968 |
| 7967 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDiscardAckAfterRelease); | 7969 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDiscardAckAfterRelease); |
| 7968 | 7970 |
| 7969 } // namespace | 7971 } // namespace |
| 7970 } // namespace cc | 7972 } // namespace cc |
| OLD | NEW |