diff options
author | kenrb <kenrb@chromium.org> | 2015-01-22 15:44:59 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-22 23:46:07 +0000 |
commit | a719983b5525a477724350ee9eba20e574d0eb3b (patch) | |
tree | 150f37f5683b0193b7f25dc167e3b2d3b9941231 /content/renderer/render_frame_impl.h | |
parent | 81bea3e1d1391eb54ff49434fbeed69d9a39c6d1 (diff) | |
download | chromium_src-a719983b5525a477724350ee9eba20e574d0eb3b.zip chromium_src-a719983b5525a477724350ee9eba20e574d0eb3b.tar.gz chromium_src-a719983b5525a477724350ee9eba20e574d0eb3b.tar.bz2 |
Make RenderFrame(Host) own a RenderWidget(Host).
When a RenderFrameHost is created for an out-of-process iframe, it
will create a RenderWidgetHost to manage rendering and input events for
the iframe and its same-process frame descendants. A corresponding
RenderWidget is created in the renderer process.
BUG=419087
Committed: https://crrev.com/2dfb76d84f4ebde602c1c3cde700dcf71b4d1bd6
Cr-Commit-Position: refs/heads/master@{#312451}
Review URL: https://codereview.chromium.org/616133002
Cr-Commit-Position: refs/heads/master@{#312702}
Diffstat (limited to 'content/renderer/render_frame_impl.h')
-rw-r--r-- | content/renderer/render_frame_impl.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h index c543d9b..463d330 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h @@ -44,6 +44,7 @@ class GURL; class TransportDIB; struct FrameHostMsg_AddNavigationTransitionData_Params; struct FrameMsg_Navigate_Params; +struct FrameMsg_NewFrame_WidgetParams; struct FrameMsg_RequestNavigation_Params; namespace blink { @@ -72,6 +73,7 @@ class WebEncryptedMediaClientImpl; namespace content { class ChildFrameCompositingHelper; +class CompositorDependencies; class ExternalPopupMenu; class GeolocationDispatcher; class ManifestManager; @@ -125,7 +127,9 @@ class CONTENT_EXPORT RenderFrameImpl static void CreateFrame(int routing_id, int parent_routing_id, int proxy_routing_id, - const FrameReplicationState& replicated_state); + const FrameReplicationState& replicated_state, + CompositorDependencies* compositor_deps, + const FrameMsg_NewFrame_WidgetParams& params); // Returns the RenderFrameImpl for the given routing ID. static RenderFrameImpl* FromRoutingID(int routing_id); @@ -742,6 +746,13 @@ class CONTENT_EXPORT RenderFrameImpl // TODO(creis): Remove this after switching to PlzNavigate. int proxy_routing_id_; + // Used when the RenderFrame is a local root. For now, RenderWidgets are + // added only when a child frame is in a different process from its parent + // frame, but eventually this will also apply to top-level frames. + // TODO(kenrb): Correct the above statement when top-level frames have their + // own RenderWidgets. + scoped_refptr<RenderWidget> render_widget_; + #if defined(ENABLE_PLUGINS) // Current text input composition text. Empty if no composition is in // progress. |