OLD | NEW |
---|---|
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 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
408 tilings = active_layer_->tilings(); | 408 tilings = active_layer_->tilings(); |
409 for (size_t i = 0; i < tilings->num_tilings(); i++) { | 409 for (size_t i = 0; i < tilings->num_tilings(); i++) { |
410 PictureLayerTiling* tiling = tilings->tiling_at(i); | 410 PictureLayerTiling* tiling = tilings->tiling_at(i); |
411 EXPECT_EQ( | 411 EXPECT_EQ( |
412 tiling->GetCurrentVisibleRectForTesting(), | 412 tiling->GetCurrentVisibleRectForTesting(), |
413 gfx::ScaleToEnclosingRect(viewport_rect_for_tile_priority_in_view_space, | 413 gfx::ScaleToEnclosingRect(viewport_rect_for_tile_priority_in_view_space, |
414 tiling->contents_scale())); | 414 tiling->contents_scale())); |
415 } | 415 } |
416 } | 416 } |
417 | 417 |
418 TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) { | 418 TEST_F(PictureLayerImplTest, |
419 ResourcelessSoftwareDrawHasValidViewportForTilePriority) { | |
419 base::TimeTicks time_ticks; | 420 base::TimeTicks time_ticks; |
420 time_ticks += base::TimeDelta::FromMilliseconds(1); | 421 time_ticks += base::TimeDelta::FromMilliseconds(1); |
421 host_impl_.SetCurrentBeginFrameArgs( | 422 host_impl_.SetCurrentBeginFrameArgs( |
422 CreateBeginFrameArgsForTesting(time_ticks)); | 423 CreateBeginFrameArgsForTesting(time_ticks)); |
423 | 424 |
424 gfx::Size tile_size(100, 100); | 425 gfx::Size tile_size(100, 100); |
425 gfx::Size layer_bounds(400, 400); | 426 gfx::Size layer_bounds(400, 400); |
426 | 427 |
427 scoped_refptr<FakePicturePileImpl> pending_pile = | 428 scoped_refptr<FakePicturePileImpl> pending_pile = |
428 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 429 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
429 scoped_refptr<FakePicturePileImpl> active_pile = | 430 scoped_refptr<FakePicturePileImpl> active_pile = |
430 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 431 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
431 | 432 |
432 SetupTrees(pending_pile, active_pile); | 433 SetupTrees(pending_pile, active_pile); |
433 | 434 |
434 Region invalidation; | 435 Region invalidation; |
435 AddDefaultTilingsWithInvalidation(invalidation); | 436 AddDefaultTilingsWithInvalidation(invalidation); |
436 SetupDrawPropertiesAndUpdateTiles(active_layer_, 1.f, 1.f, 1.f, 1.f, false); | 437 SetupDrawPropertiesAndUpdateTiles(active_layer_, 1.f, 1.f, 1.f, 1.f, false); |
437 | 438 |
438 // UpdateTiles with valid viewport. Should update tile viewport. | 439 // UpdateTiles with valid viewport. Should update tile viewport. |
439 // Note viewport is considered invalid if and only if in resourceless | |
440 // software draw. | |
441 bool resourceless_software_draw = false; | 440 bool resourceless_software_draw = false; |
442 gfx::Rect viewport = gfx::Rect(layer_bounds); | 441 gfx::Rect viewport = gfx::Rect(layer_bounds); |
443 gfx::Transform transform; | 442 gfx::Transform transform; |
444 host_impl_.SetExternalDrawConstraints(transform, | 443 host_impl_.SetExternalDrawConstraints(transform, |
445 viewport, | 444 viewport, |
446 viewport, | 445 viewport, |
447 viewport, | 446 viewport, |
448 transform, | 447 transform, |
449 resourceless_software_draw); | 448 resourceless_software_draw); |
450 active_layer_->draw_properties().visible_content_rect = viewport; | 449 active_layer_->draw_properties().visible_content_rect = viewport; |
451 active_layer_->draw_properties().screen_space_transform = transform; | 450 active_layer_->draw_properties().screen_space_transform = transform; |
452 active_layer_->UpdateTiles(NULL); | 451 active_layer_->UpdateTiles(NULL); |
453 | 452 |
454 gfx::Rect visible_rect_for_tile_priority = | 453 gfx::Rect visible_rect_for_tile_priority = |
455 active_layer_->visible_rect_for_tile_priority(); | 454 active_layer_->visible_rect_for_tile_priority(); |
456 EXPECT_FALSE(visible_rect_for_tile_priority.IsEmpty()); | 455 EXPECT_FALSE(visible_rect_for_tile_priority.IsEmpty()); |
457 gfx::Rect viewport_rect_for_tile_priority = | 456 gfx::Rect viewport_rect_for_tile_priority = |
458 active_layer_->viewport_rect_for_tile_priority(); | 457 active_layer_->viewport_rect_for_tile_priority(); |
459 EXPECT_FALSE(viewport_rect_for_tile_priority.IsEmpty()); | 458 EXPECT_FALSE(viewport_rect_for_tile_priority.IsEmpty()); |
460 gfx::Transform screen_space_transform_for_tile_priority = | 459 gfx::Transform screen_space_transform_for_tile_priority = |
461 active_layer_->screen_space_transform_for_tile_priority(); | 460 active_layer_->screen_space_transform_for_tile_priority(); |
462 | 461 |
463 // Expand viewport and set it as invalid for prioritizing tiles. | 462 // PictureLayerImpl does not make a special case for |
464 // Should not update tile viewport. | 463 // resource_less_software_draw, so the tile viewport and matrix should be |
464 // respeced. | |
boliu
2014/08/29 02:31:10
"respeced" spelling
| |
465 time_ticks += base::TimeDelta::FromMilliseconds(200); | 465 time_ticks += base::TimeDelta::FromMilliseconds(200); |
466 host_impl_.SetCurrentBeginFrameArgs( | 466 host_impl_.SetCurrentBeginFrameArgs( |
467 CreateBeginFrameArgsForTesting(time_ticks)); | 467 CreateBeginFrameArgsForTesting(time_ticks)); |
468 resourceless_software_draw = true; | 468 resourceless_software_draw = true; |
469 viewport = gfx::ScaleToEnclosingRect(viewport, 2); | 469 viewport = gfx::ScaleToEnclosingRect(viewport, 2); |
470 transform.Translate(1.f, 1.f); | 470 transform.Translate(1.f, 1.f); |
471 active_layer_->draw_properties().visible_content_rect = viewport; | 471 active_layer_->draw_properties().visible_content_rect = viewport; |
472 active_layer_->draw_properties().screen_space_transform = transform; | 472 active_layer_->draw_properties().screen_space_transform = transform; |
473 host_impl_.SetExternalDrawConstraints(transform, | 473 host_impl_.SetExternalDrawConstraints(transform, |
474 viewport, | 474 viewport, |
475 viewport, | 475 viewport, |
476 viewport, | 476 viewport, |
477 transform, | 477 transform, |
478 resourceless_software_draw); | 478 resourceless_software_draw); |
479 active_layer_->UpdateTiles(NULL); | 479 active_layer_->UpdateTiles(NULL); |
480 | 480 |
481 visible_rect_for_tile_priority = | |
482 gfx::ScaleToEnclosingRect(visible_rect_for_tile_priority, 2); | |
483 viewport_rect_for_tile_priority = | |
484 gfx::ScaleToEnclosingRect(viewport_rect_for_tile_priority, 2); | |
485 screen_space_transform_for_tile_priority = transform; | |
481 EXPECT_RECT_EQ(visible_rect_for_tile_priority, | 486 EXPECT_RECT_EQ(visible_rect_for_tile_priority, |
482 active_layer_->visible_rect_for_tile_priority()); | 487 active_layer_->visible_rect_for_tile_priority()); |
483 EXPECT_RECT_EQ(viewport_rect_for_tile_priority, | 488 EXPECT_RECT_EQ(viewport_rect_for_tile_priority, |
484 active_layer_->viewport_rect_for_tile_priority()); | 489 active_layer_->viewport_rect_for_tile_priority()); |
485 EXPECT_TRANSFORMATION_MATRIX_EQ( | 490 EXPECT_TRANSFORMATION_MATRIX_EQ( |
486 screen_space_transform_for_tile_priority, | 491 screen_space_transform_for_tile_priority, |
487 active_layer_->screen_space_transform_for_tile_priority()); | 492 active_layer_->screen_space_transform_for_tile_priority()); |
488 | |
489 // Keep expanded viewport but mark it valid. Should update tile viewport. | |
490 time_ticks += base::TimeDelta::FromMilliseconds(200); | |
491 host_impl_.SetCurrentBeginFrameArgs( | |
492 CreateBeginFrameArgsForTesting(time_ticks)); | |
493 resourceless_software_draw = false; | |
494 host_impl_.SetExternalDrawConstraints(transform, | |
495 viewport, | |
496 viewport, | |
497 viewport, | |
498 transform, | |
499 resourceless_software_draw); | |
500 active_layer_->UpdateTiles(NULL); | |
501 | |
502 EXPECT_FALSE(visible_rect_for_tile_priority == | |
503 active_layer_->visible_rect_for_tile_priority()); | |
504 EXPECT_FALSE(viewport_rect_for_tile_priority == | |
505 active_layer_->viewport_rect_for_tile_priority()); | |
506 EXPECT_FALSE(screen_space_transform_for_tile_priority == | |
507 active_layer_->screen_space_transform_for_tile_priority()); | |
508 } | |
509 | |
510 TEST_F(PictureLayerImplTest, InvalidViewportAfterReleaseResources) { | |
511 gfx::Size tile_size(100, 100); | |
512 gfx::Size layer_bounds(400, 400); | |
513 | |
514 scoped_refptr<FakePicturePileImpl> pending_pile = | |
515 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | |
516 scoped_refptr<FakePicturePileImpl> active_pile = | |
517 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | |
518 | |
519 SetupTrees(pending_pile, active_pile); | |
520 | |
521 Region invalidation; | |
522 AddDefaultTilingsWithInvalidation(invalidation); | |
523 | |
524 bool resourceless_software_draw = true; | |
525 gfx::Rect viewport = gfx::Rect(layer_bounds); | |
526 gfx::Transform identity = gfx::Transform(); | |
527 host_impl_.SetExternalDrawConstraints(identity, | |
528 viewport, | |
529 viewport, | |
530 viewport, | |
531 identity, | |
532 resourceless_software_draw); | |
533 ResetTilingsAndRasterScales(); | |
534 host_impl_.pending_tree()->UpdateDrawProperties(); | |
535 host_impl_.active_tree()->UpdateDrawProperties(); | |
536 EXPECT_TRUE(active_layer_->HighResTiling()); | |
537 | |
538 size_t num_tilings = active_layer_->num_tilings(); | |
539 active_layer_->UpdateTiles(NULL); | |
540 pending_layer_->AddTiling(0.5f); | |
541 EXPECT_EQ(num_tilings + 1, active_layer_->num_tilings()); | |
542 } | 493 } |
543 | 494 |
544 TEST_F(PictureLayerImplTest, ClonePartialInvalidation) { | 495 TEST_F(PictureLayerImplTest, ClonePartialInvalidation) { |
545 gfx::Size tile_size(100, 100); | 496 gfx::Size tile_size(100, 100); |
546 gfx::Size layer_bounds(400, 400); | 497 gfx::Size layer_bounds(400, 400); |
547 gfx::Rect layer_invalidation(150, 200, 30, 180); | 498 gfx::Rect layer_invalidation(150, 200, 30, 180); |
548 | 499 |
549 scoped_refptr<FakePicturePileImpl> pending_pile = | 500 scoped_refptr<FakePicturePileImpl> pending_pile = |
550 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 501 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
551 scoped_refptr<FakePicturePileImpl> active_pile = | 502 scoped_refptr<FakePicturePileImpl> active_pile = |
(...skipping 2484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3036 EXPECT_EQ(active_layer_->HighResTiling()->AllTilesForTesting().size(), 0u); | 2987 EXPECT_EQ(active_layer_->HighResTiling()->AllTilesForTesting().size(), 0u); |
3037 | 2988 |
3038 // Since the active layer has no tiles at all, the pending layer doesn't | 2989 // Since the active layer has no tiles at all, the pending layer doesn't |
3039 // need content in order to activate. | 2990 // need content in order to activate. |
3040 pending_layer_->MarkVisibleResourcesAsRequired(); | 2991 pending_layer_->MarkVisibleResourcesAsRequired(); |
3041 AssertNoTilesRequired(pending_layer_->HighResTiling()); | 2992 AssertNoTilesRequired(pending_layer_->HighResTiling()); |
3042 if (host_impl_.settings().create_low_res_tiling) | 2993 if (host_impl_.settings().create_low_res_tiling) |
3043 AssertNoTilesRequired(pending_layer_->LowResTiling()); | 2994 AssertNoTilesRequired(pending_layer_->LowResTiling()); |
3044 } | 2995 } |
3045 | 2996 |
3046 TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) { | 2997 TEST_F(NoLowResPictureLayerImplTest, |
2998 ResourcelessSoftwareDrawHasValidViewportForTilePriority) { | |
3047 base::TimeTicks time_ticks; | 2999 base::TimeTicks time_ticks; |
3048 time_ticks += base::TimeDelta::FromMilliseconds(1); | 3000 time_ticks += base::TimeDelta::FromMilliseconds(1); |
3049 host_impl_.SetCurrentBeginFrameArgs( | 3001 host_impl_.SetCurrentBeginFrameArgs( |
3050 CreateBeginFrameArgsForTesting(time_ticks)); | 3002 CreateBeginFrameArgsForTesting(time_ticks)); |
3051 | 3003 |
3052 gfx::Size tile_size(100, 100); | 3004 gfx::Size tile_size(100, 100); |
3053 gfx::Size layer_bounds(400, 400); | 3005 gfx::Size layer_bounds(400, 400); |
3054 | 3006 |
3055 scoped_refptr<FakePicturePileImpl> pending_pile = | 3007 scoped_refptr<FakePicturePileImpl> pending_pile = |
3056 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 3008 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
3057 scoped_refptr<FakePicturePileImpl> active_pile = | 3009 scoped_refptr<FakePicturePileImpl> active_pile = |
3058 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 3010 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
3059 | 3011 |
3060 SetupTrees(pending_pile, active_pile); | 3012 SetupTrees(pending_pile, active_pile); |
3061 | 3013 |
3062 Region invalidation; | 3014 Region invalidation; |
3063 AddDefaultTilingsWithInvalidation(invalidation); | 3015 AddDefaultTilingsWithInvalidation(invalidation); |
3064 SetupDrawPropertiesAndUpdateTiles(active_layer_, 1.f, 1.f, 1.f, 1.f, false); | 3016 SetupDrawPropertiesAndUpdateTiles(active_layer_, 1.f, 1.f, 1.f, 1.f, false); |
3065 | 3017 |
3066 // UpdateTiles with valid viewport. Should update tile viewport. | 3018 // UpdateTiles with valid viewport. Should update tile viewport. |
3067 // Note viewport is considered invalid if and only if in resourceless | |
3068 // software draw. | |
3069 bool resourceless_software_draw = false; | 3019 bool resourceless_software_draw = false; |
3070 gfx::Rect viewport = gfx::Rect(layer_bounds); | 3020 gfx::Rect viewport = gfx::Rect(layer_bounds); |
3071 gfx::Transform transform; | 3021 gfx::Transform transform; |
3072 host_impl_.SetExternalDrawConstraints(transform, | 3022 host_impl_.SetExternalDrawConstraints(transform, |
3073 viewport, | 3023 viewport, |
3074 viewport, | 3024 viewport, |
3075 viewport, | 3025 viewport, |
3076 transform, | 3026 transform, |
3077 resourceless_software_draw); | 3027 resourceless_software_draw); |
3078 active_layer_->draw_properties().visible_content_rect = viewport; | 3028 active_layer_->draw_properties().visible_content_rect = viewport; |
3079 active_layer_->draw_properties().screen_space_transform = transform; | 3029 active_layer_->draw_properties().screen_space_transform = transform; |
3080 active_layer_->UpdateTiles(NULL); | 3030 active_layer_->UpdateTiles(NULL); |
3081 | 3031 |
3082 gfx::Rect visible_rect_for_tile_priority = | 3032 gfx::Rect visible_rect_for_tile_priority = |
3083 active_layer_->visible_rect_for_tile_priority(); | 3033 active_layer_->visible_rect_for_tile_priority(); |
3084 EXPECT_FALSE(visible_rect_for_tile_priority.IsEmpty()); | 3034 EXPECT_FALSE(visible_rect_for_tile_priority.IsEmpty()); |
3085 gfx::Rect viewport_rect_for_tile_priority = | 3035 gfx::Rect viewport_rect_for_tile_priority = |
3086 active_layer_->viewport_rect_for_tile_priority(); | 3036 active_layer_->viewport_rect_for_tile_priority(); |
3087 EXPECT_FALSE(viewport_rect_for_tile_priority.IsEmpty()); | 3037 EXPECT_FALSE(viewport_rect_for_tile_priority.IsEmpty()); |
3088 gfx::Transform screen_space_transform_for_tile_priority = | 3038 gfx::Transform screen_space_transform_for_tile_priority = |
3089 active_layer_->screen_space_transform_for_tile_priority(); | 3039 active_layer_->screen_space_transform_for_tile_priority(); |
3090 | 3040 |
3091 // Expand viewport and set it as invalid for prioritizing tiles. | 3041 // PictureLayerImpl does not make a special case for |
3092 // Should not update tile viewport. | 3042 // resource_less_software_draw, so the tile viewport and matrix should be |
3043 // respeced. | |
3093 time_ticks += base::TimeDelta::FromMilliseconds(200); | 3044 time_ticks += base::TimeDelta::FromMilliseconds(200); |
3094 host_impl_.SetCurrentBeginFrameArgs( | 3045 host_impl_.SetCurrentBeginFrameArgs( |
3095 CreateBeginFrameArgsForTesting(time_ticks)); | 3046 CreateBeginFrameArgsForTesting(time_ticks)); |
3096 resourceless_software_draw = true; | 3047 resourceless_software_draw = true; |
3097 viewport = gfx::ScaleToEnclosingRect(viewport, 2); | 3048 viewport = gfx::ScaleToEnclosingRect(viewport, 2); |
3098 transform.Translate(1.f, 1.f); | 3049 transform.Translate(1.f, 1.f); |
3099 active_layer_->draw_properties().visible_content_rect = viewport; | 3050 active_layer_->draw_properties().visible_content_rect = viewport; |
3100 active_layer_->draw_properties().screen_space_transform = transform; | 3051 active_layer_->draw_properties().screen_space_transform = transform; |
3101 host_impl_.SetExternalDrawConstraints(transform, | 3052 host_impl_.SetExternalDrawConstraints(transform, |
3102 viewport, | 3053 viewport, |
3103 viewport, | 3054 viewport, |
3104 viewport, | 3055 viewport, |
3105 transform, | 3056 transform, |
3106 resourceless_software_draw); | 3057 resourceless_software_draw); |
3107 active_layer_->UpdateTiles(NULL); | 3058 active_layer_->UpdateTiles(NULL); |
3108 | 3059 |
3060 visible_rect_for_tile_priority = | |
3061 gfx::ScaleToEnclosingRect(visible_rect_for_tile_priority, 2); | |
3062 viewport_rect_for_tile_priority = | |
3063 gfx::ScaleToEnclosingRect(viewport_rect_for_tile_priority, 2); | |
3064 screen_space_transform_for_tile_priority = transform; | |
3065 | |
3109 EXPECT_RECT_EQ(visible_rect_for_tile_priority, | 3066 EXPECT_RECT_EQ(visible_rect_for_tile_priority, |
3110 active_layer_->visible_rect_for_tile_priority()); | 3067 active_layer_->visible_rect_for_tile_priority()); |
3111 EXPECT_RECT_EQ(viewport_rect_for_tile_priority, | 3068 EXPECT_RECT_EQ(viewport_rect_for_tile_priority, |
3112 active_layer_->viewport_rect_for_tile_priority()); | 3069 active_layer_->viewport_rect_for_tile_priority()); |
3113 EXPECT_TRANSFORMATION_MATRIX_EQ( | 3070 EXPECT_TRANSFORMATION_MATRIX_EQ( |
3114 screen_space_transform_for_tile_priority, | 3071 screen_space_transform_for_tile_priority, |
3115 active_layer_->screen_space_transform_for_tile_priority()); | 3072 active_layer_->screen_space_transform_for_tile_priority()); |
3116 | |
3117 // Keep expanded viewport but mark it valid. Should update tile viewport. | |
3118 time_ticks += base::TimeDelta::FromMilliseconds(200); | |
3119 host_impl_.SetCurrentBeginFrameArgs( | |
3120 CreateBeginFrameArgsForTesting(time_ticks)); | |
3121 resourceless_software_draw = false; | |
3122 host_impl_.SetExternalDrawConstraints(transform, | |
3123 viewport, | |
3124 viewport, | |
3125 viewport, | |
3126 transform, | |
3127 resourceless_software_draw); | |
3128 active_layer_->UpdateTiles(NULL); | |
3129 | |
3130 EXPECT_FALSE(visible_rect_for_tile_priority == | |
3131 active_layer_->visible_rect_for_tile_priority()); | |
3132 EXPECT_FALSE(viewport_rect_for_tile_priority == | |
3133 active_layer_->viewport_rect_for_tile_priority()); | |
3134 EXPECT_FALSE(screen_space_transform_for_tile_priority == | |
3135 active_layer_->screen_space_transform_for_tile_priority()); | |
3136 } | |
3137 | |
3138 TEST_F(NoLowResPictureLayerImplTest, InvalidViewportAfterReleaseResources) { | |
3139 gfx::Size tile_size(100, 100); | |
3140 gfx::Size layer_bounds(400, 400); | |
3141 | |
3142 scoped_refptr<FakePicturePileImpl> pending_pile = | |
3143 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | |
3144 scoped_refptr<FakePicturePileImpl> active_pile = | |
3145 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | |
3146 | |
3147 SetupTrees(pending_pile, active_pile); | |
3148 | |
3149 Region invalidation; | |
3150 AddDefaultTilingsWithInvalidation(invalidation); | |
3151 | |
3152 bool resourceless_software_draw = true; | |
3153 gfx::Rect viewport = gfx::Rect(layer_bounds); | |
3154 gfx::Transform identity = gfx::Transform(); | |
3155 host_impl_.SetExternalDrawConstraints(identity, | |
3156 viewport, | |
3157 viewport, | |
3158 viewport, | |
3159 identity, | |
3160 resourceless_software_draw); | |
3161 ResetTilingsAndRasterScales(); | |
3162 host_impl_.pending_tree()->UpdateDrawProperties(); | |
3163 host_impl_.active_tree()->UpdateDrawProperties(); | |
3164 EXPECT_TRUE(active_layer_->HighResTiling()); | |
3165 | |
3166 size_t num_tilings = active_layer_->num_tilings(); | |
3167 active_layer_->UpdateTiles(NULL); | |
3168 pending_layer_->AddTiling(0.5f); | |
3169 EXPECT_EQ(num_tilings + 1, active_layer_->num_tilings()); | |
3170 } | 3073 } |
3171 | 3074 |
3172 TEST_F(NoLowResPictureLayerImplTest, CleanUpTilings) { | 3075 TEST_F(NoLowResPictureLayerImplTest, CleanUpTilings) { |
3173 gfx::Size tile_size(400, 400); | 3076 gfx::Size tile_size(400, 400); |
3174 gfx::Size layer_bounds(1300, 1900); | 3077 gfx::Size layer_bounds(1300, 1900); |
3175 | 3078 |
3176 scoped_refptr<FakePicturePileImpl> pending_pile = | 3079 scoped_refptr<FakePicturePileImpl> pending_pile = |
3177 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 3080 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
3178 scoped_refptr<FakePicturePileImpl> active_pile = | 3081 scoped_refptr<FakePicturePileImpl> active_pile = |
3179 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 3082 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
(...skipping 992 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4172 ActivateTree(); | 4075 ActivateTree(); |
4173 EXPECT_TRUE(active_layer_->GetRecycledTwinLayer()); | 4076 EXPECT_TRUE(active_layer_->GetRecycledTwinLayer()); |
4174 EXPECT_EQ(old_pending_layer_, active_layer_->GetRecycledTwinLayer()); | 4077 EXPECT_EQ(old_pending_layer_, active_layer_->GetRecycledTwinLayer()); |
4175 | 4078 |
4176 host_impl_.ResetRecycleTreeForTesting(); | 4079 host_impl_.ResetRecycleTreeForTesting(); |
4177 EXPECT_FALSE(active_layer_->GetRecycledTwinLayer()); | 4080 EXPECT_FALSE(active_layer_->GetRecycledTwinLayer()); |
4178 } | 4081 } |
4179 | 4082 |
4180 } // namespace | 4083 } // namespace |
4181 } // namespace cc | 4084 } // namespace cc |
OLD | NEW |