diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 1faeae3c941f..e49e542bf3ca 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -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 diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch deleted file mode 100644 index 429955c98fb2..000000000000 --- a/patches/chromium/render_widget_host_view_base.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Anonymous -Date: Thu, 20 Sep 2018 17:46:21 -0700 -Subject: render_widget_host_view_base.patch - -... something to do with OSR? and maybe 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( diff --git a/shell/browser/osr/osr_render_widget_host_view.h b/shell/browser/osr/osr_render_widget_host_view.h index f46c7a6c9181..a1bdee8300b6 100644 --- a/shell/browser/osr/osr_render_widget_host_view.h +++ b/shell/browser/osr/osr_render_widget_host_view.h @@ -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; diff --git a/shell/browser/osr/osr_web_contents_view.cc b/shell/browser/osr/osr_web_contents_view.cc index 9a0cfe496fcb..3606e2754ce7 100644 --- a/shell/browser/osr/osr_web_contents_view.cc +++ b/shell/browser/osr/osr_web_contents_view.cc @@ -122,14 +122,19 @@ OffScreenWebContentsView::CreateViewForChildWidget( auto* web_contents_impl = static_cast(web_contents_); - auto* view = static_cast( - 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( + web_contents_impl->GetOuterWebContents()->GetRenderWidgetHostView()); + } else { + embedder_host_view = static_cast( + 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() { diff --git a/shell/browser/web_view_guest_delegate.cc b/shell/browser/web_view_guest_delegate.cc index e8d1d7fe90af..8448a7323739 100644 --- a/shell/browser/web_view_guest_delegate.cc +++ b/shell/browser/web_view_guest_delegate.cc @@ -7,6 +7,7 @@ #include #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(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(guest_contents_impl));