| Index: src/core/SkReader32.h | 
| diff --git a/src/core/SkReader32.h b/src/core/SkReader32.h | 
| index 68dda23c6efcbd53fdc4c9758729229970b5a65c..645d64cc24590b5c6fc784b5be6878e0ff7b19fd 100644 | 
| --- a/src/core/SkReader32.h | 
| +++ b/src/core/SkReader32.h | 
| @@ -1,4 +1,3 @@ | 
| - | 
| /* | 
| * Copyright 2008 The Android Open Source Project | 
| * | 
| @@ -10,6 +9,7 @@ | 
| #ifndef SkReader32_DEFINED | 
| #define SkReader32_DEFINED | 
|  | 
| +#include "SkData.h" | 
| #include "SkMatrix.h" | 
| #include "SkPath.h" | 
| #include "SkRegion.h" | 
| @@ -135,6 +135,14 @@ public: | 
| */ | 
| size_t readIntoString(SkString* copy); | 
|  | 
| +    SkData* readData() { | 
| +        uint32_t byteLength = this->readU32(); | 
| +        if (0 == byteLength) { | 
| +            return SkData::NewEmpty(); | 
| +        } | 
| +        return SkData::NewWithCopy(this->skip(byteLength), byteLength); | 
| +    } | 
| + | 
| private: | 
| template <typename T> bool readObjectFromMemory(T* obj) { | 
| size_t size = obj->readFromMemory(this->peek(), this->available()); | 
|  |