The ImageBuffer is a WebCore object. We inherit from it for different reasons and we allow different backends for all of the derived classes. For GPU rendering, we currently create an object of type RemoteImageBufferProxy in the GPU Process to own the backend. And to have access to this object, we create another object of type RemoteImageBuffer in the Web Process. The two classes, RemoteImageBufferProxy and RemoteImageBuffer, provide a seamlessly interface in WebCore. So the clients do not have to worry about when the rendering will take place to the backend in the GPU process. But the names of the GPU rendering classes have been confusing. RemoteImageBuffer should be the real object in the GPU Process because it owns the backend. And RemoteImageBufferProxy should be a proxy to this object in the Web Process. So we are going to exchange the following classes: RemoteImageBuffer <-> RemoteImageBufferProxy RemoteRenderingBackend <-> RemoteRenderingBackendProxy RemoteImageBufferMessageHandler <-> RemoteImageBufferMessageHandlerProxy
Created attachment 411535 [details] Patch
Created attachment 411540 [details] Patch
Created attachment 411541 [details] Patch
Created attachment 411544 [details] Patch
Tools/Scripts/svn-apply failed to apply attachment 411544 [details] to trunk. Please resolve the conflicts and upload a new patch.
Created attachment 411605 [details] Patch
Created attachment 411612 [details] Patch
Created attachment 411614 [details] Patch
Committed r268612: <https://trac.webkit.org/changeset/268612> All reviewed patches have been landed. Closing bug and clearing flags on attachment 411614 [details].
<rdar://problem/70394134>