From ff237842462d0fda96bf8018d105561451544dcf Mon Sep 17 00:00:00 2001 From: Calvin Date: Tue, 6 Jan 2026 07:32:12 -0800 Subject: [PATCH] fix: drag regions in child windows (manual backport 40-x-y) (#49312) fix: drag regions in child windows --- shell/browser/api/electron_api_web_contents.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index 3b20e8648b..0b748897ce 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -754,6 +754,10 @@ WebContents::WebContents(v8::Isolate* isolate, script_executor_ = std::make_unique(web_contents); #endif + // TODO: This works for main frames, but does not work for child frames. + // See: https://github.com/electron/electron/issues/49256 + web_contents->SetSupportsDraggableRegions(true); + session_ = Session::CreateFrom(isolate, GetBrowserContext()); SetUserAgent(GetBrowserContext()->GetUserAgent()); @@ -1021,6 +1025,10 @@ void WebContents::InitWithWebContents( browser_context_ = browser_context; web_contents->SetDelegate(this); + // TODO: This works for main frames, but does not work for child frames. + // See: https://github.com/electron/electron/issues/49256 + web_contents->SetSupportsDraggableRegions(true); + #if BUILDFLAG(ENABLE_PRINTING) PrintViewManagerElectron::CreateForWebContents(web_contents.get()); printing::CreateCompositeClientIfNeeded(web_contents.get(), GetUserAgent()); @@ -1777,8 +1785,6 @@ void WebContents::RenderFrameCreated( auto details = gin_helper::Dictionary::CreateEmpty(isolate); details.SetGetter("frame", render_frame_host); Emit("frame-created", details); - content::WebContents::FromRenderFrameHost(render_frame_host) - ->SetSupportsDraggableRegions(true); } }