Mark webps as sRGB
authormsarett <msarett@google.com>
Wed, 6 Apr 2016 22:45:41 +0000 (15:45 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 6 Apr 2016 22:45:41 +0000 (15:45 -0700)
This may cause some diffs in Gold.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1838603002

Review URL: https://codereview.chromium.org/1838603002

src/codec/SkWebpCodec.cpp

index a795fdd..77af8e5 100644 (file)
@@ -85,9 +85,10 @@ SkCodec* SkWebpCodec::NewFromStream(SkStream* stream) {
 // This version is slightly different from SkCodecPriv's version of conversion_possible. It
 // supports both byte orders for 8888.
 static bool webp_conversion_possible(const SkImageInfo& dst, const SkImageInfo& src) {
-    if (dst.profileType() != src.profileType()) {
-        return false;
-    }
+    // FIXME: skbug.com/4895
+    // Currently, we ignore the SkColorProfileType on the SkImageInfo.  We
+    // will treat the encoded data as linear regardless of what the client
+    // requests.
 
     if (!valid_alpha(dst.alphaType(), src.alphaType())) {
         return false;
@@ -252,4 +253,6 @@ SkCodec::Result SkWebpCodec::onGetPixels(const SkImageInfo& dstInfo, void* dst,
 }
 
 SkWebpCodec::SkWebpCodec(const SkImageInfo& info, SkStream* stream)
-    : INHERITED(info, stream) {}
+    // The spec says an unmarked image is sRGB, so we return that space here.
+    // TODO: Add support for parsing ICC profiles from webps.
+    : INHERITED(info, stream, SkColorSpace::NewNamed(SkColorSpace::kSRGB_Named)) {}