mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
* chore: bump chromium in DEPS to 148.0.7739.0 * chore: bump chromium in DEPS to 148.0.7740.0 * 7654582: Delete obsolete kEnableServiceWorkersForChromeScheme feature flag. https://chromium-review.googlesource.com/c/chromium/src/+/7654582 * chore: fixup patch indices * chore: fixup patch indices * 7664982: Move SharedModuleService to //extensions https://chromium-review.googlesource.com/c/chromium/src/+/7664982 * chore: bump chromium in DEPS to 148.0.7741.0 * chore: fixup patch indices * 7666060: [CodeHealth] Replace `RequestPermissions` with `RequestPermissionsFromCurrentDocument` https://chromium-review.googlesource.com/c/chromium/src/+/7666060 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
30 lines
1.4 KiB
Diff
30 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Attard <sattard@slack-corp.com>
|
|
Date: Mon, 8 Mar 2021 16:27:39 -0800
|
|
Subject: extend ApplyWebPreferences with Electron-specific logic
|
|
|
|
On macOS, popup menus are rendered by the main process by default.
|
|
This causes problems in OSR, since when the popup is rendered separately,
|
|
it won't be captured in the rendered image.
|
|
Offscreen can be updated at runtime, as such we need to apply the
|
|
turn on/off ExternalPopupMenu in the ApplyPreferences method.
|
|
There is no current way to attach an observer to these prefs so patching
|
|
is our only option.
|
|
|
|
Ideally we could add an embedder observer pattern here but that can be
|
|
done in future work.
|
|
|
|
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
index 4aa7a851d7280411009ed8a50fd04c78f9cb41cd..d626e66d2059dc7172f28b95637516781ff3f754 100644
|
|
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
@@ -1855,6 +1855,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
|
#if BUILDFLAG(IS_MAC)
|
|
web_view_impl->SetMaximumLegibleScale(
|
|
prefs.default_maximum_page_scale_factor);
|
|
+ web_view_impl->GetChromeClient().SetUseExternalPopupMenus(
|
|
+ !prefs.offscreen);
|
|
#endif
|
|
|
|
#if BUILDFLAG(IS_WIN)
|