From 588fb040b3ad410cdb10c87f9a7884b6eb825e90 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Fri, 14 Jul 2017 16:32:31 -0400 Subject: Report error on failure to create SkCodec Update NewFromStream to report an error on failure to create an SkCodec, so that a client can distinguish between - not enough data - invalid data In Chromium, this will allow blink::ImageDecoder to call SetFailed if the stream is invalid early and we never create an SkCodec. Without this, ImageDecoder will keep trying to create an SkCodec when it receives more data. Change-Id: I4f505c56d91c982be36a828fd0f7db17b1596588 Reviewed-on: https://skia-review.googlesource.com/22642 Commit-Queue: Leon Scroggins Reviewed-by: Derek Sollenberger Reviewed-by: Chris Blume --- src/codec/SkWebpCodec.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/codec/SkWebpCodec.h') diff --git a/src/codec/SkWebpCodec.h b/src/codec/SkWebpCodec.h index c911ebd585..e06d0972fe 100644 --- a/src/codec/SkWebpCodec.h +++ b/src/codec/SkWebpCodec.h @@ -28,7 +28,7 @@ static const size_t WEBP_VP8_HEADER_SIZE = 30; class SkWebpCodec final : public SkCodec { public: // Assumes IsWebp was called and returned true. - static SkCodec* NewFromStream(SkStream*); + static SkCodec* NewFromStream(SkStream*, Result*); static bool IsWebp(const void*, size_t); protected: Result onGetPixels(const SkImageInfo&, void*, size_t, const Options&, int*) override; -- cgit v1.2.3