Open Bug 543674 Opened 14 years ago Updated 2 months ago

(apng) Implement graceful error handling for APNG

Categories

(Core :: Graphics: ImageLib, defect)

defect

Tracking

()

People

(Reporter: newstop, Unassigned)

References

(Blocks 1 open bug)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 WebMoney Advisor
Build Identifier: Trunk

Actual: Currently all errors in acTL, fcTL, fDAT chunks result in png_error().
So Firefox won't display anything, while IE will display the first frame.

Expected: Any single error in any single apng chunk should cause Firefox to throw away all information from all apng chunks, and display the file as a static PNG image (first frame).


Reproducible: Always
Test case at http://www.simplesystems.org/users/glennrp/santa

Compare santa_bad_fctl.png (bad fctl chunk at the very end of the
datastream) with santaj.png (OK)
Assignee: nobody → glennrp+bmo
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Blocks: 495609
Max originally brought up this issue in bug 257197 with reference to the APNG specs: 

https://wiki.mozilla.org/APNG_Specification#Error_Handling

The bug assignee didn't login in Bugzilla in the last 7 months.
:aosmond, could you have a look please?
For more information, please visit auto_nag documentation.

Assignee: glennrp+bmo → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(aosmond)
Severity: normal → S4
Flags: needinfo?(aosmond)

PNG WG has started to discuss APNG error handling here:

https://github.com/w3c/PNG-spec/issues/360

Contributions from Mozillians would be very welcome!

Expected: Any single error in any single apng chunk should cause Firefox to throw away all information from all apng chunks, and display the file as a static PNG image (first frame).

Absolutely! The whole point of APNG was graceful fallback to the static image. For implementations that don't support animation, but also in the case of errors in the animation itself.

You need to log in before you can comment on or make changes to this bug.