Index: components/test_runner/pixel_dump.cc |
diff --git a/components/test_runner/pixel_dump.cc b/components/test_runner/pixel_dump.cc |
index 67881c94b30008ab4e48d40cc36e9bd873e868de..508bda2ff0c455d33b361fcb2fd003c4f70a6750 100644 |
--- a/components/test_runner/pixel_dump.cc |
+++ b/components/test_runner/pixel_dump.cc |
@@ -12,6 +12,8 @@ |
#include "base/logging.h" |
#include "base/threading/thread_task_runner_handle.h" |
#include "base/trace_event/trace_event.h" |
+#include "cc/paint/paint_canvas.h" |
+#include "cc/paint/paint_flags.h" |
#include "components/test_runner/layout_test_runtime_flags.h" |
// FIXME: Including platform_canvas.h here is a layering violation. |
#include "skia/ext/platform_canvas.h" |
@@ -65,7 +67,7 @@ class CaptureCallback : public blink::WebCompositeAndReadbackAsyncCallback { |
}; |
void DrawSelectionRect(const PixelsDumpRequest& dump_request, |
- SkCanvas* canvas) { |
+ cc::PaintCanvas* canvas) { |
// See if we need to draw the selection bounds rect. Selection bounds |
// rect is the rect enclosing the (possibly transformed) selection. |
// The rect should be drawn after everything is laid out and painted. |
@@ -76,10 +78,10 @@ void DrawSelectionRect(const PixelsDumpRequest& dump_request, |
if (wr.isEmpty()) |
return; |
// Render a red rectangle bounding selection rect |
- SkPaint paint; |
+ cc::PaintFlags paint; |
paint.setColor(0xFFFF0000); // Fully opaque red |
- paint.setStyle(SkPaint::kStroke_Style); |
- paint.setFlags(SkPaint::kAntiAlias_Flag); |
+ paint.setStyle(cc::PaintFlags::kStroke_Style); |
+ paint.setAntiAlias(true); |
paint.setStrokeWidth(1.0f); |
SkIRect rect; // Bounding rect |
rect.set(wr.x, wr.y, wr.x + wr.width, wr.y + wr.height); |
@@ -96,19 +98,21 @@ void CapturePixelsForPrinting(std::unique_ptr<PixelsDumpRequest> dump_request) { |
int totalHeight = page_count * (page_size_in_pixels.height + 1) - 1; |
bool is_opaque = false; |
- std::unique_ptr<SkCanvas> canvas = skia::TryCreateBitmapCanvas( |
- page_size_in_pixels.width, totalHeight, is_opaque); |
- if (!canvas) { |
- LOG(ERROR) << "Failed to create canvas width=" |
- << page_size_in_pixels.width << " height=" << totalHeight; |
+ |
+ SkBitmap bitmap; |
+ if (!bitmap.tryAllocN32Pixels(page_size_in_pixels.width, totalHeight, |
+ is_opaque)) { |
+ LOG(ERROR) << "Failed to create bitmap width=" << page_size_in_pixels.width |
+ << " height=" << totalHeight; |
dump_request->callback.Run(SkBitmap()); |
return; |
} |
- web_frame->printPagesWithBoundaries(canvas.get(), page_size_in_pixels); |
+ |
+ cc::PaintCanvas canvas(bitmap); |
+ web_frame->printPagesWithBoundaries(&canvas, page_size_in_pixels); |
web_frame->printEnd(); |
- DrawSelectionRect(*dump_request, canvas.get()); |
- const SkBitmap bitmap = skia::ReadPixels(canvas.get()); |
+ DrawSelectionRect(*dump_request, &canvas); |
dump_request->callback.Run(bitmap); |
} |
@@ -138,7 +142,7 @@ void CaptureCallback::didCompositeAndReadback(const SkBitmap& bitmap) { |
void DidCapturePixelsAsync(std::unique_ptr<PixelsDumpRequest> dump_request, |
const SkBitmap& bitmap) { |
- SkCanvas canvas(bitmap); |
+ cc::PaintCanvas canvas(bitmap); |
DrawSelectionRect(*dump_request, &canvas); |
if (!dump_request->callback.is_null()) |
dump_request->callback.Run(bitmap); |