RESOLVED FIXED185956
Enable subsampling for progressive JPEG images
https://bugs.webkit.org/show_bug.cgi?id=185956
Summary Enable subsampling for progressive JPEG images
Chris Dumez
Reported 2018-05-24 12:48:05 PDT
Optimize ImageDecoderCG::frameAllowSubsamplingAtIndex() currently checks if the image is a Progressive JPEG. We do not need CGImageSourceCopyPropertiesAtIndex() for non-JPEG images.
Attachments
Patch (3.58 KB, patch)
2018-05-24 13:14 PDT, Chris Dumez
no flags
Patch (2.55 KB, patch)
2018-05-24 14:47 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2018-05-24 13:14:58 PDT
Geoffrey Garen
Comment 2 2018-05-24 14:02:36 PDT
Comment on attachment 341219 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=341219&action=review r=me > Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:388 > + // Workaround for <rdar://problem/5184655> - Hang rendering very large progressive JPEG. Decoding progressive > + // images hangs for a very long time right now. Until this is fixed, don't sub-sample progressive images. This > + // will cause them to fail our large image check and they won't be decoded. > + // FIXME: Remove once underlying issue is fixed (<rdar://problem/5191418>) This patch is fine -- but the FIXME here is about a bug that was fixed in 2014. Maybe we should just remove this code entirely?
Chris Dumez
Comment 3 2018-05-24 14:05:15 PDT
(In reply to Geoffrey Garen from comment #2) > Comment on attachment 341219 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=341219&action=review > > r=me > > > Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:388 > > + // Workaround for <rdar://problem/5184655> - Hang rendering very large progressive JPEG. Decoding progressive > > + // images hangs for a very long time right now. Until this is fixed, don't sub-sample progressive images. This > > + // will cause them to fail our large image check and they won't be decoded. > > + // FIXME: Remove once underlying issue is fixed (<rdar://problem/5191418>) > > This patch is fine -- but the FIXME here is about a bug that was fixed in > 2014. Maybe we should just remove this code entirely? Simon, do you think we can remove this code entirely?
Chris Dumez
Comment 4 2018-05-24 14:36:35 PDT
(In reply to Chris Dumez from comment #3) > (In reply to Geoffrey Garen from comment #2) > > Comment on attachment 341219 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=341219&action=review > > > > r=me > > > > > Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:388 > > > + // Workaround for <rdar://problem/5184655> - Hang rendering very large progressive JPEG. Decoding progressive > > > + // images hangs for a very long time right now. Until this is fixed, don't sub-sample progressive images. This > > > + // will cause them to fail our large image check and they won't be decoded. > > > + // FIXME: Remove once underlying issue is fixed (<rdar://problem/5191418>) > > > > This patch is fine -- but the FIXME here is about a bug that was fixed in > > 2014. Maybe we should just remove this code entirely? > > Simon, do you think we can remove this code entirely? I uploaded the test image to https://ibb.co/bG0pwT. I'll drop the code and try to load it.
Chris Dumez
Comment 5 2018-05-24 14:47:33 PDT
WebKit Commit Bot
Comment 6 2018-05-24 18:12:37 PDT
Comment on attachment 341227 [details] Patch Clearing flags on attachment: 341227 Committed r232177: <https://trac.webkit.org/changeset/232177>
WebKit Commit Bot
Comment 7 2018-05-24 18:12:39 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 8 2018-05-24 18:13:20 PDT
Ahmad Saleem
Comment 9 2025-10-06 03:25:04 PDT
*** Bug 137648 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.