| Index: src/core/SkBitmapProcShader.cpp
 | 
| diff --git a/src/core/SkBitmapProcShader.cpp b/src/core/SkBitmapProcShader.cpp
 | 
| index e7cc035c7439c724d67d33a8691109006dcbe8ee..82b96eb9179398784385c0dfa3efb1ebdbd0b822 100644
 | 
| --- a/src/core/SkBitmapProcShader.cpp
 | 
| +++ b/src/core/SkBitmapProcShader.cpp
 | 
| @@ -39,13 +39,14 @@ SkBitmapProcShader::SkBitmapProcShader(const SkBitmap& src, TileMode tmx, TileMo
 | 
|      fTileModeY = (uint8_t)tmy;
 | 
|  }
 | 
|  
 | 
| -SkBitmapProcShader::SkBitmapProcShader(SkReadBuffer& buffer)
 | 
| -        : INHERITED(buffer) {
 | 
| +#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
 | 
| +SkBitmapProcShader::SkBitmapProcShader(SkReadBuffer& buffer) : INHERITED(buffer) {
 | 
|      buffer.readBitmap(&fRawBitmap);
 | 
|      fRawBitmap.setImmutable();
 | 
|      fTileModeX = buffer.readUInt();
 | 
|      fTileModeY = buffer.readUInt();
 | 
|  }
 | 
| +#endif
 | 
|  
 | 
|  SkShader::BitmapType SkBitmapProcShader::asABitmap(SkBitmap* texture,
 | 
|                                                     SkMatrix* texM,
 | 
| @@ -63,9 +64,20 @@ SkShader::BitmapType SkBitmapProcShader::asABitmap(SkBitmap* texture,
 | 
|      return kDefault_BitmapType;
 | 
|  }
 | 
|  
 | 
| -void SkBitmapProcShader::flatten(SkWriteBuffer& buffer) const {
 | 
| -    this->INHERITED::flatten(buffer);
 | 
| +SkFlattenable* SkBitmapProcShader::CreateProc(SkReadBuffer& buffer) {
 | 
| +    SkMatrix lm;
 | 
| +    buffer.readMatrix(&lm);
 | 
| +    SkBitmap bm;
 | 
| +    if (!buffer.readBitmap(&bm)) {
 | 
| +        return NULL;
 | 
| +    }
 | 
| +    TileMode mx = (TileMode)buffer.readUInt();
 | 
| +    TileMode my = (TileMode)buffer.readUInt();
 | 
| +    return SkShader::CreateBitmapShader(bm, mx, my, &lm);
 | 
| +}
 | 
|  
 | 
| +void SkBitmapProcShader::flatten(SkWriteBuffer& buffer) const {
 | 
| +    buffer.writeMatrix(this->getLocalMatrix());
 | 
|      buffer.writeBitmap(fRawBitmap);
 | 
|      buffer.writeUInt(fTileModeX);
 | 
|      buffer.writeUInt(fTileModeY);
 | 
| 
 |