RemoteRenderingBackend and RemoteRenderingBackendProxy will be responsible of creating the remote ImageBuffer objects. RemoteRenderingBackend will create the remote ImageBuffer in WebProcess while RemoteRenderingBackendProxy will create the associated remote ImageBuffer proxy in the GPUProcess. RemoteRenderingBackend will be created by WebChromeClient and owned by Chrome. ImageBuffer::create will have access to it through the HostWindow argument. All types of ImageBuffer will be created by RemoteRenderingBackend::createImageBuffer() method. In-process ImageBuffer types will be created by RenderingBackend:: createImageBuffer(). RemoteRenderingBackendProxy will be created and owned by GPUConnectionToWebProcess. RemoteRenderingBackend and RemoteRenderingBackendProxy will communicate with each other using IPC and a new ObjectIdentifier called RenderingBackendIdentifier.
Created attachment 389661 [details] Patch
Created attachment 389679 [details] Patch for review
After making HostWindow be the creator of the remote ImageBuffer, there is no need for this bug. *** This bug has been marked as a duplicate of bug 207134 ***
Will implement the RemoteRenderingBack because we do not what every RemoteImageBuffer to be a message sender or receiver.
Created attachment 391802 [details] Patch
Created attachment 391806 [details] Patch
Comment on attachment 391806 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=391806&action=review > Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:65 > + IPC::MessageReceiverMap& messageReceiverMap() { return m_messageReceiverMap; } const?
Comment on attachment 391806 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=391806&action=review >> Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:65 >> + IPC::MessageReceiverMap& messageReceiverMap() { return m_messageReceiverMap; } > > const? IPC::MessageReceiverMap& messageReceiverMap() or const IPC::MessageReceiverMap& messageReceiverMap() const or both but not: IPC::MessageReceiverMap& messageReceiverMap() const { return m_messageReceiverMap; } please :)
Comment on attachment 391806 [details] Patch Clearing flags on attachment: 391806 Committed r257542: <https://trac.webkit.org/changeset/257542>
All reviewed patches have been landed. Closing bug.
<rdar://problem/59830213>
This patch broke the internal build bots. The break is happening because of unified sources.
Created attachment 391907 [details] Fix internal bots
Comment on attachment 391907 [details] Fix internal bots Clearing flags on attachment: 391907 Committed r257583: <https://trac.webkit.org/changeset/257583>