Bug 207198 - Implement the remote RenderingBackend
Summary: Implement the remote RenderingBackend
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Canvas (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Said Abou-Hallawa
URL:
Keywords: InRadar
Depends on: 207134
Blocks: 204955 207233
  Show dependency treegraph
 
Reported: 2020-02-04 07:35 PST by Said Abou-Hallawa
Modified: 2020-02-27 13:50 PST (History)
30 users (show)

See Also:


Attachments
Patch (446.86 KB, patch)
2020-02-04 08:08 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch for review (61.38 KB, patch)
2020-02-04 10:55 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch (70.56 KB, patch)
2020-02-26 16:19 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch (70.59 KB, patch)
2020-02-26 16:39 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Fix internal bots (2.04 KB, patch)
2020-02-27 13:47 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Said Abou-Hallawa 2020-02-04 07:35:52 PST
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.
Comment 1 Said Abou-Hallawa 2020-02-04 08:08:54 PST
Created attachment 389661 [details]
Patch
Comment 2 Said Abou-Hallawa 2020-02-04 10:55:26 PST
Created attachment 389679 [details]
Patch  for review
Comment 3 Said Abou-Hallawa 2020-02-25 17:51:29 PST
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 ***
Comment 4 Said Abou-Hallawa 2020-02-26 16:00:33 PST
Will implement the RemoteRenderingBack because we do not what every RemoteImageBuffer to be a message sender or receiver.
Comment 5 Said Abou-Hallawa 2020-02-26 16:19:17 PST
Created attachment 391802 [details]
Patch
Comment 6 Said Abou-Hallawa 2020-02-26 16:39:01 PST
Created attachment 391806 [details]
Patch
Comment 7 Simon Fraser (smfr) 2020-02-26 16:49:44 PST
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 8 Chris Dumez 2020-02-26 16:52:57 PST
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 9 WebKit Commit Bot 2020-02-26 17:52:02 PST
Comment on attachment 391806 [details]
Patch

Clearing flags on attachment: 391806

Committed r257542: <https://trac.webkit.org/changeset/257542>
Comment 10 WebKit Commit Bot 2020-02-26 17:52:05 PST
All reviewed patches have been landed.  Closing bug.
Comment 11 Radar WebKit Bug Importer 2020-02-26 17:53:19 PST
<rdar://problem/59830213>
Comment 12 Said Abou-Hallawa 2020-02-27 13:44:36 PST
This patch broke the internal build bots. The break is happening because of unified sources.
Comment 13 Said Abou-Hallawa 2020-02-27 13:47:42 PST
Created attachment 391907 [details]
Fix internal bots
Comment 14 Ryan Haddad 2020-02-27 13:50:49 PST
Comment on attachment 391907 [details]
Fix internal bots

Clearing flags on attachment: 391907

Committed r257583: <https://trac.webkit.org/changeset/257583>
Comment 15 Ryan Haddad 2020-02-27 13:50:51 PST
All reviewed patches have been landed.  Closing bug.