Chromium Code Reviews| Index: dm/DMWriteTask.cpp |
| diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp |
| index 08feb98431242216eef3f7f047093803a52bb0a1..2698dc8f2290ad8519777dca989f8de14527cadf 100644 |
| --- a/dm/DMWriteTask.cpp |
| +++ b/dm/DMWriteTask.cpp |
| @@ -64,11 +64,9 @@ void WriteTask::makeDirOrFail(SkString dir) { |
| } |
| } |
| -static SkString get_md5(const void* ptr, size_t len) { |
| - SkMD5 hasher; |
| - hasher.write(ptr, len); |
| +static SkString get_md5_string(SkMD5* hasher) { |
| SkMD5::Digest digest; |
| - hasher.finish(digest); |
| + hasher->finish(digest); |
| SkString md5; |
| for (int i = 0; i < 16; i++) { |
| @@ -77,6 +75,22 @@ static SkString get_md5(const void* ptr, size_t len) { |
| return md5; |
| } |
| +static SkString get_md5(const void* ptr, size_t len) { |
| + SkMD5 hasher; |
| + hasher.write(ptr, len); |
| + return get_md5_string(&hasher); |
| +} |
| + |
| +static SkString get_md5(SkStreamAsset* stream) { |
| + if (stream->getMemoryBase()) { |
|
mtklein
2014/10/02 19:54:59
Let's skip the if and just always call writeStream
bungeman-skia
2014/10/02 20:00:11
Done.
|
| + return get_md5(stream->getMemoryBase(), stream->getLength()); |
| + } |
| + |
| + SkMD5 hasher; |
| + hasher.writeStream(stream, stream->getLength()); |
| + return get_md5_string(&hasher); |
| +} |
| + |
| struct JsonData { |
| SkString name; // E.g. "ninepatch-stretch", "desk-gws_skp" |
| SkString config; // "gpu", "8888" |
| @@ -91,7 +105,7 @@ void WriteTask::draw() { |
| SkString md5; |
| { |
| SkAutoLockPixels lock(fBitmap); |
| - md5 = fData ? get_md5(fData->getMemoryBase(), fData->getLength()) |
| + md5 = fData ? get_md5(fData) |
| : get_md5(fBitmap.getPixels(), fBitmap.getSize()); |
| } |