OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "cc/playback/display_list_raster_source.h" | 7 #include "cc/playback/display_list_raster_source.h" |
8 #include "cc/test/fake_display_list_recording_source.h" | 8 #include "cc/test/fake_display_list_recording_source.h" |
9 #include "cc/test/fake_picture_pile.h" | |
10 #include "cc/test/fake_picture_pile_impl.h" | |
11 #include "cc/test/skia_common.h" | 9 #include "cc/test/skia_common.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
13 | 11 |
14 namespace cc { | 12 namespace cc { |
15 namespace { | 13 namespace { |
16 | 14 |
17 template <class T> | 15 template <class T> |
18 scoped_ptr<T> CreateRecordingSource(const gfx::Rect& viewport, | 16 scoped_ptr<T> CreateRecordingSource(const gfx::Rect& viewport, |
danakj
2015/09/22 21:52:15
you can detemplatize this and have 1 function?
vmpstr
2015/09/22 22:57:49
Done.
| |
19 const gfx::Size& grid_cell_size); | 17 const gfx::Size& grid_cell_size); |
20 | 18 |
21 template <> | 19 template <> |
22 scoped_ptr<FakePicturePile> CreateRecordingSource<FakePicturePile>( | |
23 const gfx::Rect& viewport, | |
24 const gfx::Size& grid_cell_size) { | |
25 return FakePicturePile::CreateFilledPile(grid_cell_size, viewport.size()); | |
26 } | |
27 | |
28 template <> | |
29 scoped_ptr<FakeDisplayListRecordingSource> CreateRecordingSource< | 20 scoped_ptr<FakeDisplayListRecordingSource> CreateRecordingSource< |
30 FakeDisplayListRecordingSource>(const gfx::Rect& viewport, | 21 FakeDisplayListRecordingSource>(const gfx::Rect& viewport, |
31 const gfx::Size& grid_cell_size) { | 22 const gfx::Size& grid_cell_size) { |
32 gfx::Rect layer_rect(viewport.right(), viewport.bottom()); | 23 gfx::Rect layer_rect(viewport.right(), viewport.bottom()); |
33 scoped_ptr<FakeDisplayListRecordingSource> recording_source = | 24 scoped_ptr<FakeDisplayListRecordingSource> recording_source = |
34 FakeDisplayListRecordingSource::CreateRecordingSource(viewport, | 25 FakeDisplayListRecordingSource::CreateRecordingSource(viewport, |
35 layer_rect.size()); | 26 layer_rect.size()); |
36 recording_source->SetGridCellSize(grid_cell_size); | 27 recording_source->SetGridCellSize(grid_cell_size); |
37 | 28 |
38 return recording_source.Pass(); | 29 return recording_source.Pass(); |
39 } | 30 } |
40 | 31 |
41 template <class T> | 32 template <class T> |
42 scoped_refptr<RasterSource> CreateRasterSource(T* recording_source); | 33 scoped_refptr<RasterSource> CreateRasterSource(T* recording_source); |
danakj
2015/09/22 21:52:15
same?
vmpstr
2015/09/22 22:57:49
Done.
| |
43 | 34 |
44 template <> | 35 template <> |
45 scoped_refptr<RasterSource> CreateRasterSource( | 36 scoped_refptr<RasterSource> CreateRasterSource( |
46 FakePicturePile* recording_source) { | |
47 return FakePicturePileImpl::CreateFromPile(recording_source, nullptr); | |
48 } | |
49 | |
50 template <> | |
51 scoped_refptr<RasterSource> CreateRasterSource( | |
52 FakeDisplayListRecordingSource* recording_source) { | 37 FakeDisplayListRecordingSource* recording_source) { |
53 bool can_use_lcd_text = true; | 38 bool can_use_lcd_text = true; |
54 return DisplayListRasterSource::CreateFromDisplayListRecordingSource( | 39 return DisplayListRasterSource::CreateFromDisplayListRecordingSource( |
55 recording_source, can_use_lcd_text); | 40 recording_source, can_use_lcd_text); |
56 } | 41 } |
57 | 42 |
58 template <typename T> | 43 template <typename T> |
59 class RecordingSourceTest : public testing::Test {}; | 44 class RecordingSourceTest : public testing::Test {}; |
60 | 45 |
61 using testing::Types; | 46 using testing::Types; |
62 | 47 |
63 typedef Types<FakePicturePile, FakeDisplayListRecordingSource> | 48 typedef Types<FakeDisplayListRecordingSource> RecordingSourceImplementations; |
64 RecordingSourceImplementations; | |
65 | 49 |
66 TYPED_TEST_CASE(RecordingSourceTest, RecordingSourceImplementations); | 50 TYPED_TEST_CASE(RecordingSourceTest, RecordingSourceImplementations); |
danakj
2015/09/22 21:52:15
we don't need a TYPED_TEST_CASE anymore, and this
vmpstr
2015/09/22 22:57:49
Incorporated this into the existing display_list_r
| |
67 | 51 |
68 TYPED_TEST(RecordingSourceTest, NoGatherImageEmptyImages) { | 52 TYPED_TEST(RecordingSourceTest, NoGatherImageEmptyImages) { |
69 gfx::Size grid_cell_size(128, 128); | 53 gfx::Size grid_cell_size(128, 128); |
70 gfx::Rect recorded_viewport(0, 0, 256, 256); | 54 gfx::Rect recorded_viewport(0, 0, 256, 256); |
71 | 55 |
72 scoped_ptr<TypeParam> recording_source = | 56 scoped_ptr<TypeParam> recording_source = |
73 CreateRecordingSource<TypeParam>(recorded_viewport, grid_cell_size); | 57 CreateRecordingSource<TypeParam>(recorded_viewport, grid_cell_size); |
74 recording_source->SetGatherDiscardableImages(false); | 58 recording_source->SetGatherDiscardableImages(false); |
75 recording_source->Rerecord(); | 59 recording_source->Rerecord(); |
76 | 60 |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
329 gfx::SkRectToRectF(images[0].image_rect).ToString()); | 313 gfx::SkRectToRectF(images[0].image_rect).ToString()); |
330 EXPECT_EQ(gfx::RectF(260, 0, 128, 128).ToString(), | 314 EXPECT_EQ(gfx::RectF(260, 0, 128, 128).ToString(), |
331 gfx::SkRectToRectF(images[1].image_rect).ToString()); | 315 gfx::SkRectToRectF(images[1].image_rect).ToString()); |
332 EXPECT_EQ(gfx::RectF(260, 260, 128, 128).ToString(), | 316 EXPECT_EQ(gfx::RectF(260, 260, 128, 128).ToString(), |
333 gfx::SkRectToRectF(images[2].image_rect).ToString()); | 317 gfx::SkRectToRectF(images[2].image_rect).ToString()); |
334 } | 318 } |
335 } | 319 } |
336 | 320 |
337 } // namespace | 321 } // namespace |
338 } // namespace cc | 322 } // namespace cc |
OLD | NEW |