Remove unnecessary getColorSpace() API from SkCodec
Not needed since now we can get it from the SkImageInfo.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2170793004
Review-Url: https://codereview.chromium.org/2170793004
diff --git a/bench/ColorCodecBench.cpp b/bench/ColorCodecBench.cpp
index 45bd293..e17d597 100644
--- a/bench/ColorCodecBench.cpp
+++ b/bench/ColorCodecBench.cpp
@@ -47,7 +47,7 @@
codec->startScanlineDecode(fSrcInfo);
SkASSERT(SkCodec::kSuccess == result);
- sk_sp<SkColorSpace> srcSpace = sk_ref_sp(codec->getColorSpace());
+ sk_sp<SkColorSpace> srcSpace = sk_ref_sp(codec->getInfo().colorSpace());
if (!srcSpace) {
srcSpace = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named);
}
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index 932d80f..f3f5f78 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -902,7 +902,7 @@
break;
case kDst_sRGB_Mode:
case kDst_HPZR30w_Mode: {
- sk_sp<SkColorSpace> srcSpace = sk_ref_sp(codec->getColorSpace());
+ sk_sp<SkColorSpace> srcSpace = sk_ref_sp(codec->getInfo().colorSpace());
sk_sp<SkColorSpace> dstSpace = (kDst_sRGB_Mode == fMode) ?
SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named) :
SkColorSpace::NewICC(dstData->data(), dstData->size());
diff --git a/include/codec/SkCodec.h b/include/codec/SkCodec.h
index 293068c..5c84e07 100644
--- a/include/codec/SkCodec.h
+++ b/include/codec/SkCodec.h
@@ -109,13 +109,6 @@
const SkEncodedInfo& getEncodedInfo() const { return fEncodedInfo; }
- /**
- * Returns the color space associated with the codec.
- * Does not affect ownership.
- * Might be NULL.
- */
- SkColorSpace* getColorSpace() const { return fColorSpace.get(); }
-
enum Origin {
kTopLeft_Origin = 1, // Default
kTopRight_Origin = 2, // Reflected across y-axis
@@ -662,7 +655,6 @@
const SkImageInfo fSrcInfo;
SkAutoTDelete<SkStream> fStream;
bool fNeedsRewind;
- sk_sp<SkColorSpace> fColorSpace;
const Origin fOrigin;
// These fields are only meaningful during scanline decodes.
diff --git a/include/codec/SkEncodedInfo.h b/include/codec/SkEncodedInfo.h
index 60ad588..eb8c147 100644
--- a/include/codec/SkEncodedInfo.h
+++ b/include/codec/SkEncodedInfo.h
@@ -117,7 +117,7 @@
* Returns an SkImageInfo with Skia color and alpha types that are the
* closest possible match to the encoded info.
*/
- SkImageInfo makeImageInfo(int width, int height, const sk_sp<SkColorSpace>& colorSpace) const {
+ SkImageInfo makeImageInfo(int width, int height, sk_sp<SkColorSpace> colorSpace) const {
switch (fColor) {
case kGray_Color:
SkASSERT(kOpaque_Alpha == fAlpha);
@@ -147,7 +147,7 @@
case kYUVA_Color:
SkASSERT(kOpaque_Alpha != fAlpha);
return SkImageInfo::Make(width, height, kN32_SkColorType,
- kUnpremul_SkAlphaType, colorSpace);
+ kUnpremul_SkAlphaType, std::move(colorSpace));
default:
SkASSERT(false);
return SkImageInfo::MakeUnknown();
diff --git a/src/codec/SkCodec.cpp b/src/codec/SkCodec.cpp
index 3da7f5f..e5f9a07 100644
--- a/src/codec/SkCodec.cpp
+++ b/src/codec/SkCodec.cpp
@@ -117,10 +117,9 @@
SkCodec::SkCodec(int width, int height, const SkEncodedInfo& info, SkStream* stream,
sk_sp<SkColorSpace> colorSpace, Origin origin)
: fEncodedInfo(info)
- , fSrcInfo(info.makeImageInfo(width, height, colorSpace))
+ , fSrcInfo(info.makeImageInfo(width, height, std::move(colorSpace)))
, fStream(stream)
, fNeedsRewind(false)
- , fColorSpace(std::move(colorSpace))
, fOrigin(origin)
, fDstInfo()
, fOptions()
diff --git a/tests/ColorSpaceTest.cpp b/tests/ColorSpaceTest.cpp
index 442ed3d..df03ea4 100644
--- a/tests/ColorSpaceTest.cpp
+++ b/tests/ColorSpaceTest.cpp
@@ -65,7 +65,7 @@
REPORTER_ASSERT(r, nullptr != codec);
#if (PNG_LIBPNG_VER_MAJOR > 1) || (PNG_LIBPNG_VER_MAJOR == 1 && PNG_LIBPNG_VER_MINOR >= 6)
- SkColorSpace* colorSpace = codec->getColorSpace();
+ SkColorSpace* colorSpace = codec->getInfo().colorSpace();
REPORTER_ASSERT(r, nullptr != colorSpace);
test_space(r, colorSpace, &g_sRGB_XYZ[0], &g_sRGB_XYZ[3], &g_sRGB_XYZ[6],
@@ -86,7 +86,7 @@
return;
}
- SkColorSpace* colorSpace = codec->getColorSpace();
+ SkColorSpace* colorSpace = codec->getInfo().colorSpace();
REPORTER_ASSERT(r, nullptr != colorSpace);
const float red[] = { 0.385117f, 0.716904f, 0.0970612f };
diff --git a/tools/viewer/ImageSlide.cpp b/tools/viewer/ImageSlide.cpp
index 3ba6b58..b047154 100644
--- a/tools/viewer/ImageSlide.cpp
+++ b/tools/viewer/ImageSlide.cpp
@@ -41,7 +41,7 @@
fImage->asLegacyBitmap(&fOriginalBitmap, SkImage::kRO_LegacyBitmapMode);
SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(encoded.get()));
- sk_sp<SkColorSpace> srcSpace = sk_ref_sp(codec->getColorSpace());
+ sk_sp<SkColorSpace> srcSpace = sk_ref_sp(codec->getInfo().colorSpace());
sk_sp<SkColorSpace> dstSpace = SkColorSpace::NewNamed(SkColorSpace::kAdobeRGB_Named);
std::unique_ptr<SkColorSpaceXform> xform = SkColorSpaceXform::New(srcSpace, dstSpace);
fOriginalBitmap.deepCopyTo(&fXformedBitmap);
diff --git a/tools/visualize_color_gamut.cpp b/tools/visualize_color_gamut.cpp
index bc40152..4d340f8 100644
--- a/tools/visualize_color_gamut.cpp
+++ b/tools/visualize_color_gamut.cpp
@@ -151,7 +151,7 @@
}
// Draw gamut for the input image.
- sk_sp<SkColorSpace> colorSpace = sk_ref_sp(codec->getColorSpace());
+ sk_sp<SkColorSpace> colorSpace = sk_ref_sp(codec->getInfo().colorSpace());
if (!colorSpace) {
SkDebugf("Image had no embedded color space information. Defaulting to sRGB.\n");
colorSpace = SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named);