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

Side by Side Diff: cc/playback/recording_source_unittest.cc

Issue 2629233002: cc: Remove separate x/y raster scales. (Closed)
Patch Set: Created 3 years, 11 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/playback/raster_source_unittest.cc ('k') | cc/raster/bitmap_raster_buffer_provider.cc » ('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 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 "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "cc/base/region.h" 8 #include "cc/base/region.h"
9 #include "cc/playback/raster_source.h" 9 #include "cc/playback/raster_source.h"
10 #include "cc/test/fake_client_picture_cache.h" 10 #include "cc/test/fake_client_picture_cache.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 recording_source->Rerecord(); 71 recording_source->Rerecord();
72 72
73 bool can_use_lcd_text = true; 73 bool can_use_lcd_text = true;
74 scoped_refptr<RasterSource> raster_source = 74 scoped_refptr<RasterSource> raster_source =
75 RasterSource::CreateFromRecordingSource(recording_source.get(), 75 RasterSource::CreateFromRecordingSource(recording_source.get(),
76 can_use_lcd_text); 76 can_use_lcd_text);
77 77
78 // Tile sized iterators. These should find only one pixel ref. 78 // Tile sized iterators. These should find only one pixel ref.
79 { 79 {
80 std::vector<DrawImage> images; 80 std::vector<DrawImage> images;
81 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 81 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 1.f,
82 gfx::SizeF(1.f, 1.f), &images); 82 &images);
83 EXPECT_EQ(2u, images.size()); 83 EXPECT_EQ(2u, images.size());
84 EXPECT_TRUE(images[0].image() == discardable_image[0][0]); 84 EXPECT_TRUE(images[0].image() == discardable_image[0][0]);
85 EXPECT_TRUE(images[1].image() == discardable_image[1][1]); 85 EXPECT_TRUE(images[1].image() == discardable_image[1][1]);
86 } 86 }
87 87
88 // Shifted tile sized iterators. These should find only one pixel ref. 88 // Shifted tile sized iterators. These should find only one pixel ref.
89 { 89 {
90 std::vector<DrawImage> images; 90 std::vector<DrawImage> images;
91 raster_source->GetDiscardableImagesInRect(gfx::Rect(130, 140, 128, 128), 91 raster_source->GetDiscardableImagesInRect(gfx::Rect(130, 140, 128, 128),
92 gfx::SizeF(1.f, 1.f), &images); 92 1.f, &images);
93 EXPECT_EQ(1u, images.size()); 93 EXPECT_EQ(1u, images.size());
94 EXPECT_TRUE(images[0].image() == discardable_image[1][1]); 94 EXPECT_TRUE(images[0].image() == discardable_image[1][1]);
95 } 95 }
96 96
97 // The rotated bitmap would still be in the top right tile. 97 // The rotated bitmap would still be in the top right tile.
98 { 98 {
99 std::vector<DrawImage> images; 99 std::vector<DrawImage> images;
100 raster_source->GetDiscardableImagesInRect(gfx::Rect(130, 0, 128, 128), 100 raster_source->GetDiscardableImagesInRect(gfx::Rect(130, 0, 128, 128), 1.f,
101 gfx::SizeF(1.f, 1.f), &images); 101 &images);
102 EXPECT_EQ(1u, images.size()); 102 EXPECT_EQ(1u, images.size());
103 EXPECT_TRUE(images[0].image() == discardable_image[1][1]); 103 EXPECT_TRUE(images[0].image() == discardable_image[1][1]);
104 } 104 }
105 105
106 // Layer sized iterators. These should find all pixel refs. 106 // Layer sized iterators. These should find all pixel refs.
107 { 107 {
108 std::vector<DrawImage> images; 108 std::vector<DrawImage> images;
109 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 109 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 1.f,
110 gfx::SizeF(1.f, 1.f), &images); 110 &images);
111 EXPECT_EQ(3u, images.size()); 111 EXPECT_EQ(3u, images.size());
112 // Top left tile with bitmap[0][0] and bitmap[1][1]. 112 // Top left tile with bitmap[0][0] and bitmap[1][1].
113 EXPECT_TRUE(images[0].image() == discardable_image[0][0]); 113 EXPECT_TRUE(images[0].image() == discardable_image[0][0]);
114 EXPECT_TRUE(images[1].image() == discardable_image[1][0]); 114 EXPECT_TRUE(images[1].image() == discardable_image[1][0]);
115 EXPECT_TRUE(images[2].image() == discardable_image[1][1]); 115 EXPECT_TRUE(images[2].image() == discardable_image[1][1]);
116 } 116 }
117 117
118 // Verify different raster scales 118 // Verify different raster scales
119 for (float x_scale = 1.f; x_scale <= 5.f; x_scale += 0.5f) { 119 for (float scale = 1.f; scale <= 5.f; scale += 0.5f) {
120 for (float y_scale = 1.f; y_scale <= 5.f; y_scale += 0.5f) { 120 std::vector<DrawImage> images;
121 std::vector<DrawImage> images; 121 raster_source->GetDiscardableImagesInRect(gfx::Rect(130, 0, 128, 128),
122 raster_source->GetDiscardableImagesInRect( 122 scale, &images);
123 gfx::Rect(130, 0, 128, 128), gfx::SizeF(x_scale, y_scale), &images); 123 EXPECT_EQ(1u, images.size());
124 EXPECT_EQ(1u, images.size()); 124 EXPECT_FLOAT_EQ(scale, images[0].scale().width());
125 EXPECT_FLOAT_EQ(x_scale, images[0].scale().width()); 125 EXPECT_FLOAT_EQ(scale, images[0].scale().height());
126 EXPECT_FLOAT_EQ(y_scale, images[0].scale().height());
127 }
128 } 126 }
129 } 127 }
130 128
131 TEST(RecordingSourceTest, NoGatherImageEmptyImages) { 129 TEST(RecordingSourceTest, NoGatherImageEmptyImages) {
132 gfx::Rect recorded_viewport(0, 0, 256, 256); 130 gfx::Rect recorded_viewport(0, 0, 256, 256);
133 131
134 std::unique_ptr<FakeRecordingSource> recording_source = 132 std::unique_ptr<FakeRecordingSource> recording_source =
135 CreateRecordingSource(recorded_viewport); 133 CreateRecordingSource(recorded_viewport);
136 recording_source->SetGenerateDiscardableImagesMetadata(false); 134 recording_source->SetGenerateDiscardableImagesMetadata(false);
137 recording_source->Rerecord(); 135 recording_source->Rerecord();
138 136
139 scoped_refptr<RasterSource> raster_source = 137 scoped_refptr<RasterSource> raster_source =
140 CreateRasterSource(recording_source.get()); 138 CreateRasterSource(recording_source.get());
141 139
142 // If recording source do not gather images, raster source is not going to 140 // If recording source do not gather images, raster source is not going to
143 // get images. 141 // get images.
144 { 142 {
145 std::vector<DrawImage> images; 143 std::vector<DrawImage> images;
146 raster_source->GetDiscardableImagesInRect(recorded_viewport, 144 raster_source->GetDiscardableImagesInRect(recorded_viewport, 1.f, &images);
147 gfx::SizeF(1.f, 1.f), &images);
148 EXPECT_TRUE(images.empty()); 145 EXPECT_TRUE(images.empty());
149 } 146 }
150 } 147 }
151 148
152 TEST(RecordingSourceTest, EmptyImages) { 149 TEST(RecordingSourceTest, EmptyImages) {
153 gfx::Rect recorded_viewport(0, 0, 256, 256); 150 gfx::Rect recorded_viewport(0, 0, 256, 256);
154 151
155 std::unique_ptr<FakeRecordingSource> recording_source = 152 std::unique_ptr<FakeRecordingSource> recording_source =
156 CreateRecordingSource(recorded_viewport); 153 CreateRecordingSource(recorded_viewport);
157 recording_source->SetGenerateDiscardableImagesMetadata(true); 154 recording_source->SetGenerateDiscardableImagesMetadata(true);
158 recording_source->Rerecord(); 155 recording_source->Rerecord();
159 156
160 scoped_refptr<RasterSource> raster_source = 157 scoped_refptr<RasterSource> raster_source =
161 CreateRasterSource(recording_source.get()); 158 CreateRasterSource(recording_source.get());
162 159
163 // Tile sized iterators. 160 // Tile sized iterators.
164 { 161 {
165 std::vector<DrawImage> images; 162 std::vector<DrawImage> images;
166 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 163 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 1.f,
167 gfx::SizeF(1.f, 1.f), &images); 164 &images);
168 EXPECT_TRUE(images.empty()); 165 EXPECT_TRUE(images.empty());
169 } 166 }
170 // Shifted tile sized iterators. 167 // Shifted tile sized iterators.
171 { 168 {
172 std::vector<DrawImage> images; 169 std::vector<DrawImage> images;
173 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 140, 128, 128), 170 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 140, 128, 128),
174 gfx::SizeF(1.f, 1.f), &images); 171 1.f, &images);
175 EXPECT_TRUE(images.empty()); 172 EXPECT_TRUE(images.empty());
176 } 173 }
177 // Layer sized iterators. 174 // Layer sized iterators.
178 { 175 {
179 std::vector<DrawImage> images; 176 std::vector<DrawImage> images;
180 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 177 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 1.f,
181 gfx::SizeF(1.f, 1.f), &images); 178 &images);
182 EXPECT_TRUE(images.empty()); 179 EXPECT_TRUE(images.empty());
183 } 180 }
184 } 181 }
185 182
186 TEST(RecordingSourceTest, NoDiscardableImages) { 183 TEST(RecordingSourceTest, NoDiscardableImages) {
187 gfx::Rect recorded_viewport(0, 0, 256, 256); 184 gfx::Rect recorded_viewport(0, 0, 256, 256);
188 185
189 std::unique_ptr<FakeRecordingSource> recording_source = 186 std::unique_ptr<FakeRecordingSource> recording_source =
190 CreateRecordingSource(recorded_viewport); 187 CreateRecordingSource(recorded_viewport);
191 188
(...skipping 19 matching lines...) Expand all
211 recording_source->add_draw_image(non_discardable_image, gfx::Point(150, 150)); 208 recording_source->add_draw_image(non_discardable_image, gfx::Point(150, 150));
212 recording_source->SetGenerateDiscardableImagesMetadata(true); 209 recording_source->SetGenerateDiscardableImagesMetadata(true);
213 recording_source->Rerecord(); 210 recording_source->Rerecord();
214 211
215 scoped_refptr<RasterSource> raster_source = 212 scoped_refptr<RasterSource> raster_source =
216 CreateRasterSource(recording_source.get()); 213 CreateRasterSource(recording_source.get());
217 214
218 // Tile sized iterators. 215 // Tile sized iterators.
219 { 216 {
220 std::vector<DrawImage> images; 217 std::vector<DrawImage> images;
221 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 218 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 1.f,
222 gfx::SizeF(1.f, 1.f), &images); 219 &images);
223 EXPECT_TRUE(images.empty()); 220 EXPECT_TRUE(images.empty());
224 } 221 }
225 // Shifted tile sized iterators. 222 // Shifted tile sized iterators.
226 { 223 {
227 std::vector<DrawImage> images; 224 std::vector<DrawImage> images;
228 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 140, 128, 128), 225 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 140, 128, 128),
229 gfx::SizeF(1.f, 1.f), &images); 226 1.f, &images);
230 EXPECT_TRUE(images.empty()); 227 EXPECT_TRUE(images.empty());
231 } 228 }
232 // Layer sized iterators. 229 // Layer sized iterators.
233 { 230 {
234 std::vector<DrawImage> images; 231 std::vector<DrawImage> images;
235 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 232 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 1.f,
236 gfx::SizeF(1.f, 1.f), &images); 233 &images);
237 EXPECT_TRUE(images.empty()); 234 EXPECT_TRUE(images.empty());
238 } 235 }
239 } 236 }
240 237
241 TEST(RecordingSourceTest, DiscardableImages) { 238 TEST(RecordingSourceTest, DiscardableImages) {
242 gfx::Rect recorded_viewport(0, 0, 256, 256); 239 gfx::Rect recorded_viewport(0, 0, 256, 256);
243 240
244 std::unique_ptr<FakeRecordingSource> recording_source = 241 std::unique_ptr<FakeRecordingSource> recording_source =
245 CreateRecordingSource(recorded_viewport); 242 CreateRecordingSource(recorded_viewport);
246 243
(...skipping 14 matching lines...) Expand all
261 gfx::Point(140, 140)); 258 gfx::Point(140, 140));
262 recording_source->SetGenerateDiscardableImagesMetadata(true); 259 recording_source->SetGenerateDiscardableImagesMetadata(true);
263 recording_source->Rerecord(); 260 recording_source->Rerecord();
264 261
265 scoped_refptr<RasterSource> raster_source = 262 scoped_refptr<RasterSource> raster_source =
266 CreateRasterSource(recording_source.get()); 263 CreateRasterSource(recording_source.get());
267 264
268 // Tile sized iterators. These should find only one image. 265 // Tile sized iterators. These should find only one image.
269 { 266 {
270 std::vector<DrawImage> images; 267 std::vector<DrawImage> images;
271 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 268 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 128, 128), 1.f,
272 gfx::SizeF(1.f, 1.f), &images); 269 &images);
273 EXPECT_EQ(1u, images.size()); 270 EXPECT_EQ(1u, images.size());
274 EXPECT_TRUE(images[0].image() == discardable_image[0][0]); 271 EXPECT_TRUE(images[0].image() == discardable_image[0][0]);
275 } 272 }
276 273
277 // Shifted tile sized iterators. These should find only one image. 274 // Shifted tile sized iterators. These should find only one image.
278 { 275 {
279 std::vector<DrawImage> images; 276 std::vector<DrawImage> images;
280 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 140, 128, 128), 277 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 140, 128, 128),
281 gfx::SizeF(1.f, 1.f), &images); 278 1.f, &images);
282 EXPECT_EQ(1u, images.size()); 279 EXPECT_EQ(1u, images.size());
283 EXPECT_TRUE(images[0].image() == discardable_image[1][1]); 280 EXPECT_TRUE(images[0].image() == discardable_image[1][1]);
284 } 281 }
285 282
286 // Ensure there's no discardable images in the empty cell 283 // Ensure there's no discardable images in the empty cell
287 { 284 {
288 std::vector<DrawImage> images; 285 std::vector<DrawImage> images;
289 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 0, 128, 128), 286 raster_source->GetDiscardableImagesInRect(gfx::Rect(140, 0, 128, 128), 1.f,
290 gfx::SizeF(1.f, 1.f), &images); 287 &images);
291 EXPECT_TRUE(images.empty()); 288 EXPECT_TRUE(images.empty());
292 } 289 }
293 290
294 // Layer sized iterators. These should find all 3 images. 291 // Layer sized iterators. These should find all 3 images.
295 { 292 {
296 std::vector<DrawImage> images; 293 std::vector<DrawImage> images;
297 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 294 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 1.f,
298 gfx::SizeF(1.f, 1.f), &images); 295 &images);
299 EXPECT_EQ(3u, images.size()); 296 EXPECT_EQ(3u, images.size());
300 EXPECT_TRUE(images[0].image() == discardable_image[0][0]); 297 EXPECT_TRUE(images[0].image() == discardable_image[0][0]);
301 EXPECT_TRUE(images[1].image() == discardable_image[1][0]); 298 EXPECT_TRUE(images[1].image() == discardable_image[1][0]);
302 EXPECT_TRUE(images[2].image() == discardable_image[1][1]); 299 EXPECT_TRUE(images[2].image() == discardable_image[1][1]);
303 } 300 }
304 } 301 }
305 302
306 TEST(RecordingSourceTest, DiscardableImagesBaseNonDiscardable) { 303 TEST(RecordingSourceTest, DiscardableImagesBaseNonDiscardable) {
307 gfx::Rect recorded_viewport(0, 0, 512, 512); 304 gfx::Rect recorded_viewport(0, 0, 512, 512);
308 305
(...skipping 25 matching lines...) Expand all
334 gfx::Point(260, 260)); 331 gfx::Point(260, 260));
335 recording_source->SetGenerateDiscardableImagesMetadata(true); 332 recording_source->SetGenerateDiscardableImagesMetadata(true);
336 recording_source->Rerecord(); 333 recording_source->Rerecord();
337 334
338 scoped_refptr<RasterSource> raster_source = 335 scoped_refptr<RasterSource> raster_source =
339 CreateRasterSource(recording_source.get()); 336 CreateRasterSource(recording_source.get());
340 337
341 // Tile sized iterators. These should find only one image. 338 // Tile sized iterators. These should find only one image.
342 { 339 {
343 std::vector<DrawImage> images; 340 std::vector<DrawImage> images;
344 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 341 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 256, 256), 1.f,
345 gfx::SizeF(1.f, 1.f), &images); 342 &images);
346 EXPECT_EQ(1u, images.size()); 343 EXPECT_EQ(1u, images.size());
347 EXPECT_TRUE(images[0].image() == discardable_image[0][0]); 344 EXPECT_TRUE(images[0].image() == discardable_image[0][0]);
348 } 345 }
349 // Shifted tile sized iterators. These should find only one image. 346 // Shifted tile sized iterators. These should find only one image.
350 { 347 {
351 std::vector<DrawImage> images; 348 std::vector<DrawImage> images;
352 raster_source->GetDiscardableImagesInRect(gfx::Rect(260, 260, 256, 256), 349 raster_source->GetDiscardableImagesInRect(gfx::Rect(260, 260, 256, 256),
353 gfx::SizeF(1.f, 1.f), &images); 350 1.f, &images);
354 EXPECT_EQ(1u, images.size()); 351 EXPECT_EQ(1u, images.size());
355 EXPECT_TRUE(images[0].image() == discardable_image[1][1]); 352 EXPECT_TRUE(images[0].image() == discardable_image[1][1]);
356 } 353 }
357 // Ensure there's no discardable images in the empty cell 354 // Ensure there's no discardable images in the empty cell
358 { 355 {
359 std::vector<DrawImage> images; 356 std::vector<DrawImage> images;
360 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 256, 256, 256), 357 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 256, 256, 256), 1.f,
361 gfx::SizeF(1.f, 1.f), &images); 358 &images);
362 EXPECT_TRUE(images.empty()); 359 EXPECT_TRUE(images.empty());
363 } 360 }
364 // Layer sized iterators. These should find three images. 361 // Layer sized iterators. These should find three images.
365 { 362 {
366 std::vector<DrawImage> images; 363 std::vector<DrawImage> images;
367 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 512, 512), 364 raster_source->GetDiscardableImagesInRect(gfx::Rect(0, 0, 512, 512), 1.f,
368 gfx::SizeF(1.f, 1.f), &images); 365 &images);
369 EXPECT_EQ(3u, images.size()); 366 EXPECT_EQ(3u, images.size());
370 EXPECT_TRUE(images[0].image() == discardable_image[0][0]); 367 EXPECT_TRUE(images[0].image() == discardable_image[0][0]);
371 EXPECT_TRUE(images[1].image() == discardable_image[0][1]); 368 EXPECT_TRUE(images[1].image() == discardable_image[0][1]);
372 EXPECT_TRUE(images[2].image() == discardable_image[1][1]); 369 EXPECT_TRUE(images[2].image() == discardable_image[1][1]);
373 } 370 }
374 } 371 }
375 372
376 } // namespace 373 } // namespace
377 } // namespace cc 374 } // namespace cc
OLDNEW
« no previous file with comments | « cc/playback/raster_source_unittest.cc ('k') | cc/raster/bitmap_raster_buffer_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698