Commit 02ba4b5e authored by Daniel Hosseinian's avatar Daniel Hosseinian Committed by Commit Bot

Change ArePNGBytesCloseToBitmap() to take base::span

Make the method friendlier to other callers.

Change-Id: Ied53accfacf02ac7d3f59d45b31cdc7fd2c34709
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2393519Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804996}
parent e513ef9d
...@@ -199,10 +199,10 @@ TEST_F(ImageMacTest, MultiResolutionPNGToNSImage) { ...@@ -199,10 +199,10 @@ TEST_F(ImageMacTest, MultiResolutionPNGToNSImage) {
// Convert to ImageSkia to check pixel contents of NSImageReps. // Convert to ImageSkia to check pixel contents of NSImageReps.
gfx::ImageSkia image_skia = gfx::ImageSkiaFromNSImage(ns_image); gfx::ImageSkia image_skia = gfx::ImageSkiaFromNSImage(ns_image);
EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap( EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap(
bytes1x, image_skia.GetRepresentation(1.0f).GetBitmap(), *bytes1x, image_skia.GetRepresentation(1.0f).GetBitmap(),
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap( EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap(
bytes2x, image_skia.GetRepresentation(2.0f).GetBitmap(), *bytes2x, image_skia.GetRepresentation(2.0f).GetBitmap(),
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
} }
......
...@@ -208,7 +208,7 @@ TEST_F(ImageTest, MultiResolutionImageSkiaToPNG) { ...@@ -208,7 +208,7 @@ TEST_F(ImageTest, MultiResolutionImageSkiaToPNG) {
gfx::Image image(image_skia); gfx::Image image(image_skia);
EXPECT_TRUE( EXPECT_TRUE(
gt::ArePNGBytesCloseToBitmap(image.As1xPNGBytes(), bitmap_1x, gt::ArePNGBytesCloseToBitmap(*image.As1xPNGBytes(), bitmap_1x,
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
EXPECT_TRUE(image.HasRepresentation(gfx::Image::kImageRepPNG)); EXPECT_TRUE(image.HasRepresentation(gfx::Image::kImageRepPNG));
} }
...@@ -230,10 +230,10 @@ TEST_F(ImageTest, MultiResolutionPNGToImageSkia) { ...@@ -230,10 +230,10 @@ TEST_F(ImageTest, MultiResolutionPNGToImageSkia) {
scales.push_back(2.0f); scales.push_back(2.0f);
gfx::ImageSkia image_skia = image.AsImageSkia(); gfx::ImageSkia image_skia = image.AsImageSkia();
EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap( EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap(
bytes1x, image_skia.GetRepresentation(1.0f).GetBitmap(), *bytes1x, image_skia.GetRepresentation(1.0f).GetBitmap(),
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap( EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap(
bytes2x, image_skia.GetRepresentation(2.0f).GetBitmap(), *bytes2x, image_skia.GetRepresentation(2.0f).GetBitmap(),
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
EXPECT_TRUE(gt::ImageSkiaStructureMatches(image_skia, kSize1x, kSize1x, EXPECT_TRUE(gt::ImageSkiaStructureMatches(image_skia, kSize1x, kSize1x,
scales)); scales));
...@@ -269,16 +269,17 @@ TEST_F(ImageTest, MultiResolutionPNGToPlatform) { ...@@ -269,16 +269,17 @@ TEST_F(ImageTest, MultiResolutionPNGToPlatform) {
EXPECT_EQ(scales.size(), 1U); EXPECT_EQ(scales.size(), 1U);
if (scales[0] == 1.0f) if (scales[0] == 1.0f)
EXPECT_TRUE( EXPECT_TRUE(
gt::ArePNGBytesCloseToBitmap(bytes1x, from_platform.AsBitmap(), gt::ArePNGBytesCloseToBitmap(*bytes1x, from_platform.AsBitmap(),
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
else if (scales[0] == 2.0f) else if (scales[0] == 2.0f)
EXPECT_TRUE(gt::ArePNGBytesCloseToBitmap(bytes2x, from_platform.AsBitmap(), EXPECT_TRUE(
gt::MaxColorSpaceConversionColorShift())); gt::ArePNGBytesCloseToBitmap(*bytes2x, from_platform.AsBitmap(),
gt::MaxColorSpaceConversionColorShift()));
else else
ADD_FAILURE() << "Unexpected platform scale factor."; ADD_FAILURE() << "Unexpected platform scale factor.";
#else #else
EXPECT_TRUE( EXPECT_TRUE(
gt::ArePNGBytesCloseToBitmap(bytes1x, from_platform.AsBitmap(), gt::ArePNGBytesCloseToBitmap(*bytes1x, from_platform.AsBitmap(),
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
#endif // defined(OS_IOS) #endif // defined(OS_IOS)
} }
...@@ -316,7 +317,7 @@ TEST_F(ImageTest, PNGEncodeFromSkiaDecodeToPlatform) { ...@@ -316,7 +317,7 @@ TEST_F(ImageTest, PNGEncodeFromSkiaDecodeToPlatform) {
EXPECT_TRUE(gt::IsPlatformImageValid(gt::ToPlatformType(from_platform))); EXPECT_TRUE(gt::IsPlatformImageValid(gt::ToPlatformType(from_platform)));
EXPECT_TRUE( EXPECT_TRUE(
gt::ArePNGBytesCloseToBitmap(png_bytes, from_platform.AsBitmap(), gt::ArePNGBytesCloseToBitmap(*png_bytes, from_platform.AsBitmap(),
gt::MaxColorSpaceConversionColorShift())); gt::MaxColorSpaceConversionColorShift()));
} }
......
...@@ -148,15 +148,12 @@ bool AreBitmapsClose(const SkBitmap& bmp1, ...@@ -148,15 +148,12 @@ bool AreBitmapsClose(const SkBitmap& bmp1,
return true; return true;
} }
bool ArePNGBytesCloseToBitmap( bool ArePNGBytesCloseToBitmap(base::span<const uint8_t> bytes,
const scoped_refptr<base::RefCountedMemory>& bytes, const SkBitmap& bitmap,
const SkBitmap& bitmap, int max_deviation) {
int max_deviation) {
SkBitmap decoded; SkBitmap decoded;
if (!bytes.get() || if (!PNGCodec::Decode(bytes.data(), bytes.size(), &decoded))
!PNGCodec::Decode(bytes->front(), bytes->size(), &decoded)) {
return bitmap.isNull(); return bitmap.isNull();
}
return AreBitmapsClose(bitmap, decoded, max_deviation); return AreBitmapsClose(bitmap, decoded, max_deviation);
} }
......
...@@ -8,6 +8,9 @@ ...@@ -8,6 +8,9 @@
#ifndef UI_GFX_IMAGE_IMAGE_UNITTEST_UTIL_H_ #ifndef UI_GFX_IMAGE_IMAGE_UNITTEST_UTIL_H_
#define UI_GFX_IMAGE_IMAGE_UNITTEST_UTIL_H_ #define UI_GFX_IMAGE_IMAGE_UNITTEST_UTIL_H_
#include <stdint.h>
#include "base/containers/span.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/image/image.h" #include "ui/gfx/image/image.h"
...@@ -60,10 +63,9 @@ bool AreBitmapsClose(const SkBitmap& bitmap1, ...@@ -60,10 +63,9 @@ bool AreBitmapsClose(const SkBitmap& bitmap1,
// Returns true if the passed in PNG bitmap is visually similar to the passed in // Returns true if the passed in PNG bitmap is visually similar to the passed in
// SkBitmap. // SkBitmap.
bool ArePNGBytesCloseToBitmap( bool ArePNGBytesCloseToBitmap(base::span<const uint8_t> bytes,
const scoped_refptr<base::RefCountedMemory>& bytes, const SkBitmap& bitmap,
const SkBitmap& bitmap, int max_deviation);
int max_deviation);
// Returns the maximum color shift in the red, green, and blue components caused // Returns the maximum color shift in the red, green, and blue components caused
// by converting a gfx::Image between colorspaces. Color shifts occur when // by converting a gfx::Image between colorspaces. Color shifts occur when
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment