From 43f0ba073068b6334844bd0e2e48f11ddb2b068d Mon Sep 17 00:00:00 2001 From: Mike Reed Date: Fri, 9 Mar 2018 13:08:38 -0500 Subject: update tool to sniff images during deserialization Bug: skia: Change-Id: I0162225772a5fe9849d3d51b2d1dd5d67c606097 Reviewed-on: https://skia-review.googlesource.com/113212 Reviewed-by: Leon Scroggins Reviewed-by: Florin Malita Commit-Queue: Mike Reed --- tools/get_images_from_skps.cpp | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'tools/get_images_from_skps.cpp') 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 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 { + ((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) { -- cgit v1.2.3