forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
content/browser: Reuse compositor for subframe navs with RenderDocument.
Reuse LayerTreeView instances in the renderer for subframe navigations when RenderDocument is enabled. This change adds the browser side code required for enabling this. The high level changes are as follows: - Compositing reuse is only done for same-site same-process navigations. - An optional FrameSinkId is plumbed through RenderWidgetHost, to avoid generating a new ID when we're reusing the compositor. The FrameSinkId is tied to the mojo connections + resources we want to reuse. - By default, the renderer side WebFrameWidget is initiated when the RenderFrameImpl is created. The WebFrameWidget requires initializing the compositor when its created. So when reusing the compositor, we defer creating the WebFrameWidget until commit. This state is now tracked on RenderFrameHostImpl to defer work which must happen after the renderer side WebFrameWidget has been created. - By default, RenderWidgetHostView assumes that its FrameSinkId is bound to it throughout its lifetime. However when reusing the compositor, we transfer the FrameSinkId from the old RWHV to the new RWHV. RWHVBase now tracks whether its FrameSinkId is bound to it. This is used to manage ownership of FrameSinkId with both Viz and RenderWidgetHostInputEventRouter. Since this is a perf optimization, which is likely to have issues, this is flag guarded with a default on switch to ease debugging. R=rakina@chromium.org Bug: 1464791 Change-Id: I7c5a92b0fc961aa192e7ee57a28171a822e3c0ac Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4912959 Auto-Submit: Khushal Sagar <khushalsagar@chromium.org> Commit-Queue: Khushal Sagar <khushalsagar@chromium.org> Reviewed-by: Rakina Zata Amni <rakina@chromium.org> Cr-Commit-Position: refs/heads/main@{#1214375}
- Loading branch information
1 parent
d574a59
commit d7bdc38
Showing
33 changed files
with
334 additions
and
117 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.