.
<rdar://problem/81828450>
Created attachment 437381 [details] WIP including squashed dependencies for EWS
Created attachment 437593 [details] WIP including squashed dependencies for EWS
Created attachment 437596 [details] WIP including squashed dependencies for EWS
Created attachment 437597 [details] WIP including squashed dependencies for EWS
Created attachment 437604 [details] WIP including squashed dependencies for EWS
Created attachment 437727 [details] WIP including squashed dependencies for EWS
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess
Created attachment 437823 [details] WIP including squashed dependencies for EWS
Created attachment 437830 [details] WIP including squashed dependencies for EWS
Created attachment 437846 [details] WIP including squashed dependencies for EWS
Created attachment 437847 [details] Patch for review (without dependencies, so EWS will fail)
Created attachment 437926 [details] Patch including squashed dependencies for EWS
Created attachment 437928 [details] Patch for review (without dependencies and so will fail EWS)
Created attachment 438001 [details] Patch including squashed dependencies for EWS
Created attachment 438002 [details] Patch without dependencies (and so will fail EWS)
Created attachment 438005 [details] Patch including squashed dependencies for EWS
Created attachment 438006 [details] Patch without dependencies (and so will fail EWS)
Comment on attachment 438006 [details] Patch without dependencies (and so will fail EWS) View in context: https://bugs.webkit.org/attachment.cgi?id=438006&action=review > Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:46 > + CGColorSpaceRef colorSpace = configuration.colorSpace->platformColorSpace(); I was poking around after we discussed this, and it turns out there is some interesting SPI in CoreGraphics related to this that we might want to explore: CGBitmapContextCreateForFlatteningImage() I think we should ask the CoreGraphics folks if it would make sense for us to use it.
(In reply to Sam Weinig from comment #19) > I was poking around after we discussed this, and it turns out there is some > interesting SPI in CoreGraphics related to this that we might want to > explore: > > CGBitmapContextCreateForFlatteningImage() Nice find. It's doing similar work to find an appropriate color space that I'm doing in validateConfiguration, and avoids conversion in some more cases. CGBitmapContextCreateForFlatteningImage() creates its own buffer for the bitmap, but ShareableBitmap needs to create the buffer in shared memory. So I am not sure we could use it as it stands, unless we're happy to use it just to find an appropriate bitmap configuration and color space, or if we draw to it then copy the data out afterwards into the shared memory. If there were an API that could tell us the appropriate color space and bitmap configuration to use, that would be ideal. Although we would still need to teach ShareableBitmap about other bitmap configurations that it doesn't support right now (e.g. float components with non-extended range color spaces, CMYK, single channel grayscale) and store that in the ShareableBitmap::Configuration.
I'm going to land this patch as is, and I've filed bug 230375 to look into CGBitmapContextCreateForFlatteningImage.
Created attachment 438410 [details] [fast-cq] Patch
Created attachment 438412 [details] Patch
Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/30833
Created attachment 438415 [details] Patch
Committed r282626 (241783@main): <https://commits.webkit.org/241783@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 438415 [details].