Index: third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp b/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp |
index 568c41443b53d6196f5f1db2f8ce9c141cff4ddf..0061d5dcbd8a22f521f8bb7ad8e509726b20da7d 100644 |
--- a/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp |
@@ -5,7 +5,7 @@ |
#include "platform/graphics/BitmapImageMetrics.h" |
#include "platform/Histogram.h" |
-#include "third_party/skia/include/core/SkColorSpaceXform.h" |
+#include "platform/graphics/ColorSpace.h" |
#include "wtf/Threading.h" |
#include "wtf/text/WTFString.h" |
@@ -51,8 +51,10 @@ void BitmapImageMetrics::countImageGammaAndGamut(SkColorSpace* colorSpace) { |
DEFINE_THREAD_SAFE_STATIC_LOCAL( |
EnumerationHistogram, gamutNamedHistogram, |
- new EnumerationHistogram("Blink.ColorGamut.Source", GamutEnd)); |
- gamutNamedHistogram.count(getColorSpaceGamut(colorSpace)); |
+ new EnumerationHistogram("Blink.ColorGamut.Source", |
+ static_cast<int>(ColorSpaceGamut::End))); |
+ gamutNamedHistogram.count( |
+ static_cast<int>(ColorSpaceUtilities::getColorSpaceGamut(colorSpace))); |
} |
void BitmapImageMetrics::countOutputGammaAndGamut(SkColorSpace* colorSpace) { |
@@ -63,8 +65,10 @@ void BitmapImageMetrics::countOutputGammaAndGamut(SkColorSpace* colorSpace) { |
DEFINE_THREAD_SAFE_STATIC_LOCAL( |
EnumerationHistogram, gamutNamedHistogram, |
- new EnumerationHistogram("Blink.ColorGamut.Destination", GamutEnd)); |
- gamutNamedHistogram.count(getColorSpaceGamut(colorSpace)); |
+ new EnumerationHistogram("Blink.ColorGamut.Destination", |
+ static_cast<int>(ColorSpaceGamut::End))); |
+ gamutNamedHistogram.count( |
+ static_cast<int>(ColorSpaceUtilities::getColorSpaceGamut(colorSpace))); |
} |
BitmapImageMetrics::Gamma BitmapImageMetrics::getColorSpaceGamma( |
@@ -82,49 +86,4 @@ BitmapImageMetrics::Gamma BitmapImageMetrics::getColorSpaceGamma( |
return gamma; |
} |
-BitmapImageMetrics::Gamut BitmapImageMetrics::getColorSpaceGamut( |
- SkColorSpace* colorSpace) { |
- sk_sp<SkColorSpace> scRGB( |
- SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named)); |
- std::unique_ptr<SkColorSpaceXform> transform( |
- SkColorSpaceXform::New(colorSpace, scRGB.get())); |
- |
- if (!transform) |
- return GamutUnknown; |
- |
- unsigned char in[3][4]; |
- float out[3][4]; |
- memset(in, 0, sizeof(in)); |
- in[0][0] = 255; |
- in[1][1] = 255; |
- in[2][2] = 255; |
- in[0][3] = 255; |
- in[1][3] = 255; |
- in[2][3] = 255; |
- transform->apply(SkColorSpaceXform::kRGBA_F32_ColorFormat, out, |
- SkColorSpaceXform::kRGBA_8888_ColorFormat, in, 3, |
- kOpaque_SkAlphaType); |
- float score = out[0][0] * out[1][1] * out[2][2]; |
- |
- if (score < 0.9) |
- return GamutLessThanNTSC; |
- if (score < 0.95) |
- return GamutNTSC; // actual score 0.912839 |
- if (score < 1.1) |
- return GamutSRGB; // actual score 1.0 |
- if (score < 1.3) |
- return GamutAlmostP3; |
- if (score < 1.425) |
- return GamutP3; // actual score 1.401899 |
- if (score < 1.5) |
- return GamutAdobeRGB; // actual score 1.458385 |
- if (score < 2.0) |
- return GamutWide; |
- if (score < 2.2) |
- return GamutBT2020; // actual score 2.104520 |
- if (score < 2.7) |
- return GamutProPhoto; // actual score 2.913247 |
- return GamutUltraWide; |
-} |
- |
} // namespace blink |