Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: cc/layers/picture_layer_impl_unittest.cc

Issue 444053004: cc: Prevent unit tests from using Now() as the impl frame time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/layers/picture_layer_impl.h" 5 #include "cc/layers/picture_layer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 487
488 EXPECT_FALSE(visible_rect_for_tile_priority == 488 EXPECT_FALSE(visible_rect_for_tile_priority ==
489 active_layer_->visible_rect_for_tile_priority()); 489 active_layer_->visible_rect_for_tile_priority());
490 EXPECT_FALSE(viewport_rect_for_tile_priority == 490 EXPECT_FALSE(viewport_rect_for_tile_priority ==
491 active_layer_->viewport_rect_for_tile_priority()); 491 active_layer_->viewport_rect_for_tile_priority());
492 EXPECT_FALSE(screen_space_transform_for_tile_priority == 492 EXPECT_FALSE(screen_space_transform_for_tile_priority ==
493 active_layer_->screen_space_transform_for_tile_priority()); 493 active_layer_->screen_space_transform_for_tile_priority());
494 } 494 }
495 495
496 TEST_F(PictureLayerImplTest, InvalidViewportAfterReleaseResources) { 496 TEST_F(PictureLayerImplTest, InvalidViewportAfterReleaseResources) {
497 base::TimeTicks time_ticks;
498 time_ticks += base::TimeDelta::FromMilliseconds(1);
499 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
500
501 gfx::Size tile_size(100, 100); 497 gfx::Size tile_size(100, 100);
502 gfx::Size layer_bounds(400, 400); 498 gfx::Size layer_bounds(400, 400);
503 499
504 scoped_refptr<FakePicturePileImpl> pending_pile = 500 scoped_refptr<FakePicturePileImpl> pending_pile =
505 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 501 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
506 scoped_refptr<FakePicturePileImpl> active_pile = 502 scoped_refptr<FakePicturePileImpl> active_pile =
507 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 503 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
508 504
509 SetupTrees(pending_pile, active_pile); 505 SetupTrees(pending_pile, active_pile);
510 506
(...skipping 2246 matching lines...) Expand 10 before | Expand all | Expand 10 after
2757 2753
2758 EXPECT_FALSE(visible_rect_for_tile_priority == 2754 EXPECT_FALSE(visible_rect_for_tile_priority ==
2759 active_layer_->visible_rect_for_tile_priority()); 2755 active_layer_->visible_rect_for_tile_priority());
2760 EXPECT_FALSE(viewport_rect_for_tile_priority == 2756 EXPECT_FALSE(viewport_rect_for_tile_priority ==
2761 active_layer_->viewport_rect_for_tile_priority()); 2757 active_layer_->viewport_rect_for_tile_priority());
2762 EXPECT_FALSE(screen_space_transform_for_tile_priority == 2758 EXPECT_FALSE(screen_space_transform_for_tile_priority ==
2763 active_layer_->screen_space_transform_for_tile_priority()); 2759 active_layer_->screen_space_transform_for_tile_priority());
2764 } 2760 }
2765 2761
2766 TEST_F(NoLowResPictureLayerImplTest, InvalidViewportAfterReleaseResources) { 2762 TEST_F(NoLowResPictureLayerImplTest, InvalidViewportAfterReleaseResources) {
2767 base::TimeTicks time_ticks;
2768 time_ticks += base::TimeDelta::FromMilliseconds(1);
2769 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
2770
2771 gfx::Size tile_size(100, 100); 2763 gfx::Size tile_size(100, 100);
2772 gfx::Size layer_bounds(400, 400); 2764 gfx::Size layer_bounds(400, 400);
2773 2765
2774 scoped_refptr<FakePicturePileImpl> pending_pile = 2766 scoped_refptr<FakePicturePileImpl> pending_pile =
2775 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 2767 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
2776 scoped_refptr<FakePicturePileImpl> active_pile = 2768 scoped_refptr<FakePicturePileImpl> active_pile =
2777 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 2769 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
2778 2770
2779 SetupTrees(pending_pile, active_pile); 2771 SetupTrees(pending_pile, active_pile);
2780 2772
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
3161 } 3153 }
3162 } 3154 }
3163 last_tile = tile; 3155 last_tile = tile;
3164 } 3156 }
3165 EXPECT_EQ(expected_occluded_tile_count[priority_count], 3157 EXPECT_EQ(expected_occluded_tile_count[priority_count],
3166 occluded_tile_count); 3158 occluded_tile_count);
3167 } 3159 }
3168 } 3160 }
3169 }; 3161 };
3170 3162
3171 #if defined(OS_WIN)
3172 #define MAYBE_OccludedTilesSkippedDuringRasterization \
3173 DISABLED_OccludedTilesSkippedDuringRasterization
3174 #else
3175 #define MAYBE_OccludedTilesSkippedDuringRasterization \
3176 OccludedTilesSkippedDuringRasterization
3177 #endif
3178 TEST_F(OcclusionTrackingPictureLayerImplTest, 3163 TEST_F(OcclusionTrackingPictureLayerImplTest,
3179 MAYBE_OccludedTilesSkippedDuringRasterization) { 3164 OccludedTilesSkippedDuringRasterization) {
3165 base::TimeTicks time_ticks;
3166 time_ticks += base::TimeDelta::FromMilliseconds(1);
3167 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
3168
3180 gfx::Size tile_size(102, 102); 3169 gfx::Size tile_size(102, 102);
3181 gfx::Size layer_bounds(1000, 1000); 3170 gfx::Size layer_bounds(1000, 1000);
3182 gfx::Size viewport_size(500, 500); 3171 gfx::Size viewport_size(500, 500);
3183 gfx::Point occluding_layer_position(310, 0); 3172 gfx::Point occluding_layer_position(310, 0);
3184 3173
3185 scoped_refptr<FakePicturePileImpl> pending_pile = 3174 scoped_refptr<FakePicturePileImpl> pending_pile =
3186 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 3175 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
3187 SetupPendingTree(pending_pile); 3176 SetupPendingTree(pending_pile);
3188 pending_layer_->set_fixed_tile_size(tile_size); 3177 pending_layer_->set_fixed_tile_size(tile_size);
3189 3178
(...skipping 22 matching lines...) Expand all
3212 3201
3213 // Partial occlusion. 3202 // Partial occlusion.
3214 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1)); 3203 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1));
3215 LayerImpl* layer1 = pending_layer_->children()[0]; 3204 LayerImpl* layer1 = pending_layer_->children()[0];
3216 layer1->SetBounds(layer_bounds); 3205 layer1->SetBounds(layer_bounds);
3217 layer1->SetContentBounds(layer_bounds); 3206 layer1->SetContentBounds(layer_bounds);
3218 layer1->SetDrawsContent(true); 3207 layer1->SetDrawsContent(true);
3219 layer1->SetContentsOpaque(true); 3208 layer1->SetContentsOpaque(true);
3220 layer1->SetPosition(occluding_layer_position); 3209 layer1->SetPosition(occluding_layer_position);
3221 3210
3211 time_ticks += base::TimeDelta::FromMilliseconds(200);
3212 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
3222 host_impl_.pending_tree()->UpdateDrawProperties(); 3213 host_impl_.pending_tree()->UpdateDrawProperties();
3223 3214
3224 unoccluded_tile_count = 0; 3215 unoccluded_tile_count = 0;
3225 for (PictureLayerImpl::LayerRasterTileIterator it = 3216 for (PictureLayerImpl::LayerRasterTileIterator it =
3226 PictureLayerImpl::LayerRasterTileIterator(pending_layer_, false); 3217 PictureLayerImpl::LayerRasterTileIterator(pending_layer_, false);
3227 it; 3218 it;
3228 ++it) { 3219 ++it) {
3229 Tile* tile = *it; 3220 Tile* tile = *it;
3230 3221
3231 EXPECT_FALSE(tile->is_occluded(PENDING_TREE)); 3222 EXPECT_FALSE(tile->is_occluded(PENDING_TREE));
3232 3223
3233 bool tile_is_visible = 3224 bool tile_is_visible =
3234 tile->content_rect().Intersects(pending_layer_->visible_content_rect()); 3225 tile->content_rect().Intersects(pending_layer_->visible_content_rect());
3235 if (tile_is_visible) 3226 if (tile_is_visible)
3236 unoccluded_tile_count++; 3227 unoccluded_tile_count++;
3237 } 3228 }
3238 EXPECT_EQ(unoccluded_tile_count, 20 + 2); 3229 EXPECT_EQ(unoccluded_tile_count, 20 + 2);
3239 3230
3240 // Full occlusion. 3231 // Full occlusion.
3241 layer1->SetPosition(gfx::Point(0, 0)); 3232 layer1->SetPosition(gfx::Point(0, 0));
3242 3233
3234 time_ticks += base::TimeDelta::FromMilliseconds(200);
3235 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
3243 host_impl_.pending_tree()->UpdateDrawProperties(); 3236 host_impl_.pending_tree()->UpdateDrawProperties();
3244 3237
3245 unoccluded_tile_count = 0; 3238 unoccluded_tile_count = 0;
3246 for (PictureLayerImpl::LayerRasterTileIterator it = 3239 for (PictureLayerImpl::LayerRasterTileIterator it =
3247 PictureLayerImpl::LayerRasterTileIterator(pending_layer_, false); 3240 PictureLayerImpl::LayerRasterTileIterator(pending_layer_, false);
3248 it; 3241 it;
3249 ++it) { 3242 ++it) {
3250 Tile* tile = *it; 3243 Tile* tile = *it;
3251 3244
3252 EXPECT_FALSE(tile->is_occluded(PENDING_TREE)); 3245 EXPECT_FALSE(tile->is_occluded(PENDING_TREE));
3253 3246
3254 bool tile_is_visible = 3247 bool tile_is_visible =
3255 tile->content_rect().Intersects(pending_layer_->visible_content_rect()); 3248 tile->content_rect().Intersects(pending_layer_->visible_content_rect());
3256 if (tile_is_visible) 3249 if (tile_is_visible)
3257 unoccluded_tile_count++; 3250 unoccluded_tile_count++;
3258 } 3251 }
3259 EXPECT_EQ(unoccluded_tile_count, 0); 3252 EXPECT_EQ(unoccluded_tile_count, 0);
3260 } 3253 }
3261 3254
3262 #if defined(OS_WIN)
3263 #define MAYBE_OccludedTilesNotMarkedAsRequired \
3264 DISABLED_OccludedTilesNotMarkedAsRequired
3265 #else
3266 #define MAYBE_OccludedTilesNotMarkedAsRequired OccludedTilesNotMarkedAsRequired
3267 #endif
3268 TEST_F(OcclusionTrackingPictureLayerImplTest, 3255 TEST_F(OcclusionTrackingPictureLayerImplTest,
3269 MAYBE_OccludedTilesNotMarkedAsRequired) { 3256 OccludedTilesNotMarkedAsRequired) {
3257 base::TimeTicks time_ticks;
3258 time_ticks += base::TimeDelta::FromMilliseconds(1);
3259 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
3260
3270 gfx::Size tile_size(102, 102); 3261 gfx::Size tile_size(102, 102);
3271 gfx::Size layer_bounds(1000, 1000); 3262 gfx::Size layer_bounds(1000, 1000);
3272 gfx::Size viewport_size(500, 500); 3263 gfx::Size viewport_size(500, 500);
3273 gfx::Point occluding_layer_position(310, 0); 3264 gfx::Point occluding_layer_position(310, 0);
3274 3265
3275 scoped_refptr<FakePicturePileImpl> pending_pile = 3266 scoped_refptr<FakePicturePileImpl> pending_pile =
3276 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); 3267 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
3277 SetupPendingTree(pending_pile); 3268 SetupPendingTree(pending_pile);
3278 pending_layer_->set_fixed_tile_size(tile_size); 3269 pending_layer_->set_fixed_tile_size(tile_size);
3279 3270
(...skipping 27 matching lines...) Expand all
3307 3298
3308 // Partial occlusion. 3299 // Partial occlusion.
3309 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1)); 3300 pending_layer_->AddChild(LayerImpl::Create(host_impl_.pending_tree(), 1));
3310 LayerImpl* layer1 = pending_layer_->children()[0]; 3301 LayerImpl* layer1 = pending_layer_->children()[0];
3311 layer1->SetBounds(layer_bounds); 3302 layer1->SetBounds(layer_bounds);
3312 layer1->SetContentBounds(layer_bounds); 3303 layer1->SetContentBounds(layer_bounds);
3313 layer1->SetDrawsContent(true); 3304 layer1->SetDrawsContent(true);
3314 layer1->SetContentsOpaque(true); 3305 layer1->SetContentsOpaque(true);
3315 layer1->SetPosition(occluding_layer_position); 3306 layer1->SetPosition(occluding_layer_position);
3316 3307
3308 time_ticks += base::TimeDelta::FromMilliseconds(200);
3309 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
3317 host_impl_.pending_tree()->UpdateDrawProperties(); 3310 host_impl_.pending_tree()->UpdateDrawProperties();
3318 3311
3319 for (size_t i = 0; i < pending_layer_->num_tilings(); ++i) { 3312 for (size_t i = 0; i < pending_layer_->num_tilings(); ++i) {
3320 PictureLayerTiling* tiling = pending_layer_->tilings()->tiling_at(i); 3313 PictureLayerTiling* tiling = pending_layer_->tilings()->tiling_at(i);
3321 3314
3322 occluded_tile_count = 0; 3315 occluded_tile_count = 0;
3323 for (PictureLayerTiling::CoverageIterator iter( 3316 for (PictureLayerTiling::CoverageIterator iter(
3324 tiling, 3317 tiling,
3325 pending_layer_->contents_scale_x(), 3318 pending_layer_->contents_scale_x(),
3326 gfx::Rect(layer_bounds)); 3319 gfx::Rect(layer_bounds));
(...skipping 16 matching lines...) Expand all
3343 EXPECT_EQ(occluded_tile_count, 2); 3336 EXPECT_EQ(occluded_tile_count, 2);
3344 break; 3337 break;
3345 default: 3338 default:
3346 NOTREACHED(); 3339 NOTREACHED();
3347 } 3340 }
3348 } 3341 }
3349 3342
3350 // Full occlusion. 3343 // Full occlusion.
3351 layer1->SetPosition(gfx::PointF(0, 0)); 3344 layer1->SetPosition(gfx::PointF(0, 0));
3352 3345
3346 time_ticks += base::TimeDelta::FromMilliseconds(200);
3347 host_impl_.SetCurrentFrameTimeTicks(time_ticks);
3353 host_impl_.pending_tree()->UpdateDrawProperties(); 3348 host_impl_.pending_tree()->UpdateDrawProperties();
3354 3349
3355 for (size_t i = 0; i < pending_layer_->num_tilings(); ++i) { 3350 for (size_t i = 0; i < pending_layer_->num_tilings(); ++i) {
3356 PictureLayerTiling* tiling = pending_layer_->tilings()->tiling_at(i); 3351 PictureLayerTiling* tiling = pending_layer_->tilings()->tiling_at(i);
3357 3352
3358 occluded_tile_count = 0; 3353 occluded_tile_count = 0;
3359 for (PictureLayerTiling::CoverageIterator iter( 3354 for (PictureLayerTiling::CoverageIterator iter(
3360 tiling, 3355 tiling,
3361 pending_layer_->contents_scale_x(), 3356 pending_layer_->contents_scale_x(),
3362 gfx::Rect(layer_bounds)); 3357 gfx::Rect(layer_bounds));
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
3709 3704
3710 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); 3705 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles);
3711 3706
3712 VerifyEvictionConsidersOcclusion(pending_layer_, 3707 VerifyEvictionConsidersOcclusion(pending_layer_,
3713 total_expected_occluded_tile_count); 3708 total_expected_occluded_tile_count);
3714 VerifyEvictionConsidersOcclusion(active_layer_, 3709 VerifyEvictionConsidersOcclusion(active_layer_,
3715 total_expected_occluded_tile_count); 3710 total_expected_occluded_tile_count);
3716 } 3711 }
3717 } // namespace 3712 } // namespace
3718 } // namespace cc 3713 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/test/fake_layer_tree_host_impl.cc » ('j') | cc/test/fake_layer_tree_host_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698