76c5f5cc8a
In the GN build, libchromiumcontent is no longer a distinct library, but merely a container for a set of scripts and patches. Maintaining those patches in a separate repository is tedious and error-prone, so merge them into the main repo. Once this is merged and GN is the default way to build Electron, the libchromiumcontent repository can be archived.
70 lines
3.4 KiB
Diff
70 lines
3.4 KiB
Diff
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
|