 Chromium Code Reviews
 Chromium Code Reviews Issue 670453002:
  Remove image decoder and encoder autoregistration  (Closed) 
  Base URL: https://skia.googlesource.com/skia.git@separate-image-decoder-01-skpicture
    
  
    Issue 670453002:
  Remove image decoder and encoder autoregistration  (Closed) 
  Base URL: https://skia.googlesource.com/skia.git@separate-image-decoder-01-skpicture| Index: src/images/SkImageDecoder_libbmp.cpp | 
| diff --git a/src/images/SkImageDecoder_libbmp.cpp b/src/images/SkImageDecoder_libbmp.cpp | 
| index 7b87e40039d48b582610ab271b6def44bac1da64..b033efee70429d198855fc61c797002ad9915033 100644 | 
| --- a/src/images/SkImageDecoder_libbmp.cpp | 
| +++ b/src/images/SkImageDecoder_libbmp.cpp | 
| @@ -6,10 +6,10 @@ | 
| * found in the LICENSE file. | 
| */ | 
| +#include "SkImageDecoder_libbmp.h" | 
| #include "bmpdecoderhelper.h" | 
| #include "SkColorPriv.h" | 
| -#include "SkImageDecoder.h" | 
| #include "SkScaledBitmapSampler.h" | 
| #include "SkStream.h" | 
| #include "SkStreamPriv.h" | 
| @@ -30,40 +30,6 @@ private: | 
| typedef SkImageDecoder INHERITED; | 
| }; | 
| -/////////////////////////////////////////////////////////////////////////////// | 
| -DEFINE_DECODER_CREATOR(BMPImageDecoder); | 
| -/////////////////////////////////////////////////////////////////////////////// | 
| - | 
| -static bool is_bmp(SkStreamRewindable* stream) { | 
| - static const char kBmpMagic[] = { 'B', 'M' }; | 
| - | 
| - | 
| - char buffer[sizeof(kBmpMagic)]; | 
| - | 
| - return stream->read(buffer, sizeof(kBmpMagic)) == sizeof(kBmpMagic) && | 
| - !memcmp(buffer, kBmpMagic, sizeof(kBmpMagic)); | 
| -} | 
| - | 
| -static SkImageDecoder* sk_libbmp_dfactory(SkStreamRewindable* stream) { | 
| - if (is_bmp(stream)) { | 
| - return SkNEW(SkBMPImageDecoder); | 
| - } | 
| - return NULL; | 
| -} | 
| - | 
| -static SkImageDecoder_DecodeReg gReg(sk_libbmp_dfactory); | 
| - | 
| -static SkImageDecoder::Format get_format_bmp(SkStreamRewindable* stream) { | 
| - if (is_bmp(stream)) { | 
| - return SkImageDecoder::kBMP_Format; | 
| - } | 
| - return SkImageDecoder::kUnknown_Format; | 
| -} | 
| - | 
| -static SkImageDecoder_FormatReg gFormatReg(get_format_bmp); | 
| - | 
| -/////////////////////////////////////////////////////////////////////////////// | 
| - | 
| class SkBmpDecoderCallback : public image_codec::BmpDecoderCallback { | 
| public: | 
| // we don't copy the bitmap, just remember the pointer | 
| @@ -160,3 +126,20 @@ bool SkBMPImageDecoder::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) { | 
| } | 
| return true; | 
| } | 
| + | 
| +SkImageDecoder::Format SkDetectFormatBMPImageDecoder(SkStreamRewindable* stream) { | 
| + static const char kBmpMagic[] = { 'B', 'M' }; | 
| + char buffer[sizeof(kBmpMagic)]; | 
| + if (stream->read(buffer, sizeof(kBmpMagic)) == sizeof(kBmpMagic) && | 
| + !memcmp(buffer, kBmpMagic, sizeof(kBmpMagic))) { | 
| 
scroggo
2014/11/12 18:00:12
I don't think it's in the style guide, but this is
 
Kimmo Kinnunen
2014/11/18 08:29:45
Right..
 | 
| + return SkImageDecoder::kBMP_Format; | 
| + } | 
| + return SkImageDecoder::kUnknown_Format; | 
| +} | 
| + | 
| +SkImageDecoder* SkCreateBMPImageDecoder(SkStreamRewindable* stream) { | 
| + if (SkDetectFormatBMPImageDecoder(stream) == SkImageDecoder::kBMP_Format) { | 
| + return SkNEW(SkBMPImageDecoder); | 
| + } | 
| + return NULL; | 
| +} |