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

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

Issue 287643004: Re-land: cc: Examine layers to determine if we're ready to activate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase and address review feedback Created 6 years, 7 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 2343 matching lines...) Expand 10 before | Expand all | Expand 10 after
2354 contents_scale = 0.5f; 2354 contents_scale = 0.5f;
2355 2355
2356 SetContentsScaleOnBothLayers(contents_scale, 2356 SetContentsScaleOnBothLayers(contents_scale,
2357 device_scale, 2357 device_scale,
2358 page_scale, 2358 page_scale,
2359 maximum_animation_scale, 2359 maximum_animation_scale,
2360 animating_transform); 2360 animating_transform);
2361 EXPECT_BOTH_EQ(HighResTiling()->contents_scale(), 1.f); 2361 EXPECT_BOTH_EQ(HighResTiling()->contents_scale(), 1.f);
2362 } 2362 }
2363 2363
2364 TEST_F(PictureLayerImplTest, AllTilesRequiredForActivationAreReadyToDraw) {
vmpstr 2014/05/21 22:28:30 Can you add a similar test where you first mark al
reveman 2014/05/22 20:47:49 Done.
2365 gfx::Size tile_size(100, 100);
2366 gfx::Size layer_bounds(1000, 1000);
2367
2368 scoped_refptr<FakePicturePileImpl> pending_pile =
2369 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
2370
2371 SetupPendingTree(pending_pile);
2372 pending_layer_->SetBounds(layer_bounds);
2373
2374 ASSERT_TRUE(pending_layer_->CanHaveTilings());
2375
2376 float low_res_factor = host_impl_.settings().low_res_contents_scale_factor;
2377
2378 pending_layer_->AddTiling(low_res_factor);
2379 pending_layer_->AddTiling(0.3f);
2380 pending_layer_->AddTiling(0.7f);
2381 pending_layer_->AddTiling(1.0f);
2382 pending_layer_->AddTiling(2.0f);
2383
2384 host_impl_.SetViewportSize(gfx::Size(500, 500));
2385 host_impl_.pending_tree()->UpdateDrawProperties();
2386
2387 // Initialize all low-res tiles.
2388 for (PictureLayerImpl::LayerRasterTileIterator it(
2389 pending_layer_, SAME_PRIORITY_FOR_BOTH_TREES);
2390 it;
2391 ++it) {
2392 Tile* tile = *it;
2393 TilePriority priority = tile->priority(PENDING_TREE);
2394
2395 if (priority.resolution != LOW_RESOLUTION)
2396 continue;
2397
2398 ManagedTileState::TileVersion& tile_version =
2399 tile->GetTileVersionForTesting(
2400 tile->DetermineRasterModeForTree(PENDING_TREE));
2401 tile_version.SetSolidColorForTesting(SK_ColorRED);
2402 }
2403
2404 // Low-res tiles should not be enough.
2405 EXPECT_FALSE(pending_layer_->AllTilesRequiredForActivationAreReadyToDraw());
2406
2407 // Initialize all tiles.
2408 for (PictureLayerImpl::LayerRasterTileIterator it(
2409 pending_layer_, SAME_PRIORITY_FOR_BOTH_TREES);
2410 it;
2411 ++it) {
2412 Tile* tile = *it;
2413
2414 ManagedTileState::TileVersion& tile_version =
2415 tile->GetTileVersionForTesting(
2416 tile->DetermineRasterModeForTree(PENDING_TREE));
2417 tile_version.SetSolidColorForTesting(SK_ColorRED);
2418 }
2419
2420 EXPECT_TRUE(pending_layer_->AllTilesRequiredForActivationAreReadyToDraw());
2421 }
2422
2364 } // namespace 2423 } // namespace
2365 } // namespace cc 2424 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698