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

Unified Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 669813003: Update from chromium https://crrev.com/301725/ (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_pixeltest_blending.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_impl_unittest.cc
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index f71edd6f9bfbfc36e9267aa7b955dd173d3e2451..8e7fa0f27a9b2b056c3959fe182f2ffa54faf263 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -4,6 +4,7 @@
#include "cc/trees/layer_tree_host_impl.h"
+#include <algorithm>
#include <cmath>
#include "base/bind.h"
@@ -7416,47 +7417,64 @@ TEST_F(LayerTreeHostImplTest, ScrollAnimated) {
TEST_F(LayerTreeHostImplTest, GetPictureLayerImplPairs) {
host_impl_->CreatePendingTree();
+ host_impl_->pending_tree()->SetRootLayer(
+ PictureLayerImpl::Create(host_impl_->pending_tree(), 10));
+
+ LayerTreeImpl* pending_tree = host_impl_->pending_tree();
+ LayerImpl* pending_layer = pending_tree->root_layer();
+
+ std::vector<PictureLayerImpl::Pair> layer_pairs;
+ host_impl_->GetPictureLayerImplPairs(&layer_pairs);
+ EXPECT_EQ(1u, layer_pairs.size());
+ EXPECT_EQ(pending_layer, layer_pairs[0].pending);
+ EXPECT_EQ(nullptr, layer_pairs[0].active);
+
host_impl_->ActivateSyncTree();
- host_impl_->CreatePendingTree();
LayerTreeImpl* active_tree = host_impl_->active_tree();
- LayerTreeImpl* pending_tree = host_impl_->pending_tree();
+ LayerImpl* active_layer = active_tree->root_layer();
EXPECT_NE(active_tree, pending_tree);
+ EXPECT_NE(active_layer, pending_layer);
+ EXPECT_NE(nullptr, active_tree);
+ EXPECT_NE(nullptr, active_layer);
- scoped_ptr<FakePictureLayerImpl> active_layer =
- FakePictureLayerImpl::Create(active_tree, 10);
- scoped_ptr<FakePictureLayerImpl> pending_layer =
- FakePictureLayerImpl::Create(pending_tree, 10);
+ host_impl_->CreatePendingTree();
- std::vector<PictureLayerImpl::Pair> layer_pairs;
+ layer_pairs.clear();
host_impl_->GetPictureLayerImplPairs(&layer_pairs);
+ EXPECT_EQ(1u, layer_pairs.size());
+ EXPECT_EQ(active_layer, layer_pairs[0].active);
+ EXPECT_EQ(pending_layer, layer_pairs[0].pending);
- EXPECT_EQ(2u, layer_pairs.size());
- if (layer_pairs[0].active) {
- EXPECT_EQ(active_layer.get(), layer_pairs[0].active);
- EXPECT_EQ(NULL, layer_pairs[0].pending);
- } else {
- EXPECT_EQ(pending_layer.get(), layer_pairs[0].pending);
- EXPECT_EQ(NULL, layer_pairs[0].active);
- }
+ // Activate, the active layer has no twin now.
+ host_impl_->ActivateSyncTree();
- if (layer_pairs[1].active) {
- EXPECT_EQ(active_layer.get(), layer_pairs[1].active);
- EXPECT_EQ(NULL, layer_pairs[1].pending);
- } else {
- EXPECT_EQ(pending_layer.get(), layer_pairs[1].pending);
- EXPECT_EQ(NULL, layer_pairs[1].active);
- }
+ layer_pairs.clear();
+ host_impl_->GetPictureLayerImplPairs(&layer_pairs);
+ EXPECT_EQ(1u, layer_pairs.size());
+ EXPECT_EQ(active_layer, layer_pairs[0].active);
+ EXPECT_EQ(nullptr, layer_pairs[0].pending);
+
+ // Create another layer in the pending tree that's not in the active tree. We
+ // should get two pairs.
+ host_impl_->CreatePendingTree();
+ host_impl_->pending_tree()->root_layer()->AddChild(
+ PictureLayerImpl::Create(host_impl_->pending_tree(), 11));
- active_layer->set_twin_layer(pending_layer.get());
- pending_layer->set_twin_layer(active_layer.get());
+ LayerImpl* new_pending_layer = pending_tree->root_layer()->children()[0];
layer_pairs.clear();
host_impl_->GetPictureLayerImplPairs(&layer_pairs);
- EXPECT_EQ(1u, layer_pairs.size());
+ EXPECT_EQ(2u, layer_pairs.size());
+
+ // The pair ordering is flaky, so make it consistent.
+ if (layer_pairs[0].active != active_layer)
+ std::swap(layer_pairs[0], layer_pairs[1]);
- EXPECT_EQ(active_layer.get(), layer_pairs[0].active);
- EXPECT_EQ(pending_layer.get(), layer_pairs[0].pending);
+ EXPECT_EQ(active_layer, layer_pairs[0].active);
+ EXPECT_EQ(pending_layer, layer_pairs[0].pending);
+ EXPECT_EQ(new_pending_layer, layer_pairs[1].pending);
+ EXPECT_EQ(nullptr, layer_pairs[1].active);
}
TEST_F(LayerTreeHostImplTest, DidBecomeActive) {
« no previous file with comments | « cc/trees/layer_tree_host_impl.cc ('k') | cc/trees/layer_tree_host_pixeltest_blending.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698