The plan is to hide the underlying memory of PixelBuffer. GPUProcess needs to allocate shared memory and attribute it to the WebProcess. Currently the PixelBuffer is created as std::optional<PixelBuffer> which does not allow sub-classing it. We need to create PixelBuffer as a pointer. In the software filter appliers code, there are instances that we need to ref-count the underlying memory 'Uint8ClampedArray' see FEGaussianBlurSoftwareApplier::ApplyParameters.
<rdar://problem/94040771>
Pull request: https://github.com/WebKit/WebKit/pull/1101
Committed r295113 (251204@main): <https://commits.webkit.org/251204@main> Reviewed commits have been landed. Closing PR #1101 and removing active labels.