OLD | NEW |
---|---|
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/resources/tile.h" | 5 #include "cc/resources/tile.h" |
6 #include "cc/resources/tile_priority.h" | 6 #include "cc/resources/tile_priority.h" |
7 #include "cc/test/fake_impl_proxy.h" | 7 #include "cc/test/fake_impl_proxy.h" |
8 #include "cc/test/fake_layer_tree_host_impl.h" | 8 #include "cc/test/fake_layer_tree_host_impl.h" |
9 #include "cc/test/fake_output_surface.h" | 9 #include "cc/test/fake_output_surface.h" |
10 #include "cc/test/fake_output_surface_client.h" | 10 #include "cc/test/fake_output_surface_client.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
76 } | 76 } |
77 | 77 |
78 virtual void TearDown() OVERRIDE { | 78 virtual void TearDown() OVERRIDE { |
79 tile_manager_.reset(NULL); | 79 tile_manager_.reset(NULL); |
80 picture_pile_ = NULL; | 80 picture_pile_ = NULL; |
81 | 81 |
82 testing::Test::TearDown(); | 82 testing::Test::TearDown(); |
83 } | 83 } |
84 | 84 |
85 // TileManagerClient implementation. | 85 // TileManagerClient implementation. |
86 virtual const std::vector<PictureLayerImpl*>& GetPictureLayers() OVERRIDE { | |
87 return picture_layers_; | |
88 } | |
86 virtual void NotifyReadyToActivate() OVERRIDE { ready_to_activate_ = true; } | 89 virtual void NotifyReadyToActivate() OVERRIDE { ready_to_activate_ = true; } |
87 virtual void NotifyTileStateChanged(const Tile* tile) OVERRIDE {} | 90 virtual void NotifyTileStateChanged(const Tile* tile) OVERRIDE {} |
88 | 91 |
89 TileVector CreateTilesWithSize(int count, | 92 TileVector CreateTilesWithSize(int count, |
90 TilePriority active_priority, | 93 TilePriority active_priority, |
91 TilePriority pending_priority, | 94 TilePriority pending_priority, |
92 const gfx::Size& tile_size) { | 95 const gfx::Size& tile_size) { |
93 TileVector tiles; | 96 TileVector tiles; |
94 for (int i = 0; i < count; ++i) { | 97 for (int i = 0; i < count; ++i) { |
95 scoped_refptr<Tile> tile = tile_manager_->CreateTile(picture_pile_.get(), | 98 scoped_refptr<Tile> tile = tile_manager_->CreateTile(picture_pile_.get(), |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
151 scoped_ptr<FakeTileManager> tile_manager_; | 154 scoped_ptr<FakeTileManager> tile_manager_; |
152 scoped_refptr<FakePicturePileImpl> picture_pile_; | 155 scoped_refptr<FakePicturePileImpl> picture_pile_; |
153 FakeOutputSurfaceClient output_surface_client_; | 156 FakeOutputSurfaceClient output_surface_client_; |
154 scoped_ptr<FakeOutputSurface> output_surface_; | 157 scoped_ptr<FakeOutputSurface> output_surface_; |
155 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; | 158 scoped_ptr<SharedBitmapManager> shared_bitmap_manager_; |
156 scoped_ptr<ResourceProvider> resource_provider_; | 159 scoped_ptr<ResourceProvider> resource_provider_; |
157 scoped_ptr<ResourcePool> resource_pool_; | 160 scoped_ptr<ResourcePool> resource_pool_; |
158 TileMemoryLimitPolicy memory_limit_policy_; | 161 TileMemoryLimitPolicy memory_limit_policy_; |
159 int max_tiles_; | 162 int max_tiles_; |
160 bool ready_to_activate_; | 163 bool ready_to_activate_; |
164 std::vector<PictureLayerImpl*> picture_layers_; | |
161 }; | 165 }; |
162 | 166 |
163 TEST_P(TileManagerTest, EnoughMemoryAllowAnything) { | 167 TEST_P(TileManagerTest, EnoughMemoryAllowAnything) { |
164 // A few tiles of each type of priority, with enough memory for all tiles. | 168 // A few tiles of each type of priority, with enough memory for all tiles. |
165 | 169 |
166 Initialize(10, ALLOW_ANYTHING, SMOOTHNESS_TAKES_PRIORITY); | 170 Initialize(10, ALLOW_ANYTHING, SMOOTHNESS_TAKES_PRIORITY); |
167 TileVector active_now = | 171 TileVector active_now = |
168 CreateTiles(3, TilePriorityForNowBin(), TilePriority()); | 172 CreateTiles(3, TilePriorityForNowBin(), TilePriority()); |
169 TileVector pending_now = | 173 TileVector pending_now = |
170 CreateTiles(3, TilePriority(), TilePriorityForNowBin()); | 174 CreateTiles(3, TilePriority(), TilePriorityForNowBin()); |
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
711 | 715 |
712 void CreateHighLowResAndSetAllTilesVisible() { | 716 void CreateHighLowResAndSetAllTilesVisible() { |
713 // Active layer must get updated first so pending layer can share from it. | 717 // Active layer must get updated first so pending layer can share from it. |
714 active_layer_->CreateDefaultTilingsAndTiles(); | 718 active_layer_->CreateDefaultTilingsAndTiles(); |
715 active_layer_->SetAllTilesVisible(); | 719 active_layer_->SetAllTilesVisible(); |
716 pending_layer_->CreateDefaultTilingsAndTiles(); | 720 pending_layer_->CreateDefaultTilingsAndTiles(); |
717 pending_layer_->SetAllTilesVisible(); | 721 pending_layer_->SetAllTilesVisible(); |
718 } | 722 } |
719 | 723 |
720 // TileManagerClient implementation. | 724 // TileManagerClient implementation. |
725 virtual const std::vector<PictureLayerImpl*>& GetPictureLayers() OVERRIDE { | |
726 return picture_layers_; | |
727 } | |
721 virtual void NotifyReadyToActivate() OVERRIDE { ready_to_activate_ = true; } | 728 virtual void NotifyReadyToActivate() OVERRIDE { ready_to_activate_ = true; } |
722 virtual void NotifyTileStateChanged(const Tile* tile) OVERRIDE {} | 729 virtual void NotifyTileStateChanged(const Tile* tile) OVERRIDE {} |
723 | 730 |
724 TileManager* tile_manager() { return host_impl_.tile_manager(); } | 731 TileManager* tile_manager() { return host_impl_.tile_manager(); } |
725 | 732 |
726 protected: | 733 protected: |
727 GlobalStateThatImpactsTilePriority global_state_; | 734 GlobalStateThatImpactsTilePriority global_state_; |
728 | 735 |
729 TestSharedBitmapManager shared_bitmap_manager_; | 736 TestSharedBitmapManager shared_bitmap_manager_; |
730 TileMemoryLimitPolicy memory_limit_policy_; | 737 TileMemoryLimitPolicy memory_limit_policy_; |
731 int max_tiles_; | 738 int max_tiles_; |
732 bool ready_to_activate_; | 739 bool ready_to_activate_; |
733 int id_; | 740 int id_; |
734 FakeImplProxy proxy_; | 741 FakeImplProxy proxy_; |
735 FakeLayerTreeHostImpl host_impl_; | 742 FakeLayerTreeHostImpl host_impl_; |
736 FakePictureLayerImpl* pending_layer_; | 743 FakePictureLayerImpl* pending_layer_; |
737 FakePictureLayerImpl* active_layer_; | 744 FakePictureLayerImpl* active_layer_; |
745 std::vector<PictureLayerImpl*> picture_layers_; | |
738 }; | 746 }; |
739 | 747 |
740 TEST_F(TileManagerTileIteratorTest, PairedPictureLayers) { | 748 TEST_F(TileManagerTileIteratorTest, PairedPictureLayers) { |
741 FakeImplProxy proxy; | 749 FakeImplProxy proxy; |
742 TestSharedBitmapManager shared_bitmap_manager; | 750 TestSharedBitmapManager shared_bitmap_manager; |
743 FakeLayerTreeHostImpl host_impl(&proxy, &shared_bitmap_manager); | 751 FakeLayerTreeHostImpl host_impl(&proxy, &shared_bitmap_manager); |
744 host_impl.CreatePendingTree(); | 752 host_impl.CreatePendingTree(); |
745 host_impl.ActivatePendingTree(); | 753 host_impl.ActivatePendingTree(); |
746 host_impl.CreatePendingTree(); | 754 host_impl.CreatePendingTree(); |
747 | 755 |
748 LayerTreeImpl* active_tree = host_impl.active_tree(); | 756 LayerTreeImpl* active_tree = host_impl.active_tree(); |
749 LayerTreeImpl* pending_tree = host_impl.pending_tree(); | 757 LayerTreeImpl* pending_tree = host_impl.pending_tree(); |
750 EXPECT_NE(active_tree, pending_tree); | 758 EXPECT_NE(active_tree, pending_tree); |
751 | 759 |
752 scoped_ptr<FakePictureLayerImpl> active_layer = | 760 scoped_ptr<FakePictureLayerImpl> active_layer = |
753 FakePictureLayerImpl::Create(active_tree, 10); | 761 FakePictureLayerImpl::Create(active_tree, 10); |
754 scoped_ptr<FakePictureLayerImpl> pending_layer = | 762 scoped_ptr<FakePictureLayerImpl> pending_layer = |
755 FakePictureLayerImpl::Create(pending_tree, 10); | 763 FakePictureLayerImpl::Create(pending_tree, 10); |
756 | 764 |
757 TileManager* tile_manager = TileManagerTileIteratorTest::tile_manager(); | 765 TileManager* tile_manager = TileManagerTileIteratorTest::tile_manager(); |
758 EXPECT_TRUE(tile_manager); | 766 EXPECT_TRUE(tile_manager); |
759 | 767 |
760 tile_manager->RegisterPictureLayerImpl(active_layer.get()); | 768 picture_layers_.push_back(active_layer.get()); |
761 tile_manager->RegisterPictureLayerImpl(pending_layer.get()); | 769 picture_layers_.push_back(pending_layer.get()); |
762 | 770 |
763 std::vector<TileManager::PairedPictureLayer> paired_layers; | 771 std::vector<TileManager::PairedPictureLayer> paired_layers; |
764 tile_manager->GetPairedPictureLayers(&paired_layers); | 772 tile_manager->GetPairedPictureLayers(&paired_layers); |
765 | 773 |
766 EXPECT_EQ(2u, paired_layers.size()); | 774 EXPECT_EQ(2u, paired_layers.size()); |
767 if (paired_layers[0].active_layer) { | 775 if (paired_layers[0].active_layer) { |
768 EXPECT_EQ(active_layer.get(), paired_layers[0].active_layer); | 776 EXPECT_EQ(active_layer.get(), paired_layers[0].active_layer); |
769 EXPECT_EQ(NULL, paired_layers[0].pending_layer); | 777 EXPECT_EQ(NULL, paired_layers[0].pending_layer); |
770 } else { | 778 } else { |
771 EXPECT_EQ(pending_layer.get(), paired_layers[0].pending_layer); | 779 EXPECT_EQ(pending_layer.get(), paired_layers[0].pending_layer); |
(...skipping 10 matching lines...) Expand all Loading... | |
782 | 790 |
783 active_layer->set_twin_layer(pending_layer.get()); | 791 active_layer->set_twin_layer(pending_layer.get()); |
784 pending_layer->set_twin_layer(active_layer.get()); | 792 pending_layer->set_twin_layer(active_layer.get()); |
785 | 793 |
786 tile_manager->GetPairedPictureLayers(&paired_layers); | 794 tile_manager->GetPairedPictureLayers(&paired_layers); |
787 EXPECT_EQ(1u, paired_layers.size()); | 795 EXPECT_EQ(1u, paired_layers.size()); |
788 | 796 |
789 EXPECT_EQ(active_layer.get(), paired_layers[0].active_layer); | 797 EXPECT_EQ(active_layer.get(), paired_layers[0].active_layer); |
790 EXPECT_EQ(pending_layer.get(), paired_layers[0].pending_layer); | 798 EXPECT_EQ(pending_layer.get(), paired_layers[0].pending_layer); |
791 | 799 |
792 tile_manager->UnregisterPictureLayerImpl(active_layer.get()); | 800 picture_layers_.clear(); |
vmpstr
2014/06/05 22:38:02
Do you need this?
reveman
2014/06/06 17:27:24
Nope. Done.
| |
793 tile_manager->UnregisterPictureLayerImpl(pending_layer.get()); | |
794 } | 801 } |
795 | 802 |
796 TEST_F(TileManagerTileIteratorTest, RasterTileIterator) { | 803 TEST_F(TileManagerTileIteratorTest, RasterTileIterator) { |
797 SetupDefaultTrees(gfx::Size(1000, 1000)); | 804 SetupDefaultTrees(gfx::Size(1000, 1000)); |
798 TileManager* tile_manager = TileManagerTileIteratorTest::tile_manager(); | 805 TileManager* tile_manager = TileManagerTileIteratorTest::tile_manager(); |
799 EXPECT_TRUE(tile_manager); | 806 EXPECT_TRUE(tile_manager); |
800 | 807 |
801 active_layer_->CreateDefaultTilingsAndTiles(); | 808 active_layer_->CreateDefaultTilingsAndTiles(); |
802 pending_layer_->CreateDefaultTilingsAndTiles(); | 809 pending_layer_->CreateDefaultTilingsAndTiles(); |
803 | 810 |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1111 | 1118 |
1112 last_tile = tile; | 1119 last_tile = tile; |
1113 new_content_tiles.insert(tile); | 1120 new_content_tiles.insert(tile); |
1114 } | 1121 } |
1115 | 1122 |
1116 EXPECT_EQ(tile_count, new_content_tiles.size()); | 1123 EXPECT_EQ(tile_count, new_content_tiles.size()); |
1117 EXPECT_EQ(all_tiles, new_content_tiles); | 1124 EXPECT_EQ(all_tiles, new_content_tiles); |
1118 } | 1125 } |
1119 } // namespace | 1126 } // namespace |
1120 } // namespace cc | 1127 } // namespace cc |
OLD | NEW |