[rust png] Mark frames as fully received even without decoding them.

Before and after this CL, a successfully decoded frame is marked as
fully received.  After this CL, frames that haven't been fully decoded
will also be marked as fully received if `SkPngRustCodec` realizes that
the input already contains all their `IDAT` / `fdAT` chunks.  This helps
to proceed with animating such frames in Blink, where frames that have
not been fully received will not be rendered in an animation - see:
https://source.chromium.org/chromium/chromium/src/+/main:cc/trees/image_animation_controller.cc;l=297-300;drc=08efa89c7d73d72e6ebcddbf053c41a230dc1ba8

Bug: chromium:356922876
Change-Id: I92f86100bb3a7f701c6010c1caa1cbc29ffcdb62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/911039
Reviewed-by: Daniel Dilan <danieldilan@google.com>
Commit-Queue: Ɓukasz Anforowicz <lukasza@google.com>
2 files changed