| Index: chrome/renderer/chrome_render_frame_observer.cc
|
| diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/chrome_render_frame_observer.cc
|
| index c27edeb7db40e0e5b623902abd17edb6f2599e41..ed9440f5ed1d3c62447d395202a8c20769a4127d 100644
|
| --- a/chrome/renderer/chrome_render_frame_observer.cc
|
| +++ b/chrome/renderer/chrome_render_frame_observer.cc
|
| @@ -203,10 +203,14 @@ void ChromeRenderFrameObserver::RequestThumbnailForContextNode(
|
| }
|
|
|
| SkBitmap bitmap;
|
| - if (thumbnail.colorType() == kN32_SkColorType)
|
| + if (thumbnail.colorType() == kN32_SkColorType) {
|
| bitmap = thumbnail;
|
| - else
|
| - thumbnail.copyTo(&bitmap, kN32_SkColorType);
|
| + } else {
|
| + SkImageInfo info = thumbnail.info().makeColorType(kN32_SkColorType);
|
| + if (bitmap.tryAllocPixels(info)) {
|
| + thumbnail.readPixels(info, bitmap.getPixels(), bitmap.rowBytes(), 0, 0);
|
| + }
|
| + }
|
|
|
| std::vector<uint8_t> thumbnail_data;
|
| if (bitmap.getPixels()) {
|
|
|