| Index: src/images/SkImageDecoder_libwebp.cpp
 | 
| diff --git a/src/images/SkImageDecoder_libwebp.cpp b/src/images/SkImageDecoder_libwebp.cpp
 | 
| index f32587ddcc2427c1e3630cd5285f1049aaf71224..a74c907b5beea17b7e012718d2af67b6331b275f 100644
 | 
| --- a/src/images/SkImageDecoder_libwebp.cpp
 | 
| +++ b/src/images/SkImageDecoder_libwebp.cpp
 | 
| @@ -14,8 +14,8 @@
 | 
|   * limitations under the License.
 | 
|   */
 | 
|  
 | 
| -#include "SkImageDecoder.h"
 | 
| -#include "SkImageEncoder.h"
 | 
| +#include "SkImageDecoder_libwebp.h"
 | 
| +
 | 
|  #include "SkColorPriv.h"
 | 
|  #include "SkScaledBitmapSampler.h"
 | 
|  #include "SkStream.h"
 | 
| @@ -589,6 +589,21 @@ static int stream_writer(const uint8_t* data, size_t data_size,
 | 
|    return stream->write(data, data_size) ? 1 : 0;
 | 
|  }
 | 
|  
 | 
| +SkImageDecoder::Format SkDetectFormatWEBPImageDecoder(SkStreamRewindable* stream) {
 | 
| +    int width, height, hasAlpha;
 | 
| +    if (webp_parse_header(stream, &width, &height, &hasAlpha)) {
 | 
| +        return SkImageDecoder::kWEBP_Format;
 | 
| +    }
 | 
| +    return SkImageDecoder::kUnknown_Format;
 | 
| +}
 | 
| +
 | 
| +SkImageDecoder* SkCreateWEBPImageDecoder(SkStreamRewindable* stream) {
 | 
| +    if (SkDetectFormatWEBPImageDecoder(stream) == SkImageDecoder::kWEBP_Format) {
 | 
| +        return SkNEW(SkWEBPImageDecoder);
 | 
| +    }
 | 
| +    return NULL;
 | 
| +}
 | 
| +
 | 
|  class SkWEBPImageEncoder : public SkImageEncoder {
 | 
|  protected:
 | 
|      virtual bool onEncode(SkWStream* stream, const SkBitmap& bm, int quality) SK_OVERRIDE;
 | 
| @@ -653,34 +668,6 @@ bool SkWEBPImageEncoder::onEncode(SkWStream* stream, const SkBitmap& bm,
 | 
|      return ok;
 | 
|  }
 | 
|  
 | 
| -
 | 
| -///////////////////////////////////////////////////////////////////////////////
 | 
| -DEFINE_DECODER_CREATOR(WEBPImageDecoder);
 | 
| -DEFINE_ENCODER_CREATOR(WEBPImageEncoder);
 | 
| -///////////////////////////////////////////////////////////////////////////////
 | 
| -
 | 
| -static SkImageDecoder* sk_libwebp_dfactory(SkStreamRewindable* stream) {
 | 
| -    int width, height, hasAlpha;
 | 
| -    if (!webp_parse_header(stream, &width, &height, &hasAlpha)) {
 | 
| -        return NULL;
 | 
| -    }
 | 
| -
 | 
| -    // Magic matches, call decoder
 | 
| -    return SkNEW(SkWEBPImageDecoder);
 | 
| -}
 | 
| -
 | 
| -static SkImageDecoder::Format get_format_webp(SkStreamRewindable* stream) {
 | 
| -    int width, height, hasAlpha;
 | 
| -    if (webp_parse_header(stream, &width, &height, &hasAlpha)) {
 | 
| -        return SkImageDecoder::kWEBP_Format;
 | 
| -    }
 | 
| -    return SkImageDecoder::kUnknown_Format;
 | 
| -}
 | 
| -
 | 
| -static SkImageEncoder* sk_libwebp_efactory(SkImageEncoder::Type t) {
 | 
| -      return (SkImageEncoder::kWEBP_Type == t) ? SkNEW(SkWEBPImageEncoder) : NULL;
 | 
| +SkImageEncoder* SkCreateWEBPImageEncoder(SkImageEncoder::Type t) {
 | 
| +    return (SkImageEncoder::kWEBP_Type == t) ? SkNEW(SkWEBPImageEncoder) : NULL;
 | 
|  }
 | 
| -
 | 
| -static SkImageDecoder_DecodeReg gDReg(sk_libwebp_dfactory);
 | 
| -static SkImageDecoder_FormatReg gFormatReg(get_format_webp);
 | 
| -static SkImageEncoder_EncodeReg gEReg(sk_libwebp_efactory);
 | 
| 
 |