| Index: include/codec/SkAndroidCodec.h
 | 
| diff --git a/include/codec/SkAndroidCodec.h b/include/codec/SkAndroidCodec.h
 | 
| index f979886a43ec33c573de3553b49651a8a06d7025..9d02de06f6d5d265bddd810e9bd689b063c49edb 100644
 | 
| --- a/include/codec/SkAndroidCodec.h
 | 
| +++ b/include/codec/SkAndroidCodec.h
 | 
| @@ -50,7 +50,7 @@ public:
 | 
|      /**
 | 
|       *  Format of the encoded data.
 | 
|       */
 | 
| -    SkEncodedFormat getEncodedFormat() const { return this->onGetEncodedFormat(); }
 | 
| +    SkEncodedFormat getEncodedFormat() const { return fCodec->getEncodedFormat(); }
 | 
|  
 | 
|      /**
 | 
|       *  Returns the dimensions of the scaled output image, for an input
 | 
| @@ -208,11 +208,23 @@ public:
 | 
|       */
 | 
|      SkCodec::Result getAndroidPixels(const SkImageInfo& info, void* pixels, size_t rowBytes);
 | 
|  
 | 
| +    /**
 | 
| +     *  Some images may initially report that they have alpha due to the format
 | 
| +     *  of the encoded data, but then never use any colors which have alpha
 | 
| +     *  less than 100%. This function can be called *after* decoding to
 | 
| +     *  determine if such an image truly had alpha. Calling it before decoding
 | 
| +     *  is undefined.
 | 
| +     *  FIXME: see skbug.com/3582.
 | 
| +     */
 | 
| +    bool reallyHasAlpha() const {
 | 
| +        return fCodec->reallyHasAlpha();
 | 
| +    }
 | 
| +
 | 
|  protected:
 | 
|  
 | 
| -    SkAndroidCodec(const SkImageInfo&);
 | 
| +    SkAndroidCodec(SkCodec*);
 | 
|  
 | 
| -    virtual SkEncodedFormat onGetEncodedFormat() const = 0;
 | 
| +    SkCodec* codec() const { return fCodec.get(); }
 | 
|  
 | 
|      virtual SkISize onGetSampledDimensions(int sampleSize) const = 0;
 | 
|  
 | 
| @@ -226,5 +238,7 @@ private:
 | 
|      // This will always be a reference to the info that is contained by the
 | 
|      // embedded SkCodec.
 | 
|      const SkImageInfo& fInfo;
 | 
| +
 | 
| +    SkAutoTDelete<SkCodec> fCodec;
 | 
|  };
 | 
|  #endif // SkAndroidCodec_DEFINED
 | 
| 
 |