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

Unified Diff: cc/trees/tree_synchronizer_unittest.cc

Issue 1808373002: cc : Make tree synchronization independent of layer tree hierarchy (2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
Index: cc/trees/tree_synchronizer_unittest.cc
diff --git a/cc/trees/tree_synchronizer_unittest.cc b/cc/trees/tree_synchronizer_unittest.cc
index ee4041afdd39950b4e933c99d2eab71c88523a0b..3e5b9cdc634f2db96748f0a6d787385543c47147 100644
--- a/cc/trees/tree_synchronizer_unittest.cc
+++ b/cc/trees/tree_synchronizer_unittest.cc
@@ -165,6 +165,16 @@ void ExpectTreesAreIdentical(Layer* layer,
}
}
+void PushLayerPropertiesTo(LayerTreeHost* tree_host, LayerTreeImpl* tree_impl) {
ajuma 2016/03/21 13:41:20 Is this still needed now that we have a method in
jaydasika 2016/03/21 17:32:03 Removed.
+ std::unordered_set<Layer*> layers_that_should_push_properties =
+ tree_host->LayersThatShouldPushProperties();
+ for (auto layer : layers_that_should_push_properties) {
+ LayerImpl* impl_layer = tree_impl->LayerById(layer->id());
+ DCHECK(impl_layer) << layer->id();
+ layer->PushPropertiesTo(impl_layer);
+ }
+}
+
class TreeSynchronizerTest : public testing::Test {
public:
TreeSynchronizerTest()
@@ -243,8 +253,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeReusingLayers) {
host_->active_tree());
// We have to push properties to pick up the destruction list pointer.
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_->active_tree());
// Add a new layer to the Layer side
layer_tree_root->children()[0]->AddChild(
@@ -288,7 +298,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndTrackStackingOrderChange) {
host_->active_tree());
// We have to push properties to pick up the destruction list pointer.
- TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_->active_tree());
host_->active_tree()->ResetAllChangeTracking(
PropertyTrees::ResetFlags::ALL_TREES);
@@ -303,7 +314,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndTrackStackingOrderChange) {
ExpectTreesAreIdentical(layer_tree_root.get(), layer_impl_tree_root,
host_->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(), layer_impl_tree_root);
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_->active_tree());
// Check that the impl thread properly tracked the change.
EXPECT_FALSE(layer_impl_tree_root->LayerPropertyChanged());
@@ -338,8 +350,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeAndProperties) {
layer_impl_tree_root.get(),
host_->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_->active_tree());
// Check that the property values we set on the Layer tree are reflected in
// the LayerImpl tree.
@@ -389,8 +401,8 @@ TEST_F(TreeSynchronizerTest, ReuseLayerImplsAfterStructuralChange) {
host_->active_tree());
// We have to push properties to pick up the destruction list pointer.
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_->active_tree());
// Now restructure the tree to look like this:
// root --- D ---+--- A
@@ -444,8 +456,8 @@ TEST_F(TreeSynchronizerTest, SyncSimpleTreeThenDestroy) {
host_->active_tree());
// We have to push properties to pick up the destruction list pointer.
- TreeSynchronizer::PushProperties(old_layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(old_layer_tree_root->layer_tree_host(),
+ host_->active_tree());
// Remove all children on the Layer side.
old_layer_tree_root->RemoveAllChildren();
@@ -562,8 +574,8 @@ TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
scoped_ptr<LayerImpl> layer_impl_tree_root =
TreeSynchronizer::SynchronizeTrees(
layer_tree_root.get(), nullptr, host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_impl->active_tree());
{
SCOPED_TRACE("case one");
ExpectTreesAreIdentical(layer_tree_root.get(),
@@ -576,8 +588,8 @@ TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
layer_tree_root.get(), std::move(layer_impl_tree_root),
host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_impl->active_tree());
{
SCOPED_TRACE("case two");
ExpectTreesAreIdentical(layer_tree_root.get(),
@@ -592,8 +604,8 @@ TEST_F(TreeSynchronizerTest, SynchronizeScrollParent) {
layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
layer_tree_root.get(), std::move(layer_impl_tree_root),
host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_impl->active_tree());
{
SCOPED_TRACE("case three");
ExpectTreesAreIdentical(layer_tree_root.get(),
@@ -631,8 +643,8 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
scoped_ptr<LayerImpl> layer_impl_tree_root =
TreeSynchronizer::SynchronizeTrees(
layer_tree_root.get(), nullptr, host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_impl->active_tree());
ExpectTreesAreIdentical(layer_tree_root.get(),
layer_impl_tree_root.get(),
host_impl->active_tree());
@@ -644,8 +656,8 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
layer_tree_root.get(), std::move(layer_impl_tree_root),
host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_impl->active_tree());
ExpectTreesAreIdentical(layer_tree_root.get(),
layer_impl_tree_root.get(),
host_impl->active_tree());
@@ -657,8 +669,8 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
layer_tree_root.get(), std::move(layer_impl_tree_root),
host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_impl->active_tree());
ExpectTreesAreIdentical(layer_tree_root.get(),
layer_impl_tree_root.get(),
host_impl->active_tree());
@@ -669,8 +681,8 @@ TEST_F(TreeSynchronizerTest, SynchronizeClipParent) {
layer_impl_tree_root = TreeSynchronizer::SynchronizeTrees(
layer_tree_root.get(), std::move(layer_impl_tree_root),
host_impl->active_tree());
- TreeSynchronizer::PushProperties(layer_tree_root.get(),
- layer_impl_tree_root.get());
+ PushLayerPropertiesTo(layer_tree_root->layer_tree_host(),
+ host_impl->active_tree());
ExpectTreesAreIdentical(layer_tree_root.get(),
layer_impl_tree_root.get(),
host_impl->active_tree());
« cc/trees/layer_tree_host_unittest_serialization.cc ('K') | « cc/trees/tree_synchronizer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698