diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc index 09a37c1a2c70..ff8c2db3fdae 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc @@ -399,6 +399,15 @@ viz::FrameSinkId RenderWidgetHostViewBase::FrameSinkIdAtPoint( return frame_sink_id.is_valid() ? frame_sink_id : GetFrameSinkId(); } +RenderWidgetHostViewBase* RenderWidgetHostViewBase::CreateViewForWidget( + RenderWidgetHost* render_widget_host, + RenderWidgetHost* embedder_render_widget_host, + WebContentsView* web_contents_view) { + return web_contents_view->CreateViewForWidget( + render_widget_host, + !!embedder_render_widget_host); +} + void RenderWidgetHostViewBase::ProcessMouseEvent( const blink::WebMouseEvent& event, const ui::LatencyInfo& latency) { diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h index 8e391207a8a7..d3637c82aba9 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h @@ -21,8 +21,10 @@ #include "components/viz/common/surfaces/scoped_surface_id_allocator.h" #include "components/viz/common/surfaces/surface_id.h" #include "content/browser/renderer_host/event_with_latency_info.h" +#include "content/browser/web_contents/web_contents_view.h" #include "content/common/content_export.h" #include "content/public/browser/render_frame_metadata_provider.h" +#include "content/public/browser/render_widget_host.h" #include "content/public/browser/render_widget_host_view.h" #include "content/public/common/input_event_ack_state.h" #include "content/public/common/screen_info.h" @@ -79,10 +81,12 @@ class BrowserAccessibilityManager; class CursorManager; class RenderWidgetHostImpl; class RenderWidgetHostViewBaseObserver; +class RenderWidgetHostViewGuest; class SyntheticGestureTarget; class TextInputManager; class TouchSelectionControllerClientManager; class WebContentsAccessibility; +class WebContentsView; class WebCursor; struct TextInputState; @@ -124,6 +128,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView, float GetDeviceScaleFactor() const final; TouchSelectionControllerClientManager* GetTouchSelectionControllerClientManager() override; + + virtual void InitAsGuest(RenderWidgetHostView* parent_host_view, + RenderWidgetHostViewGuest* guest_view) {} // This only needs to be overridden by RenderWidgetHostViewBase subclasses // that handle content embedded within other RenderWidgetHostViews. @@ -318,6 +325,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView, virtual void ProcessGestureEvent(const blink::WebGestureEvent& event, const ui::LatencyInfo& latency); + virtual RenderWidgetHostViewBase* CreateViewForWidget( + RenderWidgetHost* render_widget_host, + RenderWidgetHost* embedder_render_widget_host, + WebContentsView* web_contents_view); + // Transform a point that is in the coordinate space of a Surface that is // embedded within the RenderWidgetHostViewBase's Surface to the // coordinate space of an embedding, or embedded, Surface. Typically this