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

Side by Side Diff: cc/trees/tree_synchronizer_unittest.cc

Issue 1680613002: Adding momentum/overscroll to views:: ScrollViews Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Tableview layout. aaaand I think we are done Created 4 years, 4 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
« no previous file with comments | « cc/trees/transform_node.cc ('k') | ui/compositor/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/trees/tree_synchronizer.h" 5 #include "cc/trees/tree_synchronizer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <set> 10 #include <set>
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 ASSERT_TRUE(clip_children->find(layer) != clip_children->end()); 140 ASSERT_TRUE(clip_children->find(layer) != clip_children->end());
141 } 141 }
142 } 142 }
143 } 143 }
144 144
145 class TreeSynchronizerTest : public testing::Test { 145 class TreeSynchronizerTest : public testing::Test {
146 protected: 146 protected:
147 TreeSynchronizerTest() 147 TreeSynchronizerTest()
148 : host_(FakeLayerTreeHost::Create(&client_, &task_graph_runner_)) {} 148 : host_(FakeLayerTreeHost::Create(&client_, &task_graph_runner_)) {}
149 149
150 bool is_equal(ScrollTree::ScrollOffsetMap map, 150 bool is_equal(const ScrollTree::ScrollOffsetMap& map,
151 ScrollTree::ScrollOffsetMap other) { 151 const ScrollTree::ScrollOffsetMap& other) {
152 if (map.size() != other.size()) 152 if (map.size() != other.size())
153 return false; 153 return false;
154 for (auto& map_entry : map) { 154 for (const auto& map_entry : map) {
155 if (other.find(map_entry.first) == other.end()) 155 auto other_found = other.find(map_entry.first);
156 if (other_found == other.end())
156 return false; 157 return false;
157 SyncedScrollOffset& from_map = *map_entry.second.get(); 158 SyncedScrollOffset& from_map = *map_entry.second.synced_offset.get();
158 SyncedScrollOffset& from_other = *other[map_entry.first].get(); 159 SyncedScrollOffset& from_other = *other_found->second.synced_offset.get();
159 if (from_map.PendingBase() != from_other.PendingBase() || 160 if (from_map.PendingBase() != from_other.PendingBase() ||
160 from_map.ActiveBase() != from_other.ActiveBase() || 161 from_map.ActiveBase() != from_other.ActiveBase() ||
161 from_map.Delta() != from_other.Delta() || 162 from_map.Delta() != from_other.Delta() ||
162 from_map.PendingDelta().get() != from_other.PendingDelta().get()) 163 from_map.PendingDelta().get() != from_other.PendingDelta().get())
163 return false; 164 return false;
164 } 165 }
165 return true; 166 return true;
166 } 167 }
167 168
168 FakeLayerTreeHostClient client_; 169 FakeLayerTreeHostClient client_;
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 host_impl->ActivateSyncTree(); 598 host_impl->ActivateSyncTree();
598 599
599 ExpectTreesAreIdentical(layer_tree_root.get(), 600 ExpectTreesAreIdentical(layer_tree_root.get(),
600 host_impl->active_tree()->root_layer_for_testing(), 601 host_impl->active_tree()->root_layer_for_testing(),
601 host_impl->active_tree()); 602 host_impl->active_tree());
602 603
603 // After the initial commit, scroll_offset_map in scroll_tree is expected to 604 // After the initial commit, scroll_offset_map in scroll_tree is expected to
604 // have one entry for scroll_layer and one entry for transient_scroll_layer, 605 // have one entry for scroll_layer and one entry for transient_scroll_layer,
605 // the pending base and active base must be the same at this stage. 606 // the pending base and active base must be the same at this stage.
606 ScrollTree::ScrollOffsetMap scroll_offset_map; 607 ScrollTree::ScrollOffsetMap scroll_offset_map;
607 scroll_offset_map[scroll_layer->id()] = new SyncedScrollOffset; 608 auto& scroll_offset = scroll_offset_map[scroll_layer->id()].synced_offset;
608 scroll_offset_map[transient_scroll_layer->id()] = new SyncedScrollOffset; 609 auto& transient_offset =
609 scroll_offset_map[scroll_layer->id()]->PushFromMainThread( 610 scroll_offset_map[transient_scroll_layer->id()].synced_offset;
610 scroll_layer->scroll_offset()); 611
611 scroll_offset_map[scroll_layer->id()]->PushPendingToActive(); 612 scroll_offset = new SyncedScrollOffset;
612 scroll_offset_map[transient_scroll_layer->id()]->PushFromMainThread( 613 transient_offset = new SyncedScrollOffset;
613 transient_scroll_layer->scroll_offset()); 614 scroll_offset->PushFromMainThread(scroll_layer->scroll_offset());
614 scroll_offset_map[transient_scroll_layer->id()]->PushPendingToActive(); 615 scroll_offset->PushPendingToActive();
615 EXPECT_TRUE( 616 transient_offset->PushFromMainThread(transient_scroll_layer->scroll_offset());
616 is_equal(scroll_offset_map, host_impl->active_tree() 617 transient_offset->PushPendingToActive();
617 ->property_trees() 618 EXPECT_TRUE(is_equal(scroll_offset_map,
618 ->scroll_tree.scroll_offset_map())); 619 host_impl->active_tree()
620 ->property_trees()
621 ->scroll_tree.scroll_offset_map_for_test()));
619 622
620 // Set ScrollOffset active delta: gfx::ScrollOffset(10, 10) 623 // Set ScrollOffset active delta: gfx::ScrollOffset(10, 10)
621 LayerImpl* scroll_layer_impl = 624 LayerImpl* scroll_layer_impl =
622 host_impl->active_tree()->LayerById(scroll_layer->id()); 625 host_impl->active_tree()->LayerById(scroll_layer->id());
623 ScrollTree& scroll_tree = 626 ScrollTree& scroll_tree =
624 host_impl->active_tree()->property_trees()->scroll_tree; 627 host_impl->active_tree()->property_trees()->scroll_tree;
625 scroll_tree.SetScrollOffset(scroll_layer_impl->id(), 628 scroll_tree.SetScrollOffset(scroll_layer_impl->id(),
626 gfx::ScrollOffset(20, 30)); 629 gfx::ScrollOffset(20, 30));
627 630
628 // Pull ScrollOffset delta for main thread, and change offset on main thread 631 // Pull ScrollOffset delta for main thread, and change offset on main thread
(...skipping 13 matching lines...) Expand all
642 transient_scroll_layer->SetScrollClipLayerId(Layer::INVALID_ID); 645 transient_scroll_layer->SetScrollClipLayerId(Layer::INVALID_ID);
643 host_->BuildPropertyTreesForTesting(); 646 host_->BuildPropertyTreesForTesting();
644 647
645 host_impl->CreatePendingTree(); 648 host_impl->CreatePendingTree();
646 host_->CommitAndCreatePendingTree(); 649 host_->CommitAndCreatePendingTree();
647 host_impl->ActivateSyncTree(); 650 host_impl->ActivateSyncTree();
648 651
649 EXPECT_EQ(scroll_layer->id(), 652 EXPECT_EQ(scroll_layer->id(),
650 host_impl->active_tree()->CurrentlyScrollingLayer()->id()); 653 host_impl->active_tree()->CurrentlyScrollingLayer()->id());
651 scroll_offset_map.erase(transient_scroll_layer->id()); 654 scroll_offset_map.erase(transient_scroll_layer->id());
652 scroll_offset_map[scroll_layer->id()]->SetCurrent(gfx::ScrollOffset(20, 30)); 655 scroll_offset = scroll_offset_map[scroll_layer->id()].synced_offset;
653 scroll_offset_map[scroll_layer->id()]->PullDeltaForMainThread(); 656 scroll_offset->SetCurrent(gfx::ScrollOffset(20, 30));
654 scroll_offset_map[scroll_layer->id()]->SetCurrent(gfx::ScrollOffset(40, 50)); 657 scroll_offset->PullDeltaForMainThread();
655 scroll_offset_map[scroll_layer->id()]->PushFromMainThread( 658 scroll_offset->SetCurrent(gfx::ScrollOffset(40, 50));
656 gfx::ScrollOffset(100, 100)); 659 scroll_offset->PushFromMainThread(gfx::ScrollOffset(100, 100));
657 scroll_offset_map[scroll_layer->id()]->PushPendingToActive(); 660 scroll_offset->PushPendingToActive();
658 EXPECT_TRUE(is_equal(scroll_offset_map, scroll_tree.scroll_offset_map())); 661 EXPECT_TRUE(
662 is_equal(scroll_offset_map, scroll_tree.scroll_offset_map_for_test()));
659 } 663 }
660 664
661 TEST_F(TreeSynchronizerTest, RefreshPropertyTreesCachedData) { 665 TEST_F(TreeSynchronizerTest, RefreshPropertyTreesCachedData) {
662 host_->InitializeSingleThreaded(&single_thread_client_, 666 host_->InitializeSingleThreaded(&single_thread_client_,
663 base::ThreadTaskRunnerHandle::Get(), nullptr); 667 base::ThreadTaskRunnerHandle::Get(), nullptr);
664 LayerTreeSettings settings; 668 LayerTreeSettings settings;
665 FakeLayerTreeHostImplClient client; 669 FakeLayerTreeHostImplClient client;
666 FakeImplTaskRunnerProvider task_runner_provider; 670 FakeImplTaskRunnerProvider task_runner_provider;
667 FakeRenderingStatsInstrumentation stats_instrumentation; 671 FakeRenderingStatsInstrumentation stats_instrumentation;
668 TestSharedBitmapManager shared_bitmap_manager; 672 TestSharedBitmapManager shared_bitmap_manager;
(...skipping 30 matching lines...) Expand all
699 host_->CommitAndCreatePendingTree(); 703 host_->CommitAndCreatePendingTree();
700 host_impl->ActivateSyncTree(); 704 host_impl->ActivateSyncTree();
701 EXPECT_EQ( 705 EXPECT_EQ(
702 CombinedAnimationScale(0.f, 0.f), 706 CombinedAnimationScale(0.f, 0.f),
703 host_impl->active_tree()->property_trees()->GetAnimationScales( 707 host_impl->active_tree()->property_trees()->GetAnimationScales(
704 transform_layer->transform_tree_index(), host_impl->active_tree())); 708 transform_layer->transform_tree_index(), host_impl->active_tree()));
705 } 709 }
706 710
707 } // namespace 711 } // namespace
708 } // namespace cc 712 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/transform_node.cc ('k') | ui/compositor/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698