Index: content/renderer/pepper/pepper_plugin_instance_impl.cc |
diff --git a/content/renderer/pepper/pepper_plugin_instance_impl.cc b/content/renderer/pepper/pepper_plugin_instance_impl.cc |
index 592133d4f5756491bb5a4f73d0e54de432c56972..df7a58ab864664cede0609dce124770c812998a4 100644 |
--- a/content/renderer/pepper/pepper_plugin_instance_impl.cc |
+++ b/content/renderer/pepper/pepper_plugin_instance_impl.cc |
@@ -2808,7 +2808,9 @@ PP_Bool PepperPluginInstanceImpl::SetCursor(PP_Instance instance, |
SkBitmap bitmap(image_data->GetMappedBitmap()); |
// Make a deep copy, so that the cursor remains valid even after the original |
// image data gets freed. |
- if (!bitmap.copyTo(&custom_cursor->custom_image.GetSkBitmap())) { |
+ SkBitmap& dst = custom_cursor->custom_image.GetSkBitmap(); |
+ if (!dst.tryAllocPixels(bitmap.info()) || |
+ !bitmap.readPixels(dst.info(), dst.getPixels(), dst.rowBytes(), 0, 0)) { |
return PP_FALSE; |
} |