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

Unified Diff: cc/resources/tile_manager_unittest.cc

Issue 822713002: Update from https://crrev.com/309415 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: cc/resources/tile_manager_unittest.cc
diff --git a/cc/resources/tile_manager_unittest.cc b/cc/resources/tile_manager_unittest.cc
index 32d174d94fe0ae68881df30a953b37fad603046e..c9a02af893843dab548cdce7da2f2ededd3a1169 100644
--- a/cc/resources/tile_manager_unittest.cc
+++ b/cc/resources/tile_manager_unittest.cc
@@ -6,6 +6,7 @@
#include "cc/resources/raster_tile_priority_queue.h"
#include "cc/resources/tile.h"
#include "cc/resources/tile_priority.h"
+#include "cc/test/begin_frame_args_test.h"
#include "cc/test/fake_impl_proxy.h"
#include "cc/test/fake_layer_tree_host_impl.h"
#include "cc/test/fake_output_surface.h"
@@ -121,6 +122,9 @@ class TileManagerTilePriorityQueueTest : public testing::Test {
pending_layer_ = static_cast<FakePictureLayerImpl*>(
host_impl_.pending_tree()->LayerById(id_));
+
+ // Add tilings/tiles for the layer.
+ host_impl_.pending_tree()->UpdateDrawProperties();
}
TileManager* tile_manager() { return host_impl_.tile_manager(); }
@@ -144,9 +148,6 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
host_impl_.SetViewportSize(layer_bounds);
SetupDefaultTrees(layer_bounds);
- active_layer_->CreateDefaultTilingsAndTiles();
- pending_layer_->CreateDefaultTilingsAndTiles();
-
RasterTilePriorityQueue queue;
host_impl_.BuildRasterQueue(&queue, SAME_PRIORITY_FOR_BOTH_TREES);
EXPECT_FALSE(queue.IsEmpty());
@@ -325,35 +326,31 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
}
TEST_F(TileManagerTilePriorityQueueTest, ActivationComesBeforeEventually) {
- SetupDefaultTrees(gfx::Size(1000, 1000));
+ base::TimeTicks time_ticks;
+ time_ticks += base::TimeDelta::FromMilliseconds(1);
+ host_impl_.SetCurrentBeginFrameArgs(
+ CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
- active_layer_->CreateDefaultTilingsAndTiles();
- pending_layer_->CreateDefaultTilingsAndTiles();
+ gfx::Size layer_bounds(1000, 1000);
+ SetupDefaultTrees(layer_bounds);
// Create a pending child layer.
gfx::Size tile_size(256, 256);
scoped_refptr<FakePicturePileImpl> pending_pile =
- FakePicturePileImpl::CreateFilledPile(tile_size, gfx::Size(1000, 1000));
+ FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
scoped_ptr<FakePictureLayerImpl> pending_child =
FakePictureLayerImpl::CreateWithRasterSource(host_impl_.pending_tree(),
id_ + 1, pending_pile);
- pending_layer_->AddChild(pending_child.Pass());
- FakePictureLayerImpl* pending_child_raw = static_cast<FakePictureLayerImpl*>(
- host_impl_.pending_tree()->LayerById(id_ + 1));
- ASSERT_TRUE(pending_child_raw);
-
+ FakePictureLayerImpl* pending_child_raw = pending_child.get();
pending_child_raw->SetDrawsContent(true);
- pending_child_raw->CreateDefaultTilingsAndTiles();
- ASSERT_TRUE(pending_child_raw->HighResTiling());
+ pending_layer_->AddChild(pending_child.Pass());
// Set a small viewport, so we have soon and eventually tiles.
- gfx::Rect viewport(200, 200);
- active_layer_->draw_properties().visible_content_rect = viewport;
- active_layer_->UpdateTiles(Occlusion(), false);
- pending_layer_->draw_properties().visible_content_rect = viewport;
- pending_layer_->UpdateTiles(Occlusion(), false);
- pending_child_raw->draw_properties().visible_content_rect = viewport;
- pending_child_raw->UpdateTiles(Occlusion(), false);
+ host_impl_.SetViewportSize(gfx::Size(200, 200));
+ time_ticks += base::TimeDelta::FromMilliseconds(1);
+ host_impl_.SetCurrentBeginFrameArgs(
+ CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
+ host_impl_.pending_tree()->UpdateDrawProperties();
RasterTilePriorityQueue queue;
host_impl_.SetRequiresHighResToDraw();
@@ -385,9 +382,6 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
host_impl_.SetViewportSize(layer_bounds);
SetupDefaultTrees(layer_bounds);
- active_layer_->CreateDefaultTilingsAndTiles();
- pending_layer_->CreateDefaultTilingsAndTiles();
-
EvictionTilePriorityQueue empty_queue;
host_impl_.BuildEvictionQueue(&empty_queue, SAME_PRIORITY_FOR_BOTH_TREES);
EXPECT_TRUE(empty_queue.IsEmpty());
@@ -420,7 +414,7 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
EXPECT_TRUE(tile);
EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin);
EXPECT_EQ(TilePriority::NOW, tile->priority(PENDING_TREE).priority_bin);
- EXPECT_TRUE(tile->HasResources());
+ EXPECT_TRUE(tile->HasResource());
smoothness_tiles.insert(tile);
queue.Pop();
}
@@ -486,7 +480,7 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
while (!queue.IsEmpty()) {
Tile* tile = queue.Top();
EXPECT_TRUE(tile);
- EXPECT_TRUE(tile->HasResources());
+ EXPECT_TRUE(tile->HasResource());
if (!last_tile)
last_tile = tile;
@@ -561,6 +555,11 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueue) {
TEST_F(TileManagerTilePriorityQueueTest,
EvictionTilePriorityQueueWithOcclusion) {
+ base::TimeTicks time_ticks;
+ time_ticks += base::TimeDelta::FromMilliseconds(1);
+ host_impl_.SetCurrentBeginFrameArgs(
+ CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
+
gfx::Size tile_size(102, 102);
gfx::Size layer_bounds(1000, 1000);
@@ -569,7 +568,6 @@ TEST_F(TileManagerTilePriorityQueueTest,
scoped_refptr<FakePicturePileImpl> pending_pile =
FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
SetupPendingTree(pending_pile);
- pending_layer_->CreateDefaultTilingsAndTiles();
scoped_ptr<FakePictureLayerImpl> pending_child =
FakePictureLayerImpl::CreateWithRasterSource(host_impl_.pending_tree(), 2,
@@ -579,7 +577,11 @@ TEST_F(TileManagerTilePriorityQueueTest,
FakePictureLayerImpl* pending_child_layer =
static_cast<FakePictureLayerImpl*>(pending_layer_->children()[0]);
pending_child_layer->SetDrawsContent(true);
- pending_child_layer->CreateDefaultTilingsAndTiles();
+
+ time_ticks += base::TimeDelta::FromMilliseconds(1);
+ host_impl_.SetCurrentBeginFrameArgs(
+ CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
+ host_impl_.pending_tree()->UpdateDrawProperties();
std::set<Tile*> all_tiles;
size_t tile_count = 0;
@@ -676,27 +678,39 @@ TEST_F(TileManagerTilePriorityQueueTest,
TEST_F(TileManagerTilePriorityQueueTest,
EvictionTilePriorityQueueWithTransparentLayer) {
+ base::TimeTicks time_ticks;
+ time_ticks += base::TimeDelta::FromMilliseconds(1);
+ host_impl_.SetCurrentBeginFrameArgs(
+ CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
+
gfx::Size tile_size(102, 102);
gfx::Size layer_bounds(1000, 1000);
scoped_refptr<FakePicturePileImpl> pending_pile =
FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds);
SetupPendingTree(pending_pile);
- pending_layer_->CreateDefaultTilingsAndTiles();
scoped_ptr<FakePictureLayerImpl> pending_child =
FakePictureLayerImpl::CreateWithRasterSource(host_impl_.pending_tree(), 2,
pending_pile);
+ FakePictureLayerImpl* pending_child_layer = pending_child.get();
pending_layer_->AddChild(pending_child.Pass());
// Create a fully transparent child layer so that its tile priorities are not
// considered to be valid.
- FakePictureLayerImpl* pending_child_layer =
- static_cast<FakePictureLayerImpl*>(pending_layer_->children()[0]);
pending_child_layer->SetDrawsContent(true);
- pending_child_layer->CreateDefaultTilingsAndTiles();
+
+ time_ticks += base::TimeDelta::FromMilliseconds(1);
+ host_impl_.SetCurrentBeginFrameArgs(
+ CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
+ host_impl_.pending_tree()->UpdateDrawProperties();
+
pending_child_layer->SetOpacity(0.0);
- pending_child_layer->layer_tree_impl()->UpdateDrawProperties();
+
+ time_ticks += base::TimeDelta::FromMilliseconds(1);
+ host_impl_.SetCurrentBeginFrameArgs(
+ CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
+ host_impl_.pending_tree()->UpdateDrawProperties();
// Renew all of the tile priorities.
gfx::Rect viewport(layer_bounds);
@@ -776,9 +790,6 @@ TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueueEmptyLayers) {
host_impl_.SetViewportSize(layer_bounds);
SetupDefaultTrees(layer_bounds);
- active_layer_->CreateDefaultTilingsAndTiles();
- pending_layer_->CreateDefaultTilingsAndTiles();
-
RasterTilePriorityQueue queue;
host_impl_.BuildRasterQueue(&queue, SAME_PRIORITY_FOR_BOTH_TREES);
EXPECT_FALSE(queue.IsEmpty());
@@ -824,9 +835,6 @@ TEST_F(TileManagerTilePriorityQueueTest, EvictionTilePriorityQueueEmptyLayers) {
host_impl_.SetViewportSize(layer_bounds);
SetupDefaultTrees(layer_bounds);
- active_layer_->CreateDefaultTilingsAndTiles();
- pending_layer_->CreateDefaultTilingsAndTiles();
-
RasterTilePriorityQueue raster_queue;
host_impl_.BuildRasterQueue(&raster_queue, SAME_PRIORITY_FOR_BOTH_TREES);
EXPECT_FALSE(raster_queue.IsEmpty());

Powered by Google App Engine
This is Rietveld 408576698