electron/patches/chromium/extend_apply_webpreferences.patch
electron-roller[bot] 9645f7f6d8
chore: bump chromium to 117.0.5884.1 (main) (#38969)
* chore: bump chromium in DEPS to 117.0.5866.0

* chore: bump chromium in DEPS to 117.0.5868.0

* chore: update mas_no_private_api.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4634925

Minor manual patch syncing due to upstream code shear

* chore: update mas_disable_remote_layer.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4647191

Manually sync patch to minor upstream code shear

* chore: update mas_disable_remote_accessibility.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4641746

No manual changes; patch applied with fuzz

* chore: update mas_avoid_usage_of_private_macos_apis.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4634925

Manually sync base/process/launch_mac.cc to minor upstream shear

Manually sync base/mac/foundation_util.mm to upstream changes:
_CFIsObjC use has been removed upstream, so we no longer need
to remove it 🎉

* chore: update printing.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4658496

Manually sync patch to minor upstream code shear

* chore: update disable_color_correct_rendering.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4625254

Manually sync patch to minor upstream code shear

* chore: update feat_expose_raw_response_headers_from_urlloader.patch

Xref: services/network/public/cpp/resource_request.cc

No manual changes; patch applied with fuzz

* chore: update add_electron_deps_to_license_credits_file.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4634961

No manual changes; patch applied with fuzz

* chore: update build_only_use_the_mas_build_config_in_the_required_components.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4648411

No manual changes; patch applied with fuzz

* chore: update patches

* fixup! chore: update add_electron_deps_to_license_credits_file.patch

chore: license files must be an array

* chore: bump chromium in DEPS to 117.0.5870.0

* chore: update patches

* chore: run ./script/gen-libc++-filenames.js

* chore: update json_parse_errors_made_user-friendly.patch

Xref: https://chromium-review.googlesource.com/c/v8/v8/+/4652014

v8 error message changed upstream; update Node test to match it

* chore: bump chromium in DEPS to 117.0.5872.0

* chore: update patches

* chore: explicitly cast x11::Window to unsigned int

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4661049

This is an `enum class Window : uint32_t` defined in ui/gfx/x/xproto.h.
Previous versions of clang let this implicit cast happen,
but it generates a warning in the new clang roll.

* chore: remove unused #include

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4650453

header was removed upstream, so FTBFS unless removed here

* chore: add include guard patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4628373

h/t @jkleinsc

* chore: bump chromium in DEPS to 117.0.5874.0

* chore: update render_widget_host_view_mac.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4661244

Manually sync patch to minor upstream code

* chore: update mas_disable_remote_accessibility.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4653209

Manually sync patch to upstream code shear

* chore: update build_only_use_the_mas_build_config_in_the_required_components.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4653209

Manually sync patch to minor upstream code shear

* chore: update GetInitiatorProcessId()

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4641991

trivial upstream naming change: s/ProcessID/ProcessId/

* chore: sync to upstream SetInputRegion() changes

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4665245

Simple upstream chang: SetInputRegion() used to take a gfx::Rect* where
`nullptr` meant "no opaque region". The function signature changed to
absl::optional<gfx::Rect> w/the same meaning.

* chore: sync to upstream SetOpaqueRegion() changes

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4656738

Simple upstream chang: SetOpaqueRegion() used to take a vector<Rect>* where
`nullptr` meant "no opaque region". The function signature changed to
absl::optional<std::vector<gfx::Rect>> w/the same meaning.

* chore: update patches

* chore: bump chromium in DEPS to 117.0.5876.0

* chore: update mas_disable_remote_accessibility.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4658375

We no longer need to patch out a field that's now removed upstream.
RenderWidgetHostNSViewBridgeOwner.remote_accessibility_element_

* chore: update feat_filter_out_non-shareable_windows_in_the_current_application_in.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4658680

Manually sync patch to upstream code shear (ARC adoption).

* chore: update patches

* fix: -Werror,-Wshadow error in Node.js

* chore: bump chromium in DEPS to 117.0.5878.0

* chore: bump chromium in DEPS to 117.0.5880.0

* chore: bump chromium in DEPS to 117.0.5880.4

* chore: update patches

* 4658680: Convert /content/browser to use ARC

https://chromium-review.googlesource.com/c/chromium/src/+/4658680

* 4669995: Remove CFToNSCast and NSToCFCast

https://chromium-review.googlesource.com/c/chromium/src/+/4669995

* WIP: 4658680: Convert /content/browser to use ARC

https://chromium-review.googlesource.com/c/chromium/src/+/4658680

* chore: update printing patch after rebase

* chore: bump chromium in DEPS to 117.0.5882.0

* Revert "WIP: 4658680: Convert /content/browser to use ARC"

This reverts commit c8559ea448ad93123865a6fa8af6fe2767e43396.

* Revert "4669995: Remove CFToNSCast and NSToCFCast"

This reverts commit 38e145f33d844e077b09e1fb119fae9d5d7bbc3e.

* chore: bump chromium in DEPS to 117.0.5874.0

* 4661244: Convert /content/browser/renderer_host to use ARC

https://chromium-review.googlesource.com/c/chromium/src/+/4661244

* 4653209: Convert /ui/views:views to use ARC

https://chromium-review.googlesource.com/c/chromium/src/+/4653209

* chore: fixup mas_disable_remote_accessibility.patch

* chore: fixup render_widget_host_view_mac.patch

* chore: update to newer clang

* chore: bump chromium in DEPS to 117.0.5884.1

(cherry picked from commit a3879acfde8f3d962d58d6ad0632164ccb88ee63)

* 4669995: Remove CFToNSCast and NSToCFCast

https://chromium-review.googlesource.com/c/chromium/src/+/4669995
(cherry picked from commit 38e145f33d844e077b09e1fb119fae9d5d7bbc3e)
(cherry picked from commit b1224ab7e00aedbd0e5dc78ebb3c6162573b28c4)

* 4658680: Convert /content/browser to use ARC

https://chromium-review.googlesource.com/c/chromium/src/+/4658680
(cherry picked from commit 77039a323b9ebb3e8edb3a92a3b94a8d7d026a32)

* Rename and cleanup ExtensionsBrowserClient functions

| https://chromium-review.googlesource.com/c/chromium/src/+/4665670

(cherry picked from commit 677a2e646a8d82da60dc252b08b320c3ddff6be6)

* chore: bump chromium in DEPS to 117.0.5886.0

* chore: update patches

* Revert "chore: update patches"

This reverts commit db9294f9446492d4a3d63f5f3ecc551aeeeb2e26.

* Revert "chore: bump chromium in DEPS to 117.0.5886.0"

This reverts commit a7de0276e6e0eeecfdbb17f9bbc27c01b4bbfc24.

* build: use built toolchains instead of locally installed VSCode

* fixup: build: use built toolchains instead of locally installed VSCode

* chore: add missing mojo dep

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2023-07-16 16:14:43 +02:00

33 lines
1.7 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
background_color can be updated at runtime, as such we need to apply the
new background color to the WebView 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 891f1f8f11b2bbdb19e260428f84ec658bfb166d..afb5d11c97e4297f459f39415c22cbef32f066f6 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -165,6 +165,7 @@
#include "third_party/blink/renderer/core/view_transition/view_transition_supplement.h"
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#include "third_party/blink/renderer/platform/fonts/generic_font_family_settings.h"
+#include "third_party/blink/renderer/platform/graphics/color.h"
#include "third_party/blink/renderer/platform/graphics/image.h"
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
@@ -1770,6 +1771,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
#if BUILDFLAG(IS_MAC)
web_view_impl->SetMaximumLegibleScale(
prefs.default_maximum_page_scale_factor);
+ SetUseExternalPopupMenus(!prefs.offscreen);
#endif
#if BUILDFLAG(IS_WIN)