| Index: cc/test/pixel_test.cc
|
| diff --git a/cc/test/pixel_test.cc b/cc/test/pixel_test.cc
|
| index 2731c76dba0d08e365fc92fd1be2b9d718664857..6abb7968f5c466e644f006956ec68f36e6ae8e51 100644
|
| --- a/cc/test/pixel_test.cc
|
| +++ b/cc/test/pixel_test.cc
|
| @@ -92,6 +92,43 @@ bool PixelTest::RunPixelTestWithReadbackTargetAndArea(
|
| return PixelsMatchReference(ref_file, comparator);
|
| }
|
|
|
| +bool PixelTest::RunPixelTest(RenderPassList* pass_list,
|
| + std::vector<SkColor>* ref_pixels,
|
| + const PixelComparator& comparator) {
|
| + base::RunLoop run_loop;
|
| + RenderPass* target = pass_list->back().get();
|
| +
|
| + std::unique_ptr<CopyOutputRequest> request =
|
| + CopyOutputRequest::CreateBitmapRequest(
|
| + base::Bind(&PixelTest::ReadbackResult, base::Unretained(this),
|
| + run_loop.QuitClosure()));
|
| + target->copy_requests.push_back(std::move(request));
|
| +
|
| + if (software_renderer_) {
|
| + software_renderer_->SetDisablePictureQuadImageFiltering(
|
| + disable_picture_quad_image_filtering_);
|
| + }
|
| +
|
| + renderer_->DecideRenderPassAllocationsForFrame(*pass_list);
|
| + float device_scale_factor = 1.f;
|
| + renderer_->DrawFrame(pass_list, device_scale_factor, device_viewport_size_);
|
| +
|
| + // Wait for the readback to complete.
|
| + if (output_surface_->context_provider())
|
| + output_surface_->context_provider()->ContextGL()->Finish();
|
| + run_loop.Run();
|
| +
|
| + // Need to wrap |ref_pixels| in a SkBitmap.
|
| + DCHECK_EQ(ref_pixels->size(), static_cast<size_t>(result_bitmap_->width() *
|
| + result_bitmap_->height()));
|
| + SkBitmap ref_pixels_bitmap;
|
| + ref_pixels_bitmap.installPixels(
|
| + SkImageInfo::MakeN32Premul(result_bitmap_->width(),
|
| + result_bitmap_->height()),
|
| + ref_pixels->data(), result_bitmap_->width() * sizeof(SkColor));
|
| + return comparator.Compare(*result_bitmap_, ref_pixels_bitmap);
|
| +}
|
| +
|
| void PixelTest::ReadbackResult(base::Closure quit_run_loop,
|
| std::unique_ptr<CopyOutputResult> result) {
|
| ASSERT_TRUE(result->HasBitmap());
|
|
|