| Index: src/core/SkPictureRecord.cpp
 | 
| diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
 | 
| index 2822a1ac1643a2c0681418b79ae1ec75baf4c326..7907ee0d2935f22b30ceca2be899d0b1b5a506e6 100644
 | 
| --- a/src/core/SkPictureRecord.cpp
 | 
| +++ b/src/core/SkPictureRecord.cpp
 | 
| @@ -76,44 +76,19 @@
 | 
|  void SkPictureRecord::recordSaveLayer(const SaveLayerRec& rec) {
 | 
|      fContentInfo.onSaveLayer();
 | 
|  
 | 
| -    // op + flatflags
 | 
| +    // op + bool for 'bounds'
 | 
|      size_t size = 2 * kUInt32Size;
 | 
| -    uint32_t flatFlags = 0;
 | 
| -
 | 
|      if (rec.fBounds) {
 | 
| -        flatFlags |= SAVELAYERREC_HAS_BOUNDS;
 | 
| -        size += sizeof(*rec.fBounds);
 | 
| -    }
 | 
| -    if (rec.fPaint) {
 | 
| -        flatFlags |= SAVELAYERREC_HAS_PAINT;
 | 
| -        size += sizeof(uint32_t); // index
 | 
| -    }
 | 
| -    if (rec.fBackdrop) {
 | 
| -        flatFlags |= SAVELAYERREC_HAS_BACKDROP;
 | 
| -        size += sizeof(uint32_t); // (paint) index
 | 
| -    }
 | 
| -    if (rec.fSaveLayerFlags) {
 | 
| -        flatFlags |= SAVELAYERREC_HAS_FLAGS;
 | 
| -        size += sizeof(uint32_t);
 | 
| -    }
 | 
| -
 | 
| -    const size_t initialOffset = this->addDraw(SAVE_LAYER_SAVELAYERREC, &size);
 | 
| -    this->addInt(flatFlags);
 | 
| -    if (flatFlags & SAVELAYERREC_HAS_BOUNDS) {
 | 
| -        this->addRect(*rec.fBounds);
 | 
| -    }
 | 
| -    if (flatFlags & SAVELAYERREC_HAS_PAINT) {
 | 
| -        this->addPaintPtr(rec.fPaint);
 | 
| -    }
 | 
| -    if (flatFlags & SAVELAYERREC_HAS_BACKDROP) {
 | 
| -        // overkill, but we didn't already track single flattenables, so using a paint for that
 | 
| -        SkPaint paint;
 | 
| -        paint.setImageFilter(const_cast<SkImageFilter*>(rec.fBackdrop));
 | 
| -        this->addPaint(paint);
 | 
| -    }
 | 
| -    if (flatFlags & SAVELAYERREC_HAS_FLAGS) {
 | 
| -        this->addInt(rec.fSaveLayerFlags);
 | 
| -    }
 | 
| +        size += sizeof(*rec.fBounds); // + rect
 | 
| +    }
 | 
| +    // + paint index + flags
 | 
| +    size += 2 * kUInt32Size;
 | 
| +
 | 
| +    size_t initialOffset = this->addDraw(SAVE_LAYER_SAVELAYERFLAGS, &size);
 | 
| +    this->addRectPtr(rec.fBounds);
 | 
| +    this->addPaintPtr(rec.fPaint);
 | 
| +    this->addInt(rec.fSaveLayerFlags);
 | 
| +
 | 
|      this->validate(initialOffset, size);
 | 
|  }
 | 
|  
 | 
| @@ -249,8 +224,7 @@
 | 
|          uint32_t opSize;
 | 
|          DrawType drawOp = peek_op_and_size(&fWriter, -offset, &opSize);
 | 
|          SkASSERT(SAVE_LAYER_SAVEFLAGS_DEPRECATED != drawOp);
 | 
| -        SkASSERT(SAVE_LAYER_SAVELAYERFLAGS_DEPRECATED_JAN_2016 != drawOp);
 | 
| -        SkASSERT(SAVE == drawOp || SAVE_LAYER_SAVELAYERREC == drawOp);
 | 
| +        SkASSERT(SAVE == drawOp || SAVE_LAYER_SAVELAYERFLAGS == drawOp);
 | 
|      }
 | 
|  #endif
 | 
|  }
 | 
| 
 |