Index: chrome/browser/chromeos/login/screenshot_testing/SkPMetric.cpp |
diff --git a/chrome/browser/chromeos/login/screenshot_testing/SkPMetric.cpp b/chrome/browser/chromeos/login/screenshot_testing/SkPMetric.cpp |
index c551c5044c68105fffd690cb43c61dd402289101..acc684ba349d96fffa24d920e0dd4b32ef254974 100644 |
--- a/chrome/browser/chromeos/login/screenshot_testing/SkPMetric.cpp |
+++ b/chrome/browser/chromeos/login/screenshot_testing/SkPMetric.cpp |
@@ -128,7 +128,10 @@ static void adobergb_to_cielab(float r, float g, float b, LAB* lab) { |
static bool bitmap_to_cielab(const SkBitmap* bitmap, ImageLAB* outImageLAB) { |
SkBitmap bm8888; |
if (bitmap->colorType() != kN32_SkColorType) { |
- if (!bitmap->copyTo(&bm8888, kN32_SkColorType)) { |
+ SkImageInfo info8888 = bitmap->info().makeColorType(kN32_SkColorType); |
+ if (!bm8888.tryAllocPixels(info8888) || |
+ !bitmap->readPixels(info8888, bm8888.getPixels(), bm8888.rowBytes(), 0, |
+ 0)) { |
return false; |
} |
bitmap = &bm8888; |