Bug 171042

Summary: [CG] Provide a type identifier hint to the CGImageSource so getting the type identifier is more accurate
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: ImagesAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, buildbot, commit-queue, rniwa, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 170700    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews105 for mac-elcapitan-wk2
none
Archive of layout-test-results from ews117 for mac-elcapitan
none
Archive of layout-test-results from ews103 for mac-elcapitan
none
Archive of layout-test-results from ews124 for ios-simulator-wk2
none
Patch
none
Patch
none
Archive of layout-test-results from ews102 for mac-elcapitan
none
Archive of layout-test-results from ews112 for mac-elcapitan
none
Archive of layout-test-results from ews104 for mac-elcapitan-wk2
none
Archive of layout-test-results from ews125 for ios-simulator-wk2
none
Patch
none
Archive of layout-test-results from ews102 for mac-elcapitan
none
Patch
none
Archive of layout-test-results from ews104 for mac-elcapitan-wk2
none
Archive of layout-test-results from ews101 for mac-elcapitan
none
Archive of layout-test-results from ews116 for mac-elcapitan
none
Patch
none
Archive of layout-test-results from ews102 for mac-elcapitan
none
Archive of layout-test-results from ews121 for ios-simulator-wk2
none
Archive of layout-test-results from ews112 for mac-elcapitan
none
Archive of layout-test-results from ews107 for mac-elcapitan-wk2
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Said Abou-Hallawa
Reported 2017-04-19 22:23:48 PDT
The image URL can be used to get the type identifier hint. Without providing this hint, the image type identifier is not accurate for image formats.
Attachments
Patch (32.50 KB, patch)
2017-04-19 22:30 PDT, Said Abou-Hallawa
no flags
Patch (38.61 KB, patch)
2017-04-20 00:23 PDT, Said Abou-Hallawa
no flags
Patch (52.79 KB, patch)
2017-04-20 10:37 PDT, Said Abou-Hallawa
no flags
Patch (53.19 KB, patch)
2017-04-20 11:38 PDT, Said Abou-Hallawa
no flags
Patch (66.69 KB, patch)
2017-04-20 12:04 PDT, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews105 for mac-elcapitan-wk2 (589.63 KB, application/zip)
2017-04-20 13:06 PDT, Build Bot
no flags
Archive of layout-test-results from ews117 for mac-elcapitan (1.48 MB, application/zip)
2017-04-20 13:12 PDT, Build Bot
no flags
Archive of layout-test-results from ews103 for mac-elcapitan (459.41 KB, application/zip)
2017-04-20 13:22 PDT, Build Bot
no flags
Archive of layout-test-results from ews124 for ios-simulator-wk2 (804.94 KB, application/zip)
2017-04-20 13:32 PDT, Build Bot
no flags
Patch (66.25 KB, patch)
2017-04-20 17:53 PDT, Said Abou-Hallawa
no flags
Patch (66.30 KB, patch)
2017-04-20 18:15 PDT, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews102 for mac-elcapitan (472.09 KB, application/zip)
2017-04-20 19:07 PDT, Build Bot
no flags
Archive of layout-test-results from ews112 for mac-elcapitan (1.33 MB, application/zip)
2017-04-20 19:15 PDT, Build Bot
no flags
Archive of layout-test-results from ews104 for mac-elcapitan-wk2 (388.15 KB, application/zip)
2017-04-20 19:18 PDT, Build Bot
no flags
Archive of layout-test-results from ews125 for ios-simulator-wk2 (11.30 MB, application/zip)
2017-04-20 19:29 PDT, Build Bot
no flags
Patch (67.04 KB, patch)
2017-04-21 09:58 PDT, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews102 for mac-elcapitan (909.59 KB, application/zip)
2017-04-21 10:40 PDT, Build Bot
no flags
Patch (67.27 KB, patch)
2017-04-21 10:50 PDT, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews104 for mac-elcapitan-wk2 (807.70 KB, application/zip)
2017-04-21 11:45 PDT, Build Bot
no flags
Archive of layout-test-results from ews101 for mac-elcapitan (716.49 KB, application/zip)
2017-04-21 11:49 PDT, Build Bot
no flags
Archive of layout-test-results from ews116 for mac-elcapitan (1.46 MB, application/zip)
2017-04-21 11:57 PDT, Build Bot
no flags
Patch (67.12 KB, patch)
2017-04-21 12:22 PDT, Said Abou-Hallawa
no flags
Archive of layout-test-results from ews102 for mac-elcapitan (429.29 KB, application/zip)
2017-04-21 13:54 PDT, Build Bot
no flags
Archive of layout-test-results from ews121 for ios-simulator-wk2 (815.53 KB, application/zip)
2017-04-21 14:02 PDT, Build Bot
no flags
Archive of layout-test-results from ews112 for mac-elcapitan (461.47 KB, application/zip)
2017-04-21 14:10 PDT, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-elcapitan-wk2 (398.11 KB, application/zip)
2017-04-21 14:12 PDT, Build Bot
no flags
Patch (67.26 KB, patch)
2017-04-21 14:59 PDT, Said Abou-Hallawa
no flags
Patch (57.44 KB, patch)
2017-04-21 16:49 PDT, Said Abou-Hallawa
no flags
Patch (53.38 KB, patch)
2017-04-21 17:15 PDT, Said Abou-Hallawa
no flags
Patch (50.12 KB, patch)
2017-04-24 11:19 PDT, Said Abou-Hallawa
no flags
Patch (50.00 KB, patch)
2017-04-24 11:56 PDT, Said Abou-Hallawa
no flags
Patch (50.00 KB, patch)
2017-04-24 13:59 PDT, Said Abou-Hallawa
no flags
Patch (62.93 KB, patch)
2017-04-24 17:15 PDT, Said Abou-Hallawa
no flags
Patch (62.79 KB, patch)
2017-04-24 17:42 PDT, Said Abou-Hallawa
no flags
Said Abou-Hallawa
Comment 1 2017-04-19 22:30:18 PDT
Radar WebKit Bug Importer
Comment 2 2017-04-19 22:31:06 PDT
Said Abou-Hallawa
Comment 3 2017-04-20 00:23:09 PDT
Alexey Proskuryakov
Comment 4 2017-04-20 10:09:46 PDT
Comment on attachment 307572 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307572&action=review > Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:51 > +CFStringRef CGImageSourceGetTypeWithURL(CFURLRef, CFStringRef); This function should not be declared in the .cpp file. Please use an actual *SPI.h header, similar to WebCore/platform/spi/cg/CoreGraphicsSPI.h. I don't think that we have ImageIOSPI.h yet - maybe we didn't need it before, or maybe those went into some other header. Furthermore, this pattern is not quite correct. We want to redeclare functions when APPLE_INTERNAL_SDK is true - that way, the compiler has a chance to detect mistakes and changes in signatures. Ditto for kCGImageSourceSubsampleFactor/kCGImageSourceShouldCacheImmediately. These are exported from ImageIO.framework, so we should be using the actual exported symbol even in open source builds, not create a new constant with the same name.
Said Abou-Hallawa
Comment 5 2017-04-20 10:37:57 PDT
Alexey Proskuryakov
Comment 6 2017-04-20 10:45:25 PDT
Comment on attachment 307598 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307598&action=review > Source/WebCore/ChangeLog:80 > + * platform/spi/cg/ImageIOSPI.h: Added. Not sure if this goes to cocoa/ or to cg/. > Source/WebCore/platform/spi/cg/ImageIOSPI.h:35 > +extern const CFStringRef kCGImageSourceSubsampleFactor; > +extern const CFStringRef kCGImageSourceShouldCacheImmediately; I think that constants can and should be redeclared, too.
Said Abou-Hallawa
Comment 7 2017-04-20 11:38:05 PDT
Said Abou-Hallawa
Comment 8 2017-04-20 12:04:12 PDT
Build Bot
Comment 9 2017-04-20 13:06:11 PDT
Comment on attachment 307609 [details] Patch Attachment 307609 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3571451 Number of test failures exceeded the failure limit.
Build Bot
Comment 10 2017-04-20 13:06:12 PDT
Created attachment 307622 [details] Archive of layout-test-results from ews105 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews105 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 11 2017-04-20 13:12:36 PDT
Comment on attachment 307609 [details] Patch Attachment 307609 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3571470 Number of test failures exceeded the failure limit.
Build Bot
Comment 12 2017-04-20 13:12:38 PDT
Created attachment 307624 [details] Archive of layout-test-results from ews117 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 13 2017-04-20 13:22:18 PDT
Comment on attachment 307609 [details] Patch Attachment 307609 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3571585 Number of test failures exceeded the failure limit.
Build Bot
Comment 14 2017-04-20 13:22:19 PDT
Created attachment 307625 [details] Archive of layout-test-results from ews103 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 15 2017-04-20 13:32:10 PDT
Comment on attachment 307609 [details] Patch Attachment 307609 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3571526 Number of test failures exceeded the failure limit.
Build Bot
Comment 16 2017-04-20 13:32:12 PDT
Created attachment 307631 [details] Archive of layout-test-results from ews124 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Said Abou-Hallawa
Comment 17 2017-04-20 17:53:53 PDT
Said Abou-Hallawa
Comment 18 2017-04-20 18:15:42 PDT
Build Bot
Comment 19 2017-04-20 19:07:43 PDT
Comment on attachment 307671 [details] Patch Attachment 307671 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3573462 Number of test failures exceeded the failure limit.
Build Bot
Comment 20 2017-04-20 19:07:45 PDT
Created attachment 307676 [details] Archive of layout-test-results from ews102 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 21 2017-04-20 19:15:14 PDT
Comment on attachment 307671 [details] Patch Attachment 307671 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3573464 Number of test failures exceeded the failure limit.
Build Bot
Comment 22 2017-04-20 19:15:16 PDT
Created attachment 307678 [details] Archive of layout-test-results from ews112 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 23 2017-04-20 19:18:56 PDT
Comment on attachment 307671 [details] Patch Attachment 307671 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3573492 Number of test failures exceeded the failure limit.
Build Bot
Comment 24 2017-04-20 19:18:58 PDT
Created attachment 307680 [details] Archive of layout-test-results from ews104 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 25 2017-04-20 19:29:42 PDT
Comment on attachment 307671 [details] Patch Attachment 307671 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3573475 Number of test failures exceeded the failure limit.
Build Bot
Comment 26 2017-04-20 19:29:44 PDT
Created attachment 307683 [details] Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Said Abou-Hallawa
Comment 27 2017-04-21 09:58:26 PDT
Build Bot
Comment 28 2017-04-21 10:40:47 PDT
Comment on attachment 307743 [details] Patch Attachment 307743 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3577069 Number of test failures exceeded the failure limit.
Build Bot
Comment 29 2017-04-21 10:40:49 PDT
Created attachment 307747 [details] Archive of layout-test-results from ews102 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Said Abou-Hallawa
Comment 30 2017-04-21 10:50:03 PDT
Build Bot
Comment 31 2017-04-21 11:45:29 PDT
Comment on attachment 307749 [details] Patch Attachment 307749 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3577349 Number of test failures exceeded the failure limit.
Build Bot
Comment 32 2017-04-21 11:45:30 PDT
Created attachment 307762 [details] Archive of layout-test-results from ews104 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 33 2017-04-21 11:49:00 PDT
Comment on attachment 307749 [details] Patch Attachment 307749 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3577373 Number of test failures exceeded the failure limit.
Build Bot
Comment 34 2017-04-21 11:49:01 PDT
Created attachment 307763 [details] Archive of layout-test-results from ews101 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 35 2017-04-21 11:57:09 PDT
Comment on attachment 307749 [details] Patch Attachment 307749 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3577368 Number of test failures exceeded the failure limit.
Build Bot
Comment 36 2017-04-21 11:57:11 PDT
Created attachment 307765 [details] Archive of layout-test-results from ews116 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews116 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Said Abou-Hallawa
Comment 37 2017-04-21 12:22:42 PDT
Build Bot
Comment 38 2017-04-21 13:54:26 PDT
Comment on attachment 307773 [details] Patch Attachment 307773 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3578125 Number of test failures exceeded the failure limit.
Build Bot
Comment 39 2017-04-21 13:54:28 PDT
Created attachment 307792 [details] Archive of layout-test-results from ews102 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 40 2017-04-21 14:02:56 PDT
Comment on attachment 307773 [details] Patch Attachment 307773 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3578039 Number of test failures exceeded the failure limit.
Build Bot
Comment 41 2017-04-21 14:02:57 PDT
Created attachment 307796 [details] Archive of layout-test-results from ews121 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 42 2017-04-21 14:10:46 PDT
Comment on attachment 307773 [details] Patch Attachment 307773 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3578202 Number of test failures exceeded the failure limit.
Build Bot
Comment 43 2017-04-21 14:10:48 PDT
Created attachment 307798 [details] Archive of layout-test-results from ews112 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 44 2017-04-21 14:12:03 PDT
Comment on attachment 307773 [details] Patch Attachment 307773 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3578191 Number of test failures exceeded the failure limit.
Build Bot
Comment 45 2017-04-21 14:12:04 PDT
Created attachment 307799 [details] Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Said Abou-Hallawa
Comment 46 2017-04-21 14:59:14 PDT
Said Abou-Hallawa
Comment 47 2017-04-21 16:49:26 PDT
Said Abou-Hallawa
Comment 48 2017-04-21 17:15:32 PDT
Said Abou-Hallawa
Comment 49 2017-04-24 11:19:38 PDT
Said Abou-Hallawa
Comment 50 2017-04-24 11:56:13 PDT
Tim Horton
Comment 51 2017-04-24 11:59:45 PDT
Comment on attachment 307990 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307990&action=review > Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:162 > + RetainPtr<CFMutableDictionaryRef> options = adoptCF(CFDictionaryCreateMutable(nullptr, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)); Why Mutable? Should be able to just use CFDictionaryCreate with your one value. > Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:242 > +EncodedDataStatus PNGImageDecoder::encodedDataStatus() const I don't think all this consting and const_casting is good. Can you just make the new thing mutable instead?
Said Abou-Hallawa
Comment 52 2017-04-24 13:59:56 PDT
Said Abou-Hallawa
Comment 53 2017-04-24 14:06:19 PDT
Comment on attachment 307990 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307990&action=review >> Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:162 >> + RetainPtr<CFMutableDictionaryRef> options = adoptCF(CFDictionaryCreateMutable(nullptr, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)); > > Why Mutable? Should be able to just use CFDictionaryCreate with your one value. Done. >> Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:242 >> +EncodedDataStatus PNGImageDecoder::encodedDataStatus() const > > I don't think all this consting and const_casting is good. Can you just make the new thing mutable instead? I agree that this looks ugly but I think it is okay since the const here is a logical const. I think the best fix is to move the call to decode() into ImageDecoder::setData() and make encodedDataStatus() just returns a member of the ImageDecoder class. Please see my comment https://bugs.webkit.org/show_bug.cgi?id=170730#c10. If Miguel takes this approach, things will be fixed the way we want. If not I am going to file a follow up bug to remove this ugliness.
Tim Horton
Comment 54 2017-04-24 16:03:44 PDT
Comment on attachment 308006 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308006&action=review > Source/WebCore/platform/graphics/Image.cpp:80 > -String Image::sourceURL() const > +URL Image::sourceURL() const If it were me, I would do the mechanical change in a separate patch, but this is fine too. > Source/WebCore/platform/graphics/Image.h:124 > + virtual String filenameExtension() const { return emptyString(); } // null string if unknown The comment is no longer true. Empty string != null string. That change seems potentially problematic for callers, too. > Source/WebCore/platform/image-decoders/ImageDecoder.h:44 > +class URL; This file is indented wrong, but you should probably stick with it instead of doing your own thing.
Said Abou-Hallawa
Comment 55 2017-04-24 17:15:45 PDT
WebKit Commit Bot
Comment 56 2017-04-24 17:17:10 PDT
Comment on attachment 308025 [details] Patch Rejecting attachment 308025 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'apply-attachment', '--no-update', '--non-interactive', 308025, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 500 characters of output: ecoder.h patching file Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp patching file Source/WebCore/platform/image-decoders/png/PNGImageDecoder.h patching file Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.cpp patching file Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.h patching file Source/WebCore/platform/spi/cg/ImageIOSPI.h Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit Full output: http://webkit-queues.webkit.org/results/3597784
Said Abou-Hallawa
Comment 57 2017-04-24 17:42:10 PDT
WebKit Commit Bot
Comment 58 2017-04-24 18:23:58 PDT
Comment on attachment 308029 [details] Patch Clearing flags on attachment: 308029 Committed r215710: <http://trac.webkit.org/changeset/215710>
WebKit Commit Bot
Comment 59 2017-04-24 18:24:01 PDT
All reviewed patches have been landed. Closing bug.
Simon Fraser (smfr)
Comment 60 2017-04-25 08:48:09 PDT
Comment on attachment 308029 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308029&action=review > Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:159 > + RetainPtr<CFURLRef> url = sourceURL.createCFURL(); > + RetainPtr<CFStringRef> utiHint = adoptCF(CGImageSourceGetTypeWithURL(url.get(), nullptr)); What does this do with (potentially huge) data URIs?
Said Abou-Hallawa
Comment 61 2017-06-06 12:28:52 PDT
Comment on attachment 308029 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308029&action=review >> Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:159 >> + RetainPtr<CFStringRef> utiHint = adoptCF(CGImageSourceGetTypeWithURL(url.get(), nullptr)); > > What does this do with (potentially huge) data URIs? This code has changed in <http://trac.webkit.org/changeset/217246>. The URL is not used anymore to get the type hint. Instead we get the hint from the data and we call CGImageSourceGetTypeWithData() instead of calling CGImageSourceGetTypeWithURL().
Note You need to log in before you can comment on or make changes to this bug.