| 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/layers/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 std::vector<SkRect> rects_; | 46 std::vector<SkRect> rects_; |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 class PictureLayerImplTest : public testing::Test { | 49 class PictureLayerImplTest : public testing::Test { |
| 50 public: | 50 public: |
| 51 PictureLayerImplTest() | 51 PictureLayerImplTest() |
| 52 : proxy_(base::MessageLoopProxy::current()), | 52 : proxy_(base::MessageLoopProxy::current()), |
| 53 host_impl_(ImplSidePaintingSettings(), | 53 host_impl_(ImplSidePaintingSettings(), |
| 54 &proxy_, | 54 &proxy_, |
| 55 &shared_bitmap_manager_), | 55 &shared_bitmap_manager_), |
| 56 id_(7) {} | 56 id_(7), |
| 57 pending_layer_(NULL), |
| 58 old_pending_layer_(NULL), |
| 59 active_layer_(NULL) {} |
| 57 | 60 |
| 58 explicit PictureLayerImplTest(const LayerTreeSettings& settings) | 61 explicit PictureLayerImplTest(const LayerTreeSettings& settings) |
| 59 : proxy_(base::MessageLoopProxy::current()), | 62 : proxy_(base::MessageLoopProxy::current()), |
| 60 host_impl_(settings, &proxy_, &shared_bitmap_manager_), | 63 host_impl_(settings, &proxy_, &shared_bitmap_manager_), |
| 61 id_(7) {} | 64 id_(7) {} |
| 62 | 65 |
| 63 virtual ~PictureLayerImplTest() { | 66 virtual ~PictureLayerImplTest() { |
| 64 } | 67 } |
| 65 | 68 |
| 66 virtual void SetUp() OVERRIDE { | 69 virtual void SetUp() OVERRIDE { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 79 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 82 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
| 80 scoped_refptr<FakePicturePileImpl> active_pile = | 83 scoped_refptr<FakePicturePileImpl> active_pile = |
| 81 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); | 84 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
| 82 | 85 |
| 83 SetupTrees(pending_pile, active_pile); | 86 SetupTrees(pending_pile, active_pile); |
| 84 } | 87 } |
| 85 | 88 |
| 86 void ActivateTree() { | 89 void ActivateTree() { |
| 87 host_impl_.ActivateSyncTree(); | 90 host_impl_.ActivateSyncTree(); |
| 88 CHECK(!host_impl_.pending_tree()); | 91 CHECK(!host_impl_.pending_tree()); |
| 92 CHECK(host_impl_.recycle_tree()); |
| 93 old_pending_layer_ = pending_layer_; |
| 89 pending_layer_ = NULL; | 94 pending_layer_ = NULL; |
| 90 active_layer_ = static_cast<FakePictureLayerImpl*>( | 95 active_layer_ = static_cast<FakePictureLayerImpl*>( |
| 91 host_impl_.active_tree()->LayerById(id_)); | 96 host_impl_.active_tree()->LayerById(id_)); |
| 92 } | 97 } |
| 93 | 98 |
| 94 void SetupDefaultTreesWithFixedTileSize(const gfx::Size& layer_bounds, | 99 void SetupDefaultTreesWithFixedTileSize(const gfx::Size& layer_bounds, |
| 95 const gfx::Size& tile_size) { | 100 const gfx::Size& tile_size) { |
| 96 SetupDefaultTrees(layer_bounds); | 101 SetupDefaultTrees(layer_bounds); |
| 97 pending_layer_->set_fixed_tile_size(tile_size); | 102 pending_layer_->set_fixed_tile_size(tile_size); |
| 98 active_layer_->set_fixed_tile_size(tile_size); | 103 active_layer_->set_fixed_tile_size(tile_size); |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 EXPECT_RECT_EQ(*rect_iter, mock_canvas.rects_[0]); | 264 EXPECT_RECT_EQ(*rect_iter, mock_canvas.rects_[0]); |
| 260 rect_iter++; | 265 rect_iter++; |
| 261 } | 266 } |
| 262 } | 267 } |
| 263 | 268 |
| 264 FakeImplProxy proxy_; | 269 FakeImplProxy proxy_; |
| 265 TestSharedBitmapManager shared_bitmap_manager_; | 270 TestSharedBitmapManager shared_bitmap_manager_; |
| 266 FakeLayerTreeHostImpl host_impl_; | 271 FakeLayerTreeHostImpl host_impl_; |
| 267 int id_; | 272 int id_; |
| 268 FakePictureLayerImpl* pending_layer_; | 273 FakePictureLayerImpl* pending_layer_; |
| 274 FakePictureLayerImpl* old_pending_layer_; |
| 269 FakePictureLayerImpl* active_layer_; | 275 FakePictureLayerImpl* active_layer_; |
| 270 | 276 |
| 271 private: | 277 private: |
| 272 DISALLOW_COPY_AND_ASSIGN(PictureLayerImplTest); | 278 DISALLOW_COPY_AND_ASSIGN(PictureLayerImplTest); |
| 273 }; | 279 }; |
| 274 | 280 |
| 275 TEST_F(PictureLayerImplTest, TileGridAlignment) { | 281 TEST_F(PictureLayerImplTest, TileGridAlignment) { |
| 276 host_impl_.SetDeviceScaleFactor(1.f); | 282 host_impl_.SetDeviceScaleFactor(1.f); |
| 277 TestTileGridAlignmentCommon(); | 283 TestTileGridAlignmentCommon(); |
| 278 } | 284 } |
| (...skipping 3859 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4138 std::copy(tiles.begin(), tiles.end(), std::back_inserter(all_tiles)); | 4144 std::copy(tiles.begin(), tiles.end(), std::back_inserter(all_tiles)); |
| 4139 } | 4145 } |
| 4140 | 4146 |
| 4141 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); | 4147 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); |
| 4142 | 4148 |
| 4143 VerifyEvictionConsidersOcclusion(pending_layer_, | 4149 VerifyEvictionConsidersOcclusion(pending_layer_, |
| 4144 total_expected_occluded_tile_count); | 4150 total_expected_occluded_tile_count); |
| 4145 VerifyEvictionConsidersOcclusion(active_layer_, | 4151 VerifyEvictionConsidersOcclusion(active_layer_, |
| 4146 total_expected_occluded_tile_count); | 4152 total_expected_occluded_tile_count); |
| 4147 } | 4153 } |
| 4154 |
| 4155 TEST_F(PictureLayerImplTest, RecycledTwinLayer) { |
| 4156 gfx::Size tile_size(102, 102); |
| 4157 gfx::Size layer_bounds(1000, 1000); |
| 4158 |
| 4159 scoped_refptr<FakePicturePileImpl> pile = |
| 4160 FakePicturePileImpl::CreateFilledPile(tile_size, layer_bounds); |
| 4161 SetupPendingTree(pile); |
| 4162 EXPECT_FALSE(pending_layer_->GetRecycledTwinLayer()); |
| 4163 |
| 4164 ActivateTree(); |
| 4165 EXPECT_TRUE(active_layer_->GetRecycledTwinLayer()); |
| 4166 EXPECT_EQ(old_pending_layer_, active_layer_->GetRecycledTwinLayer()); |
| 4167 |
| 4168 SetupPendingTree(pile); |
| 4169 EXPECT_FALSE(pending_layer_->GetRecycledTwinLayer()); |
| 4170 EXPECT_FALSE(active_layer_->GetRecycledTwinLayer()); |
| 4171 |
| 4172 ActivateTree(); |
| 4173 EXPECT_TRUE(active_layer_->GetRecycledTwinLayer()); |
| 4174 EXPECT_EQ(old_pending_layer_, active_layer_->GetRecycledTwinLayer()); |
| 4175 |
| 4176 host_impl_.ResetRecycleTreeForTesting(); |
| 4177 EXPECT_FALSE(active_layer_->GetRecycledTwinLayer()); |
| 4178 } |
| 4179 |
| 4148 } // namespace | 4180 } // namespace |
| 4149 } // namespace cc | 4181 } // namespace cc |
| OLD | NEW |