| Index: src/core/SkPicturePlayback.cpp
 | 
| diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp
 | 
| index ba18392c88507615208ef219c0d80628df9a324a..05a60e8db44f855135d291e43c002991e11068ef 100644
 | 
| --- a/src/core/SkPicturePlayback.cpp
 | 
| +++ b/src/core/SkPicturePlayback.cpp
 | 
| @@ -312,7 +312,7 @@ bool SkPicturePlayback::containsBitmaps() const {
 | 
|  
 | 
|  static void write_tag_size(SkWriteBuffer& buffer, uint32_t tag, size_t size) {
 | 
|      buffer.writeUInt(tag);
 | 
| -    buffer.writeUInt(size);
 | 
| +    buffer.writeUInt(SkToU32(size));
 | 
|  }
 | 
|  
 | 
|  static void write_tag_size(SkWStream* stream, uint32_t tag,  size_t size) {
 | 
| @@ -484,7 +484,7 @@ static uint32_t pictInfoFlagsToReadBufferFlags(uint32_t pictInfoFlags) {
 | 
|  
 | 
|  bool SkPicturePlayback::parseStreamTag(SkStream* stream,
 | 
|                                         uint32_t tag,
 | 
| -                                       size_t size,
 | 
| +                                       uint32_t size,
 | 
|                                         SkPicture::InstallPixelRefProc proc) {
 | 
|      /*
 | 
|       *  By the time we encounter BUFFER_SIZE_TAG, we need to have already seen
 | 
| @@ -532,8 +532,9 @@ bool SkPicturePlayback::parseStreamTag(SkStream* stream,
 | 
|          } break;
 | 
|          case SK_PICT_TYPEFACE_TAG: {
 | 
|              SkASSERT(!haveBuffer);
 | 
| -            fTFPlayback.setCount(size);
 | 
| -            for (size_t i = 0; i < size; i++) {
 | 
| +            const int count = SkToInt(size);
 | 
| +            fTFPlayback.setCount(count);
 | 
| +            for (int i = 0; i < count; i++) {
 | 
|                  SkAutoTUnref<SkTypeface> tf(SkTypeface::Deserialize(stream));
 | 
|                  if (!tf.get()) {    // failed to deserialize
 | 
|                      // fTFPlayback asserts it never has a null, so we plop in
 | 
| @@ -594,19 +595,21 @@ bool SkPicturePlayback::parseStreamTag(SkStream* stream,
 | 
|  }
 | 
|  
 | 
|  bool SkPicturePlayback::parseBufferTag(SkReadBuffer& buffer,
 | 
| -                                       uint32_t tag, size_t size) {
 | 
| +                                       uint32_t tag, uint32_t size) {
 | 
|      switch (tag) {
 | 
|          case SK_PICT_BITMAP_BUFFER_TAG: {
 | 
| +            const int count = SkToInt(size);
 | 
|              fBitmaps = SkTRefArray<SkBitmap>::Create(size);
 | 
| -            for (size_t i = 0; i < size; ++i) {
 | 
| +            for (int i = 0; i < count; ++i) {
 | 
|                  SkBitmap* bm = &fBitmaps->writableAt(i);
 | 
|                  buffer.readBitmap(bm);
 | 
|                  bm->setImmutable();
 | 
|              }
 | 
|          } break;
 | 
|          case SK_PICT_PAINT_BUFFER_TAG: {
 | 
| +            const int count = SkToInt(size);
 | 
|              fPaints = SkTRefArray<SkPaint>::Create(size);
 | 
| -            for (size_t i = 0; i < size; ++i) {
 | 
| +            for (int i = 0; i < count; ++i) {
 | 
|                  buffer.readPaint(&fPaints->writableAt(i));
 | 
|              }
 | 
|          } break;
 | 
| 
 |