There is a slight difference between a frame decoded using CGImageSourceCreateImageAtIndex() and a frame decode using CGImageSourceCreateThumbnailAtIndex(). A thumbnail frame has to be decoded for a certain size which is called sizeForDrawing. The test page draws a tiled background-image by calling BitmapImage::drawPattern() which ends up calling CGImageSourceCreateImageAtIndex(). The expected page draws an HTMLImageElements by calling BitmapImage::draw() which ends up calling CGImageSourceCreateThumbnailAtIndex(). The fix is to switch back to use CGImageSourceCreateImageAtIndex() for small images. This way we can ensure the image is decoded the same way for both the test and the expected pages.
rdar://106952740
Pull request: https://github.com/WebKit/WebKit/pull/11750
Committed 261932@main (ff57fe9af291): <https://commits.webkit.org/261932@main> Reviewed commits have been landed. Closing PR #11750 and removing active labels.