| Index: src/core/SkReadBuffer.cpp | 
| diff --git a/src/core/SkReadBuffer.cpp b/src/core/SkReadBuffer.cpp | 
| index 4b9d5987a173607c8d530d44400f7398165f2897..7679622c5839eb2c720a12132a6b9aa5e7600dc4 100644 | 
| --- a/src/core/SkReadBuffer.cpp | 
| +++ b/src/core/SkReadBuffer.cpp | 
| @@ -142,6 +142,10 @@ void SkReadBuffer::readString(SkString* string) { | 
| string->set(strContents, len); | 
| } | 
|  | 
| +void SkReadBuffer::readColor4f(SkColor4f* color) { | 
| +    memcpy(color, fReader.skip(sizeof(SkColor4f)), sizeof(SkColor4f)); | 
| +} | 
| + | 
| void SkReadBuffer::readPoint(SkPoint* point) { | 
| point->fX = fReader.readScalar(); | 
| point->fY = fReader.readScalar(); | 
| @@ -192,6 +196,10 @@ bool SkReadBuffer::readColorArray(SkColor* colors, size_t size) { | 
| return readArray(colors, size, sizeof(SkColor)); | 
| } | 
|  | 
| +bool SkReadBuffer::readColor4fArray(SkColor4f* colors, size_t size) { | 
| +    return readArray(colors, size, sizeof(SkColor4f)); | 
| +} | 
| + | 
| bool SkReadBuffer::readIntArray(int32_t* values, size_t size) { | 
| return readArray(values, size, sizeof(int32_t)); | 
| } | 
|  |