This pattern occurs a lot in the Cairo graphics backend: RefPtr<Image> image = layerImage.copyImage(DontCopyBackingStore); if (!image) return; if (auto surface = image->nativeImageForCurrentFrame()) { ... } Which is fine on a single thread, but ImageSource is not usable off-main-thread, so any drawing that calls functions that do this will cause an assert on a debug build. I think its use of ImageSource would be safe off-main-thread, but it's overkill just to get the native image handle. This is hampering OffscreenCanvas.
Created attachment 382908 [details] Patch
Comment on attachment 382908 [details] Patch Clearing flags on attachment: 382908 Committed r252136: <https://trac.webkit.org/changeset/252136>
All reviewed patches have been landed. Closing bug.
<rdar://problem/56940631>