diff options
author | Mike Reed <reed@google.com> | 2018-03-09 13:08:38 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-03-09 19:12:50 +0000 |
commit | 43f0ba073068b6334844bd0e2e48f11ddb2b068d (patch) | |
tree | 37599b4fccc722762ce91ae54f95493938b6f8cc /tools/get_images_from_skps.cpp | |
parent | 7946c0cf788ea673601022191fc36cb07ea4e5e0 (diff) |
update tool to sniff images during deserialization
Bug: skia:
Change-Id: I0162225772a5fe9849d3d51b2d1dd5d67c606097
Reviewed-on: https://skia-review.googlesource.com/113212
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'tools/get_images_from_skps.cpp')
-rw-r--r-- | tools/get_images_from_skps.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/tools/get_images_from_skps.cpp b/tools/get_images_from_skps.cpp index da66e58bdc..35624348ff 100644 --- a/tools/get_images_from_skps.cpp +++ b/tools/get_images_from_skps.cpp @@ -125,24 +125,16 @@ struct Sniffer { }; static bool get_images_from_file(const SkString& file) { + Sniffer sniff(file.c_str()); auto stream = SkStream::MakeFromFile(file.c_str()); - sk_sp<SkPicture> picture(SkPicture::MakeFromStream(stream.get())); - if (!picture) { - return false; - } - SkDynamicMemoryWStream scratch; - Sniffer sniff(file.c_str()); - SkSerialProcs procs; - procs.fImageProc = [](SkImage* image, void* ctx) { - if (auto data = image->refEncodedData()) { - ((Sniffer*)ctx)->sniff(data->data(), data->size()); - } - return SkData::MakeEmpty(); + SkDeserialProcs procs; + procs.fImageProc = [](const void* data, size_t size, void* ctx) -> sk_sp<SkImage> { + ((Sniffer*)ctx)->sniff(data, size); + return nullptr; }; procs.fImageCtx = &sniff; - picture->serialize(&procs); - return true; + return SkPicture::MakeFromStream(stream.get(), &procs) != nullptr; } int main(int argc, char** argv) { |