| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 active_layer()->tilings()->AddTiling(1.7f, active_layer()->raster_source()); | 323 active_layer()->tilings()->AddTiling(1.7f, active_layer()->raster_source()); |
| 324 | 324 |
| 325 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, | 325 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, |
| 326 5.0, Occlusion(), true); | 326 5.0, Occlusion(), true); |
| 327 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, | 327 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, |
| 328 Occlusion(), true); | 328 Occlusion(), true); |
| 329 | 329 |
| 330 std::set<Tile*> all_expected_tiles; | 330 std::set<Tile*> all_expected_tiles; |
| 331 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { | 331 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { |
| 332 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); | 332 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); |
| 333 if (tiling->contents_scale_key() == 1.f) { | 333 if (tiling->contents_scale() == 1.f) { |
| 334 tiling->set_resolution(HIGH_RESOLUTION); | 334 tiling->set_resolution(HIGH_RESOLUTION); |
| 335 const auto& all_tiles = tiling->AllTilesForTesting(); | 335 const auto& all_tiles = tiling->AllTilesForTesting(); |
| 336 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 336 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
| 337 } else { | 337 } else { |
| 338 tiling->set_resolution(NON_IDEAL_RESOLUTION); | 338 tiling->set_resolution(NON_IDEAL_RESOLUTION); |
| 339 } | 339 } |
| 340 } | 340 } |
| 341 | 341 |
| 342 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { | 342 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { |
| 343 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); | 343 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); |
| 344 if (tiling->contents_scale_key() == 1.5f) { | 344 if (tiling->contents_scale() == 1.5f) { |
| 345 tiling->set_resolution(HIGH_RESOLUTION); | 345 tiling->set_resolution(HIGH_RESOLUTION); |
| 346 const auto& all_tiles = tiling->AllTilesForTesting(); | 346 const auto& all_tiles = tiling->AllTilesForTesting(); |
| 347 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 347 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
| 348 } else { | 348 } else { |
| 349 tiling->set_resolution(NON_IDEAL_RESOLUTION); | 349 tiling->set_resolution(NON_IDEAL_RESOLUTION); |
| 350 // Non ideal tilings with a high res pending twin have to be processed | 350 // Non ideal tilings with a high res pending twin have to be processed |
| 351 // because of possible activation tiles. | 351 // because of possible activation tiles. |
| 352 if (tiling->contents_scale_key() == 1.f) { | 352 if (tiling->contents_scale() == 1.f) { |
| 353 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); | 353 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); |
| 354 const auto& all_tiles = tiling->AllTilesForTesting(); | 354 const auto& all_tiles = tiling->AllTilesForTesting(); |
| 355 for (auto* tile : all_tiles) | 355 for (auto* tile : all_tiles) |
| 356 EXPECT_TRUE(tile->required_for_activation()); | 356 EXPECT_TRUE(tile->required_for_activation()); |
| 357 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 357 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
| 358 } | 358 } |
| 359 } | 359 } |
| 360 } | 360 } |
| 361 | 361 |
| 362 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( | 362 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( |
| (...skipping 27 matching lines...) Expand all Loading... |
| 390 active_layer()->tilings()->AddTiling(1.7f, active_layer()->raster_source()); | 390 active_layer()->tilings()->AddTiling(1.7f, active_layer()->raster_source()); |
| 391 | 391 |
| 392 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, | 392 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, |
| 393 5.0, Occlusion(), true); | 393 5.0, Occlusion(), true); |
| 394 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, | 394 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, |
| 395 Occlusion(), true); | 395 Occlusion(), true); |
| 396 | 396 |
| 397 std::set<Tile*> all_expected_tiles; | 397 std::set<Tile*> all_expected_tiles; |
| 398 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { | 398 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { |
| 399 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); | 399 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); |
| 400 if (tiling->contents_scale_key() == 1.f) { | 400 if (tiling->contents_scale() == 1.f) { |
| 401 tiling->set_resolution(HIGH_RESOLUTION); | 401 tiling->set_resolution(HIGH_RESOLUTION); |
| 402 const auto& all_tiles = tiling->AllTilesForTesting(); | 402 const auto& all_tiles = tiling->AllTilesForTesting(); |
| 403 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 403 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
| 404 } else { | 404 } else { |
| 405 tiling->set_resolution(NON_IDEAL_RESOLUTION); | 405 tiling->set_resolution(NON_IDEAL_RESOLUTION); |
| 406 } | 406 } |
| 407 } | 407 } |
| 408 | 408 |
| 409 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { | 409 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { |
| 410 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); | 410 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); |
| 411 if (tiling->contents_scale_key() == 1.5f) { | 411 if (tiling->contents_scale() == 1.5f) { |
| 412 tiling->set_resolution(HIGH_RESOLUTION); | 412 tiling->set_resolution(HIGH_RESOLUTION); |
| 413 const auto& all_tiles = tiling->AllTilesForTesting(); | 413 const auto& all_tiles = tiling->AllTilesForTesting(); |
| 414 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 414 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
| 415 } else { | 415 } else { |
| 416 tiling->set_resolution(LOW_RESOLUTION); | 416 tiling->set_resolution(LOW_RESOLUTION); |
| 417 // Low res tilings with a high res pending twin have to be processed | 417 // Low res tilings with a high res pending twin have to be processed |
| 418 // because of possible activation tiles. | 418 // because of possible activation tiles. |
| 419 if (tiling->contents_scale_key() == 1.f) { | 419 if (tiling->contents_scale() == 1.f) { |
| 420 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); | 420 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); |
| 421 const auto& all_tiles = tiling->AllTilesForTesting(); | 421 const auto& all_tiles = tiling->AllTilesForTesting(); |
| 422 for (auto* tile : all_tiles) | 422 for (auto* tile : all_tiles) |
| 423 EXPECT_TRUE(tile->required_for_activation()); | 423 EXPECT_TRUE(tile->required_for_activation()); |
| 424 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 424 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
| 425 } | 425 } |
| 426 } | 426 } |
| 427 } | 427 } |
| 428 | 428 |
| 429 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( | 429 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( |
| (...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 867 | 867 |
| 868 bool last_tile_is_occluded = last_tile.is_occluded(); | 868 bool last_tile_is_occluded = last_tile.is_occluded(); |
| 869 if (!last_tile_is_occluded) { | 869 if (!last_tile_is_occluded) { |
| 870 TilePriority::PriorityBin tile_priority_bin = | 870 TilePriority::PriorityBin tile_priority_bin = |
| 871 prioritized_tile.priority().priority_bin; | 871 prioritized_tile.priority().priority_bin; |
| 872 TilePriority::PriorityBin last_tile_priority_bin = | 872 TilePriority::PriorityBin last_tile_priority_bin = |
| 873 last_tile.priority().priority_bin; | 873 last_tile.priority().priority_bin; |
| 874 | 874 |
| 875 EXPECT_TRUE((tile_priority_bin < last_tile_priority_bin) || | 875 EXPECT_TRUE((tile_priority_bin < last_tile_priority_bin) || |
| 876 prioritized_tile.tile()->required_for_activation() || | 876 prioritized_tile.tile()->required_for_activation() || |
| 877 (prioritized_tile.tile()->contents_scale_key() != | 877 (prioritized_tile.tile()->contents_scale() != |
| 878 last_tile.tile()->contents_scale_key())); | 878 last_tile.tile()->contents_scale())); |
| 879 } | 879 } |
| 880 } | 880 } |
| 881 last_tile = prioritized_tile; | 881 last_tile = prioritized_tile; |
| 882 queue->Pop(); | 882 queue->Pop(); |
| 883 } | 883 } |
| 884 size_t expected_occluded_count = pending_child_high_res_tiles.size(); | 884 size_t expected_occluded_count = pending_child_high_res_tiles.size(); |
| 885 EXPECT_EQ(expected_occluded_count, occluded_count); | 885 EXPECT_EQ(expected_occluded_count, occluded_count); |
| 886 } | 886 } |
| 887 | 887 |
| 888 TEST_F(TileManagerTilePriorityQueueTest, | 888 TEST_F(TileManagerTilePriorityQueueTest, |
| (...skipping 990 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1879 } | 1879 } |
| 1880 | 1880 |
| 1881 // Ensures that the tile manager does not attempt to reuse tiles when partial | 1881 // Ensures that the tile manager does not attempt to reuse tiles when partial |
| 1882 // raster is disabled. | 1882 // raster is disabled. |
| 1883 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) { | 1883 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) { |
| 1884 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */); | 1884 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */); |
| 1885 } | 1885 } |
| 1886 | 1886 |
| 1887 } // namespace | 1887 } // namespace |
| 1888 } // namespace cc | 1888 } // namespace cc |
| OLD | NEW |