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]
Created attachment 411540 [details]
Created attachment 411541 [details]
Created attachment 411544 [details]
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]
Created attachment 411612 [details]
Created attachment 411614 [details]
Committed r268612: <https://trac.webkit.org/changeset/268612>
All reviewed patches have been landed. Closing bug and clearing flags on attachment 411614 [details].