| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "cc/layers/picture_layer.h" | 9 #include "cc/layers/picture_layer.h" |
| 10 #include "cc/test/fake_content_layer_client.h" | 10 #include "cc/test/fake_content_layer_client.h" |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 | 226 |
| 227 host_impl_.active_tree()->SetPageScaleFactorAndLimits(1.f, 1.f, 1.f); | 227 host_impl_.active_tree()->SetPageScaleFactorAndLimits(1.f, 1.f, 1.f); |
| 228 float result_scale_x, result_scale_y; | 228 float result_scale_x, result_scale_y; |
| 229 gfx::Size result_bounds; | 229 gfx::Size result_bounds; |
| 230 active_layer_->CalculateContentsScale( | 230 active_layer_->CalculateContentsScale( |
| 231 1.f, false, &result_scale_x, &result_scale_y, &result_bounds); | 231 1.f, false, &result_scale_x, &result_scale_y, &result_bounds); |
| 232 | 232 |
| 233 // Add 1x1 rects at the centers of each tile, then re-record pile contents | 233 // Add 1x1 rects at the centers of each tile, then re-record pile contents |
| 234 std::vector<Tile*> tiles = | 234 std::vector<Tile*> tiles = |
| 235 active_layer_->tilings().tiling_at(0)->AllTilesForTesting(); | 235 active_layer_->tilings().tiling_at(0)->AllTilesForTesting(); |
| 236 EXPECT_EQ(16, tiles.size()); | 236 EXPECT_EQ(16u, tiles.size()); |
| 237 std::vector<SkRect> rects; | 237 std::vector<SkRect> rects; |
| 238 std::vector<Tile*>::const_iterator tile_iter; | 238 std::vector<Tile*>::const_iterator tile_iter; |
| 239 for (tile_iter = tiles.begin(); tile_iter < tiles.end(); tile_iter++) { | 239 for (tile_iter = tiles.begin(); tile_iter < tiles.end(); tile_iter++) { |
| 240 gfx::Point tile_center = (*tile_iter)->content_rect().CenterPoint(); | 240 gfx::Point tile_center = (*tile_iter)->content_rect().CenterPoint(); |
| 241 gfx::Rect rect(tile_center.x(), tile_center.y(), 1, 1); | 241 gfx::Rect rect(tile_center.x(), tile_center.y(), 1, 1); |
| 242 active_pile->add_draw_rect(rect); | 242 active_pile->add_draw_rect(rect); |
| 243 rects.push_back(SkRect::MakeXYWH(rect.x(), rect.y(), 1, 1)); | 243 rects.push_back(SkRect::MakeXYWH(rect.x(), rect.y(), 1, 1)); |
| 244 } | 244 } |
| 245 // Force re-record with newly injected content | 245 // Force re-record with newly injected content |
| 246 active_pile->RemoveRecordingAt(0, 0); | 246 active_pile->RemoveRecordingAt(0, 0); |
| 247 active_pile->AddRecordingAt(0, 0); | 247 active_pile->AddRecordingAt(0, 0); |
| 248 | 248 |
| 249 SkBitmap store; | 249 SkBitmap store; |
| 250 store.setConfig(SkBitmap::kNo_Config, 1000, 1000); | 250 store.setConfig(SkBitmap::kNo_Config, 1000, 1000); |
| 251 SkDevice device(store); | 251 SkDevice device(store); |
| 252 | 252 |
| 253 std::vector<SkRect>::const_iterator rect_iter = rects.begin(); | 253 std::vector<SkRect>::const_iterator rect_iter = rects.begin(); |
| 254 for (tile_iter = tiles.begin(); tile_iter < tiles.end(); tile_iter++) { | 254 for (tile_iter = tiles.begin(); tile_iter < tiles.end(); tile_iter++) { |
| 255 MockCanvas mock_canvas(&device); | 255 MockCanvas mock_canvas(&device); |
| 256 active_pile->Raster(&mock_canvas, (*tile_iter)->content_rect(), 1.0f); | 256 active_pile->Raster(&mock_canvas, (*tile_iter)->content_rect(), 1.0f); |
| 257 | 257 |
| 258 // This test verifies that when drawing the contents of a specific tile | 258 // This test verifies that when drawing the contents of a specific tile |
| 259 // at content scale 1.0, the playback canvas never receives content from | 259 // at content scale 1.0, the playback canvas never receives content from |
| 260 // neighboring tiles which indicates that the tile grid embedded in | 260 // neighboring tiles which indicates that the tile grid embedded in |
| 261 // SkPicture is perfectly aligned with the compositor's tiles. | 261 // SkPicture is perfectly aligned with the compositor's tiles. |
| 262 // Note: There are two rects: the initial clear and the explicitly | 262 // Note: There are two rects: the initial clear and the explicitly |
| 263 // recorded rect. We only care about the second one. | 263 // recorded rect. We only care about the second one. |
| 264 EXPECT_EQ(2, mock_canvas.rects_.size()); | 264 EXPECT_EQ(2u, mock_canvas.rects_.size()); |
| 265 EXPECT_EQ(*rect_iter, mock_canvas.rects_[1]); | 265 EXPECT_EQ(*rect_iter, mock_canvas.rects_[1]); |
| 266 rect_iter++; | 266 rect_iter++; |
| 267 } | 267 } |
| 268 } | 268 } |
| 269 | 269 |
| 270 FakeImplProxy proxy_; | 270 FakeImplProxy proxy_; |
| 271 FakeLayerTreeHostImpl host_impl_; | 271 FakeLayerTreeHostImpl host_impl_; |
| 272 int id_; | 272 int id_; |
| 273 TestablePictureLayerImpl* pending_layer_; | 273 TestablePictureLayerImpl* pending_layer_; |
| 274 TestablePictureLayerImpl* active_layer_; | 274 TestablePictureLayerImpl* active_layer_; |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 687 used_tilings.push_back(active_layer_->tilings().tiling_at(1)); | 687 used_tilings.push_back(active_layer_->tilings().tiling_at(1)); |
| 688 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); | 688 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); |
| 689 ASSERT_EQ(3u, active_layer_->tilings().num_tilings()); | 689 ASSERT_EQ(3u, active_layer_->tilings().num_tilings()); |
| 690 used_tilings.clear(); | 690 used_tilings.clear(); |
| 691 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); | 691 active_layer_->CleanUpTilingsOnActiveLayer(used_tilings); |
| 692 ASSERT_EQ(2u, active_layer_->tilings().num_tilings()); | 692 ASSERT_EQ(2u, active_layer_->tilings().num_tilings()); |
| 693 } | 693 } |
| 694 | 694 |
| 695 } // namespace | 695 } // namespace |
| 696 } // namespace cc | 696 } // namespace cc |
| OLD | NEW |