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 |