23 lines
948 B
Diff
23 lines
948 B
Diff
diff --git a/ui/gfx/image/image_skia.cc b/ui/gfx/image/image_skia.cc
|
|
index be9d17a5c51b139456c378bb8f618295f969fbee..181c5897aeecca4487b6f3d5f027fa32db8831ef 100644
|
|
--- a/ui/gfx/image/image_skia.cc
|
|
+++ b/ui/gfx/image/image_skia.cc
|
|
@@ -51,10 +51,14 @@ ImageSkiaRep ScaleImageSkiaRep(const ImageSkiaRep& rep, float target_scale) {
|
|
|
|
gfx::Size scaled_size =
|
|
gfx::ScaleToCeiledSize(rep.pixel_size(), target_scale / rep.scale());
|
|
+ SkBitmap resized = skia::ImageOperations::Resize(
|
|
+ rep.GetBitmap(), skia::ImageOperations::RESIZE_LANCZOS3,
|
|
+ scaled_size.width(), scaled_size.height());
|
|
+ if (resized.drawsNothing()) {
|
|
+ return rep;
|
|
+ }
|
|
return ImageSkiaRep(
|
|
- skia::ImageOperations::Resize(rep.GetBitmap(),
|
|
- skia::ImageOperations::RESIZE_LANCZOS3,
|
|
- scaled_size.width(), scaled_size.height()),
|
|
+ std::move(resized),
|
|
target_scale);
|
|
}
|
|
|