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_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <cmath> | 10 #include <cmath> |
(...skipping 9128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9139 EXPECT_FALSE(last_on_draw_frame_->has_no_damage); | 9139 EXPECT_FALSE(last_on_draw_frame_->has_no_damage); |
9140 last_on_draw_frame_.reset(); | 9140 last_on_draw_frame_.reset(); |
9141 | 9141 |
9142 // Next hardware draw has damage. | 9142 // Next hardware draw has damage. |
9143 resourceless_software_draw = false; | 9143 resourceless_software_draw = false; |
9144 host_impl_->OnDraw(draw_transform, draw_viewport, clip, | 9144 host_impl_->OnDraw(draw_transform, draw_viewport, clip, |
9145 resourceless_software_draw); | 9145 resourceless_software_draw); |
9146 EXPECT_FALSE(last_on_draw_frame_->has_no_damage); | 9146 EXPECT_FALSE(last_on_draw_frame_->has_no_damage); |
9147 } | 9147 } |
9148 | 9148 |
| 9149 TEST_F(ResourcelessSoftwareLayerTreeHostImplTest, |
| 9150 ResourcelessSoftwareDrawSkipsUpdateTiles) { |
| 9151 const gfx::Size viewport_size(100, 100); |
| 9152 host_impl_->SetViewportSize(viewport_size); |
| 9153 |
| 9154 host_impl_->CreatePendingTree(); |
| 9155 scoped_refptr<FakeDisplayListRasterSource> raster_source( |
| 9156 FakeDisplayListRasterSource::CreateFilled(viewport_size)); |
| 9157 scoped_ptr<FakePictureLayerImpl> layer( |
| 9158 FakePictureLayerImpl::CreateWithRasterSource(host_impl_->pending_tree(), |
| 9159 11, raster_source)); |
| 9160 layer->SetBounds(viewport_size); |
| 9161 layer->SetDrawsContent(true); |
| 9162 host_impl_->pending_tree()->SetRootLayer(std::move(layer)); |
| 9163 |
| 9164 host_impl_->pending_tree()->BuildPropertyTreesForTesting(); |
| 9165 host_impl_->ActivateSyncTree(); |
| 9166 |
| 9167 const gfx::Transform draw_transform; |
| 9168 const gfx::Rect draw_viewport(viewport_size); |
| 9169 const gfx::Rect clip(viewport_size); |
| 9170 bool resourceless_software_draw = false; |
| 9171 |
| 9172 // Regular draw causes UpdateTiles. |
| 9173 did_request_prepare_tiles_ = false; |
| 9174 host_impl_->OnDraw(draw_transform, draw_viewport, clip, |
| 9175 resourceless_software_draw); |
| 9176 EXPECT_TRUE(did_request_prepare_tiles_); |
| 9177 host_impl_->PrepareTiles(); |
| 9178 |
| 9179 // Resourceless draw skips UpdateTiles. |
| 9180 const gfx::Rect new_draw_viewport(50, 50); |
| 9181 resourceless_software_draw = true; |
| 9182 did_request_prepare_tiles_ = false; |
| 9183 host_impl_->OnDraw(draw_transform, new_draw_viewport, clip, |
| 9184 resourceless_software_draw); |
| 9185 EXPECT_FALSE(did_request_prepare_tiles_); |
| 9186 } |
| 9187 |
9149 TEST_F(LayerTreeHostImplTest, ExternalViewportAffectsVisibleRects) { | 9188 TEST_F(LayerTreeHostImplTest, ExternalViewportAffectsVisibleRects) { |
9150 const gfx::Size layer_size(100, 100); | 9189 const gfx::Size layer_size(100, 100); |
9151 SetupScrollAndContentsLayers(layer_size); | 9190 SetupScrollAndContentsLayers(layer_size); |
9152 LayerImpl* content_layer = host_impl_->active_tree() | 9191 LayerImpl* content_layer = host_impl_->active_tree() |
9153 ->OuterViewportScrollLayer() | 9192 ->OuterViewportScrollLayer() |
9154 ->children()[0] | 9193 ->children()[0] |
9155 .get(); | 9194 .get(); |
9156 RebuildPropertyTrees(); | 9195 RebuildPropertyTrees(); |
9157 | 9196 |
9158 bool update_lcd_text = false; | 9197 bool update_lcd_text = false; |
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10100 // There should not be any jitter measured till we hit the fixed point hits | 10139 // There should not be any jitter measured till we hit the fixed point hits |
10101 // threshold. | 10140 // threshold. |
10102 float expected_jitter = | 10141 float expected_jitter = |
10103 (i == pending_tree->kFixedPointHitsThreshold) ? 500 : 0; | 10142 (i == pending_tree->kFixedPointHitsThreshold) ? 500 : 0; |
10104 EXPECT_EQ(jitter, expected_jitter); | 10143 EXPECT_EQ(jitter, expected_jitter); |
10105 } | 10144 } |
10106 } | 10145 } |
10107 | 10146 |
10108 } // namespace | 10147 } // namespace |
10109 } // namespace cc | 10148 } // namespace cc |
OLD | NEW |