refactor: remove CreateViewForWidget patch (#47084)

* refactor: remove CreateViewForWidget patch

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

* chore: rm unintended osr change

Co-authored-by: deepak1556 <hop2deep@gmail.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
This commit is contained in:
trop[bot] 2025-05-14 16:01:44 -05:00 committed by GitHub
parent be5b02386d
commit ec1b0f4923
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 20 additions and 84 deletions

View file

@ -4,7 +4,6 @@ blink_local_frame.patch
can_create_window.patch
disable_hidden.patch
dom_storage_limits.patch
render_widget_host_view_base.patch
render_widget_host_view_mac.patch
webview_cross_drag.patch
gin_enable_disable_v8_platform.patch

View file

@ -1,73 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Anonymous <anonymous@electronjs.org>
Date: Thu, 20 Sep 2018 17:46:21 -0700
Subject: render_widget_host_view_base.patch
... something to do with OSR? and maybe <webview> as well? terrifying.
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 bb7475f1f8be4038c77d2dc68b09a7ac2338b160..c35ef5290ef1f812c5e7ff31d71ae0661b26d124 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.cc
+++ b/content/browser/renderer_host/render_widget_host_view_base.cc
@@ -655,6 +655,13 @@ void RenderWidgetHostViewBase::OnFrameTokenChangedForView(
host()->DidProcessFrame(frame_token, activation_time);
}
+RenderWidgetHostViewBase* RenderWidgetHostViewBase::CreateViewForWidget(
+ RenderWidgetHost* render_widget_host,
+ RenderWidgetHost* embedder_render_widget_host,
+ WebContentsView* web_contents_view) {
+ return web_contents_view->CreateViewForWidget(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 5627ee381a99c49760bbaa6e5e3476d8b4bc8cb1..230e059ee11ed64a1694232dad791fbb5644b578 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.h
+++ b/content/browser/renderer_host/render_widget_host_view_base.h
@@ -30,6 +30,8 @@
#include "components/viz/common/surfaces/scoped_surface_id_allocator.h"
#include "components/viz/common/surfaces/surface_id.h"
#include "content/browser/renderer_host/display_feature.h"
+#include "content/browser/renderer_host/visible_time_request_trigger.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"
@@ -73,11 +75,13 @@ namespace content {
class DevicePosturePlatformProvider;
class MouseWheelPhaseHandler;
class RenderWidgetHostImpl;
+class RenderWidgetHostViewGuest;
class ScopedViewTransitionResources;
class TextInputManager;
class TouchSelectionControllerClientManager;
class TouchSelectionControllerInputObserver;
class WebContentsAccessibility;
+class WebContentsView;
class DelegatedFrameHost;
class SyntheticGestureTarget;
@@ -149,6 +153,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void ProcessGestureEvent(const blink::WebGestureEvent& event,
const ui::LatencyInfo& latency) override;
RenderWidgetHostViewBase* GetRootView() override;
+ virtual RenderWidgetHostViewBase* CreateViewForWidget(
+ RenderWidgetHost* render_widget_host,
+ RenderWidgetHost* embedder_render_widget_host,
+ WebContentsView* web_contents_view);
void OnAutoscrollStart() override;
const viz::DisplayHitTestQueryMap& GetDisplayHitTestQuery() const override;
@@ -198,6 +206,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void ShowInterestInElement(int) override {}
bool IsHTMLFormPopup() const 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.
gfx::PointF TransformPointToRootCoordSpaceF(

View file

@ -170,7 +170,7 @@ class OffScreenRenderWidgetHostView
content::RenderWidgetHostViewBase* CreateViewForWidget(
content::RenderWidgetHost*,
content::RenderWidgetHost*,
content::WebContentsView*) override;
content::WebContentsView*);
const viz::LocalSurfaceId& GetLocalSurfaceId() const override;
const viz::FrameSinkId& GetFrameSinkId() const override;

View file

@ -122,14 +122,19 @@ OffScreenWebContentsView::CreateViewForChildWidget(
auto* web_contents_impl =
static_cast<content::WebContentsImpl*>(web_contents_);
auto* view = static_cast<OffScreenRenderWidgetHostView*>(
web_contents_impl->GetOuterWebContents()
? web_contents_impl->GetOuterWebContents()->GetRenderWidgetHostView()
: web_contents_impl->GetRenderWidgetHostView());
OffScreenRenderWidgetHostView* embedder_host_view = nullptr;
if (web_contents_impl->GetOuterWebContents()) {
embedder_host_view = static_cast<OffScreenRenderWidgetHostView*>(
web_contents_impl->GetOuterWebContents()->GetRenderWidgetHostView());
} else {
embedder_host_view = static_cast<OffScreenRenderWidgetHostView*>(
web_contents_impl->GetRenderWidgetHostView());
}
return new OffScreenRenderWidgetHostView(
transparent_, offscreen_use_shared_texture_, painting_,
view->frame_rate(), callback_, render_widget_host, view, GetSize());
embedder_host_view->frame_rate(), callback_, render_widget_host,
embedder_host_view, GetSize());
}
void OffScreenWebContentsView::RenderViewReady() {

View file

@ -7,6 +7,7 @@
#include <memory>
#include "content/browser/web_contents/web_contents_impl.h" // nogncheck
#include "content/browser/web_contents/web_contents_view.h" // nogncheck
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
@ -111,10 +112,14 @@ WebViewGuestDelegate::CreateNewGuestWindow(
auto* guest_contents_impl =
static_cast<content::WebContentsImpl*>(guest_contents.release());
auto* new_guest_view = guest_contents_impl->GetView();
content::RenderWidgetHostView* widget_view =
new_guest_view->CreateViewForWidget(
guest_contents_impl->GetRenderViewHost()->GetWidget());
if (!create_params.initially_hidden)
content::RenderWidgetHostView* widget_view = nullptr;
if (new_guest_view) {
widget_view = new_guest_view->CreateViewForWidget(
guest_contents_impl->GetRenderViewHost()->GetWidget());
}
if (widget_view && !create_params.initially_hidden)
widget_view->Show();
return base::WrapUnique(
static_cast<content::WebContentsImpl*>(guest_contents_impl));