chore: bump chromium to 141.0.7346.0 (main) (#47983)

* chore: bump chromium in DEPS to 141.0.7341.0

* chore: bump chromium in DEPS to 141.0.7342.0

* chore: update patches

manually resolved conflict in `osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch` due to https://crrev.com/c/6681354

* 6819541: WebShare: Improve mac share behavior when sharing a URL
https://chromium-review.googlesource.com/c/chromium/src/+/6819541

* Add missing include for SkBitmap

Couldn't quickly find where we lost the full definition in this file's includes. 🤷

* 6771055: [SxS] Move devtools to ContentsContainerView supporting side-by-side.
https://chromium-review.googlesource.com/c/chromium/src/+/6771055

There may be some simplification possible here (set_x, Rect position, ...), but this change is satisfactory to maintain the current behavior.

* 6813689: Switch SystemMemoryInfoKB to use ByteCount
https://chromium-review.googlesource.com/c/chromium/src/+/6813689

* 6818486: Track DevTools feature usage in new badge tracker
https://chromium-review.googlesource.com/c/chromium/src/+/6818486

* chore: bump chromium in DEPS to 141.0.7344.0

* Remove ELECTRON_OZONE_PLATFORM_HINT env var

6819616: Remove OzonePlatformHint | https://chromium-review.googlesource.com/c/chromium/src/+/6819616

See: https://github.com/electron/electron/issues/48001

* chore: update patches

* Add missing include for `base::NumberToString`

* Remove `DESKTOP_STARTUP_ID` code

This was removed upstream in https://chromium-review.googlesource.com/c/chromium/src/+/6819616 and I confirmed with the author that it was an intentional change. Going to mirror upstream and remove it here too.

* chore: bump chromium in DEPS to 141.0.7346.0

* chore: update patches

* 6828465: Reland "Remove BluezDBusThreadManager"
https://chromium-review.googlesource.com/c/chromium/src/+/6828465

* Patch change to Node.js test output

V8 enhanced the stack trace of "thenable" async tasks. A couple of Node.js tests needed to have their snapshots updates to accomodate the extra stack trace frames in the output.

This patch should be upstreamed to Node.js.

See:
6826001: fix thenable async stack trace
https://chromium-review.googlesource.com/c/v8/v8/+/6826001

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
This commit is contained in:
electron-roller[bot] 2025-08-11 12:57:31 +09:00 committed by GitHub
commit 55d8b71d72
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
67 changed files with 228 additions and 352 deletions

2
DEPS
View file

@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
vars = {
'chromium_version':
'140.0.7339.2',
'141.0.7346.0',
'node_version':
'v22.18.0',
'nan_version':

View file

@ -125,16 +125,6 @@ Options:
* `kioclient5`
* `kioclient`
### `ELECTRON_OZONE_PLATFORM_HINT` _Linux_ _Deprecated_
Selects the preferred platform backend used on Linux. `auto` selects Wayland if possible, X11 otherwise.
Options:
* `auto` (Default)
* `wayland`
* `x11`
## Development Variables
The following environment variables are intended primarily for development and

View file

@ -12,6 +12,14 @@ This document uses the following convention to categorize breaking changes:
* **Deprecated:** An API was marked as deprecated. The API will continue to function, but will emit a deprecation warning, and will be removed in a future release.
* **Removed:** An API or feature was removed, and is no longer supported by Electron.
## Planned Breaking API Changes (39.0)
### Removed: `ELECTRON_OZONE_PLATFORM_HINT` evironment variable
The default value of the `--ozone-plaftform` flag [changed to `auto`](https://chromium-review.googlesource.com/c/chromium/src/+/6775426) in Electron 38.
You should use the `XDG_SESSION_TYPE=wayland` environment variable instead to use Wayland.
## Planned Breaking API Changes (38.0)
### Deprecated: `ELECTRON_OZONE_PLATFORM_HINT` environment variable

View file

@ -23,7 +23,6 @@ filenames = {
lib_sources_linux = [
"shell/browser/browser_linux.cc",
"shell/browser/electron_browser_main_parts_linux.cc",
"shell/browser/lib/power_observer_linux.cc",
"shell/browser/lib/power_observer_linux.h",
"shell/browser/linux/unity_service.cc",

View file

@ -10,7 +10,7 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set.
This should be upstreamed.
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
index f9e15ddeeb022b77607ae7880a5a7121abc7a111..954a4966c73a74816131217756f17c04483bb1fe 100644
index 6f8e8dd8e7ddb9e3d4c142493f249f616520d613..f89b2e5b846b3b96c99dea2a3b49bc9823ab51e5 100644
--- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc
@@ -271,6 +271,10 @@ int GpuMain(MainFunctionParams parameters) {

View file

@ -23,7 +23,7 @@ index c26cff0adef977617b10bbaa7c0c13cf5e6e91d3..f9c7af85af33572a88956bf1bc9765e9
int32_t world_id) {}
virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index ede4414f875254b77ffb29d0e1bfb254c619b10f..5f766b7d1bd20131b380e862090716de899d086c 100644
index 7dc7f4d0ae5c553e757ca2df68a9f6121b009778..5ef55881665aae1190336ddd686de7f0f9fc6a4e 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -4676,6 +4676,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
@ -92,7 +92,7 @@ index 36baf908d3be8aed44ff60b8de2cffe2eee15efe..8d73ddb12013ce195026b9f63050cf33
int32_t world_id) = 0;
virtual bool AllowScriptExtensions() = 0;
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
index 22f1a4a3a903cb82a1066642e542bb78bf321d79..77d76bf97976e18a8bd077e005b8a3addf9b029d 100644
index 114cbd9c806572b664b9d9af75955231fa68cc50..03a0b2f762a2d9677212c89e63bb2d2691fac2b7 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
@@ -295,6 +295,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(

View file

@ -8,7 +8,7 @@ WebPreferences of in-process child windows, rather than relying on
process-level command line switches, as before.
diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
index 545a854789199a6f3056bf507f882446a5e11235..e733581553328010275c85465ee3a97a950afe4d 100644
index e66a1b104fbcb6ac81b745a28588a994533745ff..08abd32cebf89d434bf60b4fd420430e88540adc 100644
--- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
+++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
@@ -148,6 +148,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
@ -32,7 +32,7 @@ index 545a854789199a6f3056bf507f882446a5e11235..e733581553328010275c85465ee3a97a
out->accelerated_video_decode_enabled =
data.accelerated_video_decode_enabled();
diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h
index 3283422f7b6da21e6e9c6f35a52a643ba26a5e29..962d10f8166c3765b8d7434ecf941922981e3ce8 100644
index 39eefd4970a93bef42487d51e9c0bdfd76a001a0..a76da90ca59e07ad57ae85ee765b90875b82819c 100644
--- a/third_party/blink/public/common/web_preferences/web_preferences.h
+++ b/third_party/blink/public/common/web_preferences/web_preferences.h
@@ -9,6 +9,7 @@
@ -43,9 +43,9 @@ index 3283422f7b6da21e6e9c6f35a52a643ba26a5e29..962d10f8166c3765b8d7434ecf941922
#include "build/build_config.h"
#include "net/nqe/effective_connection_type.h"
#include "third_party/blink/public/common/common_export.h"
@@ -456,6 +457,19 @@ struct BLINK_COMMON_EXPORT WebPreferences {
// Whether fingerprinting protection based on page content is enabled.
bool content_based_fingerprinting_protection_enabled = false;
@@ -462,6 +463,19 @@ struct BLINK_COMMON_EXPORT WebPreferences {
bool increment_local_surface_id_for_mainframe_same_doc_navigation = true;
#endif // BUILDFLAG(IS_ANDROID)
+ // Begin Electron-specific WebPreferences.
+ bool context_isolation = false;
@ -64,7 +64,7 @@ index 3283422f7b6da21e6e9c6f35a52a643ba26a5e29..962d10f8166c3765b8d7434ecf941922
// chrome, except for the cases where it would require lots of extra work for
// the embedder to use the same default value.
diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
index 49b374461da896943cd3da55ebcd8814098eeba9..13789a02f03dcfdbad798875d109882d9e548dff 100644
index 36e04a5f887fd9102b3d74a4230132ecee780c1b..8e53242f1be83920ca64c95c31aa674e04d2bb81 100644
--- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
+++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
@@ -8,6 +8,7 @@
@ -129,7 +129,7 @@ index 49b374461da896943cd3da55ebcd8814098eeba9..13789a02f03dcfdbad798875d109882d
return r.cookie_enabled;
}
diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
index 60432eee506ddfcb02c5eef396494bea4dc3e263..76c0de3cc8095ab834950e117f8f12fd51e94978 100644
index dd6185b0eacf942d902505ac23bf88059bf2786a..f3f1c71f241db0a90144909971412009e5510b6e 100644
--- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
+++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
@@ -8,9 +8,11 @@ import "third_party/blink/public/mojom/css/preferred_color_scheme.mojom";

View file

@ -49,7 +49,7 @@ index c9f34fa47702504ccdefb8d61c55f5eaae501085..26df03d777c9ea487cae37f3df91d1df
// its owning reference back to our owning LocalFrame.
client_->Detached(type);
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index f4386917072e83f8797d0dbed5f1e2c72659ce80..800a904a8fa47e0a36d8393e11b3e7d7c4a3550e 100644
index f23c955831d9acda8e115e418b0b0f9a29e52d58..dfcc54b3834ca173707bcf97bfa2d72a64638044 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -738,10 +738,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {

View file

@ -8,10 +8,10 @@ categories in use are known / declared. This patch is required for us
to introduce a new Electron category for Electron-specific tracing.
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
index 6c811af11e2aaec3bf329c0a809c0d22a9d20071..95a4b401bf83cd325fab6534f70fc1fc04eea424 100644
index 2213c498dc7dc4560b23bb53e19d6e957dea712d..154a18226ff02089e9b8c46823ccd49ba6f6471f 100644
--- a/base/trace_event/builtin_categories.h
+++ b/base/trace_event/builtin_categories.h
@@ -126,6 +126,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
@@ -122,6 +122,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
perfetto::Category("drm"),
perfetto::Category("drmcursor"),
perfetto::Category("dwrite"),

View file

@ -10,10 +10,10 @@ Needed for:
2) //electron/shell/common:web_contents_utility
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn
index 37e7c48534676c0a67c5cf36512a1ca5386e049b..f354b3251038e8023f8eb4ed07350ce9d4c32ef7 100644
index 981abc2963aaaa8f4cf283cdc0807907500b65eb..4be2f078f0c9890d0bcca635a82711386abae077 100644
--- a/content/public/common/BUILD.gn
+++ b/content/public/common/BUILD.gn
@@ -383,6 +383,8 @@ mojom("interfaces") {
@@ -382,6 +382,8 @@ mojom("interfaces") {
"//content/common/*",
"//extensions/common:mojom",
"//extensions/common:mojom_blink",

View file

@ -33,10 +33,10 @@ index e648bb4ed2ff72441faa8773e449e0b6174f5af5..fd2c1d3ac575d10de7d5c09e4418d172
"//base",
"//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 9c4efeae559f3f752ea9f83904417a35ef436434..ed40f8c920714e6c241cedcbbff6b38ad311489b 100644
index 0aa7413be9e1aecbf24c32a0759a65b0e331f97d..cc444cfd073846696ed8b4ebc532db2b01d4ee6d 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4753,7 +4753,7 @@ static_library("browser") {
@@ -4760,7 +4760,7 @@ static_library("browser") {
]
}
@ -46,10 +46,10 @@ index 9c4efeae559f3f752ea9f83904417a35ef436434..ed40f8c920714e6c241cedcbbff6b38a
# than here in :chrome_dll.
deps += [ "//chrome:packed_resources_integrity_header" ]
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index b950e537f5fc2d8fd6137d9c9131858404e78d9c..dde9dfd95521ceac67dced54efe90e5068eba797 100644
index 71a0b0923b19bcb464134d643c92df063cde49f5..1a1301834c2469e8d92eca183f0d9eaecd30c65d 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -7455,9 +7455,12 @@ test("unit_tests") {
@@ -7464,9 +7464,12 @@ test("unit_tests") {
"//chrome/notification_helper",
]
@ -63,7 +63,7 @@ index b950e537f5fc2d8fd6137d9c9131858404e78d9c..dde9dfd95521ceac67dced54efe90e50
"//chrome//services/util_win:unit_tests",
"//chrome/app:chrome_dll_resources",
"//chrome/app:win_unit_tests",
@@ -8394,6 +8397,10 @@ test("unit_tests") {
@@ -8397,6 +8400,10 @@ test("unit_tests") {
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
]
@ -74,7 +74,7 @@ index b950e537f5fc2d8fd6137d9c9131858404e78d9c..dde9dfd95521ceac67dced54efe90e50
sources += [
# The importer code is not used on Android.
"../common/importer/firefox_importer_utils_unittest.cc",
@@ -8450,7 +8457,6 @@ test("unit_tests") {
@@ -8453,7 +8460,6 @@ test("unit_tests") {
# TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above?
deps += [
"../browser/screen_ai:screen_ai_install_state",

View file

@ -7,7 +7,7 @@ These are variables we add to the root BUILDCONFIG so that they're available
everywhere, without having to import("//electron/.../flags.gni").
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index 9d778df88664f6f4e60d2b5b309b0964a6498f01..a14bccf8538e95591af3f1f0c88a8423a359dec5 100644
index 5af795411d1ddf92238abdf27e649f33951cf6b2..9c11c173d70408f54c1c18ae4306e01a4558aef7 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -123,6 +123,9 @@ if (current_os == "") {

View file

@ -7,10 +7,10 @@ Build libc++ as static library to compile and pass
nan tests
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
index bce370633601c97a35ba50678fa0b8e6799cdb1b..a0dd11a4848328f4c306dad2c7af28c6a47a255a 100644
index 27be83a4f2517fe2023a1ebb990b6e8bbed18f7f..886f02b8831fbb9276749dcd49c7245c47dfadb2 100644
--- a/buildtools/third_party/libc++/BUILD.gn
+++ b/buildtools/third_party/libc++/BUILD.gn
@@ -820,6 +820,7 @@ target(libcxx_target_type, "libc++") {
@@ -851,6 +851,7 @@ target(libcxx_target_type, "libc++") {
# need to explicitly depend on libc++.
visibility = [
"//build/config:common_deps",

View file

@ -9,10 +9,10 @@ potentially prevent a window from being created.
TODO(loc): this patch is currently broken.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 04ab9256afe51df82b2c5a34334a7e98f49bc82a..861468d545856eb894b3eaae943028b954c83b82 100644
index 27ea41fb7d0134dc2e9bc2f2a7c7d85ef5ce61a3..3735d7ed0d719f8957c80030aee86f169ddbf69e 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -9816,6 +9816,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -9817,6 +9817,7 @@ void RenderFrameHostImpl::CreateNewWindow(
last_committed_origin_, params->window_container_type,
params->target_url, params->referrer.To<Referrer>(),
params->frame_name, params->disposition, *params->features,
@ -21,7 +21,7 @@ index 04ab9256afe51df82b2c5a34334a7e98f49bc82a..861468d545856eb894b3eaae943028b9
&no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index be06cbb8229a4cc85abf63a42aef0884e200e59b..c2b6725c51fe8997a23a7cb8b04e715b39382939 100644
index 50aa090d971e4043a9a1067ee2c6e20d21c867f4..32927697a917281fa92bdf829a8f8a25833fcb6a 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5316,6 +5316,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@ -77,10 +77,10 @@ index fc433c5802ecb880f3f144f09c3d318814672213..6a1e1f2cfc60451bb097b3625245fbfb
// Operation result when the renderer asks the browser to create a new window.
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 5fb9980e5f7672a9b518776bcfc9e54726d24a62..707b3ca716d5654ddfcf40f43582524e0c2b6492 100644
index 689203b138adf10a27c47dea61d3fe352df80b1e..2988ef70882ed30105d888491feb88db429c85ca 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -862,6 +862,8 @@ bool ContentBrowserClient::CanCreateWindow(
@@ -867,6 +867,8 @@ bool ContentBrowserClient::CanCreateWindow(
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -90,7 +90,7 @@ index 5fb9980e5f7672a9b518776bcfc9e54726d24a62..707b3ca716d5654ddfcf40f43582524e
bool opener_suppressed,
bool* no_javascript_access) {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 7e953576d8be22f2efa49ee8eb349ddab63fd276..84b2ec91bc0ec42f74e91c4d4a9d71b0ffc0bcd8 100644
index ff5eca7750ef324cd036251affc0263f230710bb..f9372f547ef0d5914ba53b75aba44580a573fba0 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -199,6 +199,7 @@ class NetworkService;
@ -101,7 +101,7 @@ index 7e953576d8be22f2efa49ee8eb349ddab63fd276..84b2ec91bc0ec42f74e91c4d4a9d71b0
} // namespace network
namespace sandbox {
@@ -1428,6 +1429,8 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1435,6 +1436,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -170,10 +170,10 @@ index a4b8c5f950549e018c0d09522ff8890a1a774966..6c4c6265c26f5304b8f77d7fc5a4fad5
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 7e54042f2fb8b36072a7a47f00d22385a641284e..ede4414f875254b77ffb29d0e1bfb254c619b10f 100644
index 01099351f93a2c1c2ed77e75c5bfb9d18f0f9495..7dc7f4d0ae5c553e757ca2df68a9f6121b009778 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -6774,6 +6774,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
@@ -6770,6 +6770,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
GetWebFrame()->IsAdScriptInStack());

View file

@ -6,10 +6,10 @@ Subject: chore: add electron deps to gitignores
Makes things like "git status" quicker when developing electron locally
diff --git a/.gitignore b/.gitignore
index 83c172f64cc3b02f7a739cb2754b784b7cc5427d..e7e272eababc23b5fc5f0b0c619948d7174206fa 100644
index 92a2addc902f74544df918229537d2a450ad8cbd..4e19bc4e7f83da466f02faaa20ed221f83aacf80 100644
--- a/.gitignore
+++ b/.gitignore
@@ -223,6 +223,7 @@ vs-chromium-project.txt
@@ -225,6 +225,7 @@ vs-chromium-project.txt
/data
/delegate_execute
/device/serial/device_serial_mojo.xml

View file

@ -10,10 +10,10 @@ Subject: chore: "grandfather in" Electron Views and Delegates
6448510: Lock further access to View::set_owned_by_client(). | https://chromium-review.googlesource.com/c/chromium/src/+/6448510
diff --git a/ui/views/view.h b/ui/views/view.h
index b3fa15b412fee09234839cb87d26b881697033fe..24a74c03af75ba44d3fffa395411b9b8cef36acf 100644
index 08ec59edf033052233a105ab13cf00ada8bd4e38..b80d3ab4eb24487de6a8a27d67d23d275513b80e 100644
--- a/ui/views/view.h
+++ b/ui/views/view.h
@@ -81,6 +81,19 @@ class ArcNotificationContentView;
@@ -80,6 +80,19 @@ class ArcNotificationContentView;
class WideFrameView;
} // namespace ash

View file

@ -61,10 +61,10 @@ index dcda976f4c3cc0ba6bcf015d5bf7435df009ae30..13cfa18bf406f244ec361a1230ccce44
Widget* GetWidget();
const Widget* GetWidget() const;
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index eb1bc6840fcf026ed2ab902bae534607af84abee..88a4eeea8ff5226600c804c6df5832f93585b327 100644
index 3637176c05a7074cb9042b74f7c9ea2e29af5ee5..3ed583cf09dec0ae83c3c9449e6ef7e1fa92aa8d 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -3220,15 +3220,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3239,15 +3239,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
}
// We must let Windows handle the caption buttons if it's drawing them, or
// they won't work.
@ -86,7 +86,7 @@ index eb1bc6840fcf026ed2ab902bae534607af84abee..88a4eeea8ff5226600c804c6df5832f9
return 0;
}
}
@@ -3251,6 +3255,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3270,6 +3274,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
// handle alt-space, or in the frame itself.
is_right_mouse_pressed_on_caption_ = false;
ReleaseCapture();
@ -94,7 +94,7 @@ index eb1bc6840fcf026ed2ab902bae534607af84abee..88a4eeea8ff5226600c804c6df5832f9
// |point| is in window coordinates, but WM_NCHITTEST and TrackPopupMenu()
// expect screen coordinates.
POINT screen_point = CR_POINT_INITIALIZER_FROM_LPARAM(l_param);
@@ -3258,7 +3263,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3277,7 +3282,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
w_param = static_cast<WPARAM>(SendMessage(
hwnd(), WM_NCHITTEST, 0, MAKELPARAM(screen_point.x, screen_point.y)));
if (w_param == HTCAPTION || w_param == HTSYSMENU) {

View file

@ -14,7 +14,7 @@ track down the source of this problem & figure out if we can fix it
by changing something in Electron.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 158f4dc1f14fff6298aad03b3002d5d20534285d..5f467feafef5f0b2c486432f3f29303fe5e40f12 100644
index 2482c7544c44204073d629389ba02cce0d665529..d60ab39f3adfa225b7b4cd413c707fd05b88f924 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5287,7 +5287,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(

View file

@ -14,7 +14,7 @@ This change patches it out to prevent the DCHECK.
It can be removed once/if we see a better solution to the problem.
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index a7ea6f13e6506301696bf6f8c654e5dcc26d7fde..e7d359de77854b6f7f1c71c683565fe7cf5fa103 100644
index 8221d7b96395b06ee177be302dd476c83f569eaf..4c4500421f9cd164ab49b85457e6e37e0b4a703c 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -226,7 +226,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(

View file

@ -7,7 +7,7 @@ Electron does not support Profiles, so we need to patch it out of any
code that we use.
diff --git a/chrome/browser/pdf/chrome_pdf_stream_delegate.cc b/chrome/browser/pdf/chrome_pdf_stream_delegate.cc
index e3b9f14a4cf2167064ce6716053e663adffa1542..65f13a4607c8145858fd47d81cb9960c44272d79 100644
index c390a83277f564f1a67a7dcffa36b9d77a35bc0b..b13273a4b194ad5e8ca2d1639ebca831f9607b1e 100644
--- a/chrome/browser/pdf/chrome_pdf_stream_delegate.cc
+++ b/chrome/browser/pdf/chrome_pdf_stream_delegate.cc
@@ -45,6 +45,7 @@ namespace {
@ -27,10 +27,10 @@ index e3b9f14a4cf2167064ce6716053e663adffa1542..65f13a4607c8145858fd47d81cb9960c
// When the enterprise policy is not set, use finch/feature flag choice.
return base::FeatureList::IsEnabled(
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
index e6ca5e24870f8449b6ea95bd5d3c7fc88225b776..8d27c28e527f123b6b6a7f12844897ce5057e26e 100644
index 56eeddf89e225119a5a50b05562f1de93ed698f7..dbb9c96117816121665288a50216b1dc4ca35494 100644
--- a/chrome/browser/pdf/pdf_extension_util.cc
+++ b/chrome/browser/pdf/pdf_extension_util.cc
@@ -248,10 +248,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
@@ -252,10 +252,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(ENABLE_PDF_INK2)
bool IsPdfAnnotationsEnabledByPolicy(content::BrowserContext* context) {

View file

@ -80,10 +80,10 @@ index b6582b4013d9682d32bd524b4053b443a4df00f8..afcbce72e0f247b4d5a637b27c9f25d9
content::WebContents* source,
const content::OpenURLParams& params,
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index dec508b3eb4d55b661e258a6d8b01aea8309ef14..b91e06a75592fdb672ba9b4628cc81a4e538e883 100644
index a1d4f57fe0d8cc69471c57bcdf17bee7b2d8aecc..a2387a6fdfbddceea8c21b449197a11215c423e9 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -2348,8 +2348,7 @@ bool Browser::IsWebContentsCreationOverridden(
@@ -2371,8 +2371,7 @@ bool Browser::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
@ -93,7 +93,7 @@ index dec508b3eb4d55b661e258a6d8b01aea8309ef14..b91e06a75592fdb672ba9b4628cc81a4
if (IsActorOperatingOnWebContents(
profile(), content::WebContents::FromRenderFrameHost(opener))) {
// If an ExecutionEngine is acting on the opener, prevent it from creating
@@ -2361,7 +2360,7 @@ bool Browser::IsWebContentsCreationOverridden(
@@ -2384,7 +2383,7 @@ bool Browser::IsWebContentsCreationOverridden(
return (window_container_type ==
content::mojom::WindowContainerType::BACKGROUND &&
ShouldCreateBackgroundContents(source_site_instance, opener_url,
@ -103,10 +103,10 @@ index dec508b3eb4d55b661e258a6d8b01aea8309ef14..b91e06a75592fdb672ba9b4628cc81a4
WebContents* Browser::CreateCustomWebContents(
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index a87e55f9381c9a59096fe90dfa15e2a25bb3ad0d..6067bab9ad7ace935f319c27fab8471db0cd3acc 100644
index e7c724f352f226de2e3bdba58fea2fd6d7a163f0..5436886c68f329081ccd9a6a54501de29728e1f1 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -944,8 +944,7 @@ class Browser : public TabStripModelObserver,
@@ -947,8 +947,7 @@ class Browser : public TabStripModelObserver,
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
@ -222,7 +222,7 @@ index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c5
content::WebContents* AddNewContents(
content::WebContents* source,
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 82a0eafc85ca825e04037027d0189899e47b9c99..8527faad558fd9409711e374ed6299039891c82b 100644
index 860b5f5eca90b9345073fbee2db016cc6c56154e..64f7b20657c9e004083ecb32544d0dcd1a443343 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5250,8 +5250,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@ -384,10 +384,10 @@ index 756d4192271d6a65cfe8e1511737c565b543cb1f..5688f6f745056565c3c01947f741c4d1
int opener_render_process_id,
int opener_render_frame_id,
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
index cb6c4637aab67a4a51c4afd584733e70d3f1041e..f8ef39e6af24b75daec9392d5932e6eab0c510c6 100644
index 1d95f5b521d7ab586fcecda6d6f822b432480367..b534327a8bd5b2c31522339b30caf123734c5cc3 100644
--- a/headless/lib/browser/headless_web_contents_impl.cc
+++ b/headless/lib/browser/headless_web_contents_impl.cc
@@ -207,8 +207,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
@@ -208,8 +208,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,

View file

@ -94,10 +94,10 @@ index db611d99a6c0f18f39967b38791822fda7d175b5..cc150475de655d5ef20a107ae3ef80c0
friend class ContentClientCreator;
friend class ContentClientInitializer;
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index c1320f5e482d17293b3037267f90fbf17cce3bfa..f83461b3a1aff229164358e53847065ddae5ddf1 100644
index f3853a7b412d2a86dfd915441d0dffd4199d5c41..1abeb30142251c7abea1b33f7921f79d85532475 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
@@ -657,8 +657,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
@@ -651,8 +651,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
#if defined(V8_USE_EXTERNAL_STARTUP_DATA)
@ -107,7 +107,7 @@ index c1320f5e482d17293b3037267f90fbf17cce3bfa..f83461b3a1aff229164358e53847065d
if (g_mapped_snapshot) {
// TODO(crbug.com/40558459): Confirm not loading different type of snapshot
// files in a process.
@@ -667,10 +666,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
@@ -661,10 +660,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
base::MemoryMappedFile::Region file_region;
base::File file =

View file

@ -8,10 +8,10 @@ Allow registering custom protocols to handle service worker main script fetching
Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511
diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc
index 3202822020573106b0ee2305f08971b3b542be69..9a033cb1f48288802fb349e885a152952fe95b98 100644
index 6bcf498a08a4600b6fb4892e395d6d20bf771057..5d4b50fbfdb43a3efee99f2e27b7fed1fac42e9e 100644
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
@@ -1941,6 +1941,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1956,6 +1956,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
loader_factory_bundle_info =
context()->loader_factory_bundle_for_update_check()->Clone();
@ -38,7 +38,7 @@ index 3202822020573106b0ee2305f08971b3b542be69..9a033cb1f48288802fb349e885a15295
if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig(
browser_context(), scope)) {
// If this is a Service Worker for a WebUI, the WebUI's URLDataSource
@@ -1960,9 +1980,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1975,9 +1995,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
features::kEnableServiceWorkersForChromeScheme) &&
scope.scheme_piece() == kChromeUIScheme) {
config->RegisterURLDataSource(browser_context());
@ -49,7 +49,7 @@ index 3202822020573106b0ee2305f08971b3b542be69..9a033cb1f48288802fb349e885a15295
.emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory(
browser_context(), kChromeUIScheme,
base::flat_set<std::string>()));
@@ -1970,9 +1988,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1985,9 +2003,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
features::kEnableServiceWorkersForChromeUntrusted) &&
scope.scheme_piece() == kChromeUIUntrustedScheme) {
config->RegisterURLDataSource(browser_context());

View file

@ -6,7 +6,7 @@ Subject: fix: disabling compositor recycling
Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron.
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index f26dd97bebd2c467d5a13b98b3f75afb14a615c2..20f73565457d38c3af87e9d76a1df527490cb217 100644
index 59c8d5a2e687ac6148889c87f353b33959e276f6..7ef10194f02e32a9ec137f7f2519c4a834b81b7a 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -561,7 +561,11 @@

View file

@ -19,10 +19,10 @@ index 671960fb876b656abc572664cd1f28492c799123..896721c02c1cf0dac03d98b152af210e
excluded_margin);
}
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index 6c7e1291817f3eea03da90c206bd5b3a9b9d9beb..16efdf8effa060e489ba02f0cc086bfb0246cc26 100644
index df17e97666de639f05b92a79ee7fbd4a3da6c64f..f404c718e0242ec9269e7d14eb236aa928fb5d58 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -1049,8 +1049,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
@@ -1050,8 +1050,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
void HWNDMessageHandler::SetAspectRatio(float aspect_ratio,
const gfx::Size& excluded_margin) {

View file

@ -20,7 +20,7 @@ making three primary changes to Blink:
* Controls whether the CSS rule is available.
diff --git a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
index e22f8bcb34f86fab48ac2dfb1b2b804d1d13d485..95f63af327359d9b16fd1002a85874c7ea39ac74 100644
index bb284c62d1d0dcd693bcb092044e6723bb339258..3c754cf37c18d0d17dc27e184ba5e8c5ebf8bdae 100644
--- a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
+++ b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
@@ -48,6 +48,7 @@ enum CSSSampleId {
@ -45,10 +45,10 @@ index e189d584f05f2ce6354c03a9b19f56985df8a15e..41b430e8f2416be098494f5c49fb97ca
'internal-forced-visited-'):
internal_visited_order = 0
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
index 7a974e81271e2f0193d8d311e96aa1e4f783d01f..0e8fa29cad7dee14cd38c808a6eeb49cfcc9879f 100644
index d5405c38bd0e7489b41935fe70e9b5896d872820..35019460c2e6f83ff5b07f0996d8fa32ca3b389e 100644
--- a/third_party/blink/renderer/core/css/css_properties.json5
+++ b/third_party/blink/renderer/core/css/css_properties.json5
@@ -8966,6 +8966,26 @@
@@ -8968,6 +8968,26 @@
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
},
@ -76,7 +76,7 @@ index 7a974e81271e2f0193d8d311e96aa1e4f783d01f..0e8fa29cad7dee14cd38c808a6eeb49c
{
name: "-internal-visited-color",
diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc
index 2e4d05c1004093e7b694aaa4c61890837c522be5..756360fad130635ab95ab10c31ea044a54914d25 100644
index 687332cf68b3b826d7dcbd5dc10d47f0cd7ce688..653bbb8aef7e6edb31d63b02a9799d5454ce8d57 100644
--- a/third_party/blink/renderer/core/css/css_property_equality.cc
+++ b/third_party/blink/renderer/core/css/css_property_equality.cc
@@ -352,6 +352,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property,
@ -89,10 +89,10 @@ index 2e4d05c1004093e7b694aaa4c61890837c522be5..756360fad130635ab95ab10c31ea044a
return a.EmptyCells() == b.EmptyCells();
case CSSPropertyID::kFill:
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
index 5024cbbc9c7030126b3ea79d62a94c3655adbd47..087717498eeb43208f9e430adeb671cf98e650e0 100644
index 7611587659b5eeccc84dc69bd50080bffaee0ea7..48f606df9c60e792d81d3a44d5acb66e3995052d 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
@@ -12273,5 +12273,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
@@ -12279,5 +12279,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
CSSValueID::kNone>(stream);
}
@ -130,10 +130,10 @@ index 5024cbbc9c7030126b3ea79d62a94c3655adbd47..087717498eeb43208f9e430adeb671cf
} // namespace css_longhand
} // namespace blink
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
index 0731f31a86e413db570c5337fbb69f044b22a68d..34943df6b2d259d70925427b680cba2300491ff5 100644
index 7a5a5e370daea769e710f56a8004d79efa721268..4ba371436c33049952d919dc734be835dfbc783a 100644
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
@@ -4021,6 +4021,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback(
@@ -4022,6 +4022,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback(
return PositionTryFallback(scoped_name, tactic_list);
}
@ -150,10 +150,10 @@ index 0731f31a86e413db570c5337fbb69f044b22a68d..34943df6b2d259d70925427b680cba23
const CSSValue& value) {
const auto& list = To<CSSValueList>(value);
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
index d8608ef73c9c362c2284d34c453ae3394c3bd844..04ec67d5ae60b065f35795e5239e1f66845d199f 100644
index 851355b1dc6650cded3d847b80917fcfe10c9239..3663993ca5fbc5a9fc2e45c76570cc484c28ec70 100644
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
@@ -434,6 +434,7 @@ class StyleBuilderConverter {
@@ -435,6 +435,7 @@ class StyleBuilderConverter {
static PositionTryFallback ConvertSinglePositionTryFallback(
StyleResolverState&,
const CSSValue&);
@ -201,10 +201,10 @@ index ec80337fdac36fa1636f5142c3827d3bbc81644c..634db12dfb443acabde79e9faf59cb84
return result;
}
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 67f6aecb0f50bb58266cec93be57c5c86701f33c..adda233b4b9f6639852e21591f11b16873e2f39a 100644
index a33b5209d940d29ae607a05e993e6d5a34aa674f..72e1b4f8a8bbc879dc9e466b76e75d5366199ef8 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1656,6 +1656,8 @@ component("platform") {
@@ -1657,6 +1657,8 @@ component("platform") {
"widget/widget_base.h",
"widget/widget_base_client.h",
"windows_keyboard_codes.h",
@ -312,7 +312,7 @@ index 7e3d46902fbf736b4240eb3fcb89975a7b222197..57fdc89fc265ad70cb0bff8443cc1026
auto DrawAsSinglePath = [&]() {
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 5b4a8a932a360b0fb3c9a488c8d97c44b4c77ed6..ab8677509fe77f16c0bc67333fa9967fb8ef4564 100644
index ea02c7d8861a7d465a948ec0ec12f818651d1baa..53b392c76821acc067b348e4abc485a2605e056b 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -214,6 +214,10 @@

View file

@ -32,7 +32,7 @@ index fe0f15f50e1b68579cd1f1d2749e056f15854ace..2aa7d12c278dee9dd987aa5d1aba9d9b
break;
}
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
index 2780fe557f6523996d7bba368488f1bddf53e2d1..cb3faf970f20047f1e0a1fd4c844a173f681776a 100644
index 93375d87a26961edd8ae0c25fecc0ea5afc8c0bc..f6a28f5efae758a93aa52ebd28e25ece996f0e7e 100644
--- a/content/browser/permissions/permission_controller_impl.cc
+++ b/content/browser/permissions/permission_controller_impl.cc
@@ -88,6 +88,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
@ -119,10 +119,10 @@ index 36410ff29d9c82e59f93fbb82968064bd330dfde..6c3f994e0b184f78bd9442002bb4dfae
virtual void PassiveInsecureContentFound(const WebURL&) {}
diff --git a/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc b/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc
index c269698764bb8ae7f85c5d476436f5ae5209576d..65d7fd94128a755609192784722074c6c2b7b7cf 100644
index a5ac9d4a417ac8e75e761c40841f41ab9057c761..292bd1f9de78828e739dae24a45a1dd3d6585240 100644
--- a/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc
+++ b/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc
@@ -122,7 +122,7 @@ bool ClipboardCommands::CanReadClipboard(LocalFrame& frame,
@@ -123,7 +123,7 @@ bool ClipboardCommands::CanReadClipboard(LocalFrame& frame,
return true;
}
return frame.GetContentSettingsClient() &&
@ -131,7 +131,7 @@ index c269698764bb8ae7f85c5d476436f5ae5209576d..65d7fd94128a755609192784722074c6
}
bool ClipboardCommands::CanWriteClipboard(LocalFrame& frame,
@@ -311,7 +311,7 @@ bool ClipboardCommands::PasteSupported(LocalFrame* frame) {
@@ -312,7 +312,7 @@ bool ClipboardCommands::PasteSupported(LocalFrame* frame) {
return true;
}
return frame->GetContentSettingsClient() &&

View file

@ -31,10 +31,10 @@ index 48dfca966a594f54523c129fa49d2a561cb41dec..049cf4f1adcf4f64cd8692f6e6eda741
// Register the CGWindowID (used to identify this window for video capture)
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
index 2306354eaf3441c875da54e82103b6c57bce02f6..75575ab4998f676b4dd4f23a368c7661a32906f7 100644
index 6153ff4982662491be819d822448b64ab18b73d8..75376656300c1b7ebf13fdc2280881cf03baefc7 100644
--- a/ui/views/widget/widget.h
+++ b/ui/views/widget/widget.h
@@ -1284,6 +1284,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1295,6 +1295,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// True if widget was created in headless mode.
bool is_headless() const { return is_headless_; }

View file

@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the
BrowserWindow.
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index 16efdf8effa060e489ba02f0cc086bfb0246cc26..eb1bc6840fcf026ed2ab902bae534607af84abee 100644
index f404c718e0242ec9269e7d14eb236aa928fb5d58..3637176c05a7074cb9042b74f7c9ea2e29af5ee5 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -3824,15 +3824,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
@@ -3843,15 +3843,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
delegate_->GetMinMaxSize(&min_window_size, &max_window_size);
min_window_size = delegate_->DIPToScreenSize(min_window_size);
max_window_size = delegate_->DIPToScreenSize(max_window_size);

View file

@ -28,10 +28,10 @@ The patch should be removed in favor of either:
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index 24d2fc92266d1d398ee43e08a56cc05d9ff6eca3..748d041e518350f49c6aef88275893c19616d014 100644
index 17aea8c85f7fba683c64455ce31e430afc256cef..386c9969c074aa971d53cedbd942be3e8575337a 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -11374,6 +11374,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
@@ -11366,6 +11366,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
target_rph_id);
}

View file

@ -13,10 +13,10 @@ messages in the legacy window handle layer.
These conditions are regularly hit with WCO-enabled windows on Windows.
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc
index 156fa90eada19fab3a1688302bbf3687cab6ab32..b13d4fcea374eff4309b4fbe84d53dd00c817e37 100644
index 475629d48e8807547e0c79f6fa00d458bac3416c..97f4520fbf7797b19747b5101097d93cf475fb5c 100644
--- a/content/browser/renderer_host/legacy_render_widget_host_win.cc
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc
@@ -366,12 +366,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
@@ -375,12 +375,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
WPARAM w_param,
LPARAM l_param,
BOOL& handled) {
@ -31,7 +31,7 @@ index 156fa90eada19fab3a1688302bbf3687cab6ab32..b13d4fcea374eff4309b4fbe84d53dd0
tme.hwndTrack = hwnd();
tme.dwHoverTime = 0;
TrackMouseEvent(&tme);
@@ -404,7 +404,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
@@ -413,7 +413,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
// the picture.
if (!handled &&
(message >= WM_NCMOUSEMOVE && message <= WM_NCXBUTTONDBLCLK)) {
@ -44,7 +44,7 @@ index 156fa90eada19fab3a1688302bbf3687cab6ab32..b13d4fcea374eff4309b4fbe84d53dd0
}
return ret;
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.h b/content/browser/renderer_host/legacy_render_widget_host_win.h
index 17952b4b6ab559ba1c9076b100b060a7011edeec..1eda20e67d3b3184bec154f24c4259bb4a49b099 100644
index f9699ff0abf9036e9e1cabf626aa6395584cf896..94a8a50cb630182103c4256352d7a8a2acc8c76a 100644
--- a/content/browser/renderer_host/legacy_render_widget_host_win.h
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.h
@@ -105,6 +105,7 @@ class CONTENT_EXPORT LegacyRenderWidgetHostHWND

View file

@ -87,10 +87,10 @@ index 75df43e3cd2721a92c90c18154d53d5c203e2465..ce42c75c8face36d21f53f44c0201ac4
// The view with active text input state, i.e., a focused <input> element.
// It will be nullptr if no such view exists. Note that the active view
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index e2a7b0295d4cfb53c235bbd4652a5a939e854357..158f4dc1f14fff6298aad03b3002d5d20534285d 100644
index 615d2de881f64f322ebfcb8065e87cfcde6b649e..2482c7544c44204073d629389ba02cce0d665529 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -10117,7 +10117,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
@@ -10103,7 +10103,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
"WebContentsImpl::OnFocusedElementChangedInFrame",
"render_frame_host", frame);
RenderWidgetHostViewBase* root_view =

View file

@ -18,10 +18,10 @@ or resizing, but Electron does not seem to run into that issue
for opaque frameless windows even with that block commented out.
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index 88a4eeea8ff5226600c804c6df5832f93585b327..45b9be8cef981c570f7975f4bbd1d6d2fcc39afb 100644
index 3ed583cf09dec0ae83c3c9449e6ef7e1fa92aa8d..1287e9eda295061a7ee9b758b3c0618933896d82 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -1856,7 +1856,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
@@ -1857,7 +1857,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
SendMessage(hwnd(), WM_CHANGEUISTATE, MAKELPARAM(UIS_CLEAR, UISF_HIDEFOCUS),
0);

View file

@ -36,10 +36,10 @@ index d8be4dffee3947e7ac6dc09cb8e1f2a6a834789b..8eb539af74c1934a55f9b14ad97dd93b
// Overridden from DesktopWindowTreeHost:
void Init(const Widget::InitParams& params) override;
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index 45b9be8cef981c570f7975f4bbd1d6d2fcc39afb..d73e822bfe9a86869cf5b8d1f63d6010b9ca95df 100644
index 1287e9eda295061a7ee9b758b3c0618933896d82..e2b899dd25c12448068c99f1344cba4fea26e2c6 100644
--- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc
@@ -993,13 +993,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
@@ -994,13 +994,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
void HWNDMessageHandler::PaintAsActiveChanged() {
if (!delegate_->HasNonClientView() || !delegate_->CanActivate() ||
@ -55,7 +55,7 @@ index 45b9be8cef981c570f7975f4bbd1d6d2fcc39afb..d73e822bfe9a86869cf5b8d1f63d6010
}
void HWNDMessageHandler::SetWindowIcons(const gfx::ImageSkia& window_icon,
@@ -1083,7 +1083,14 @@ void HWNDMessageHandler::SizeConstraintsChanged() {
@@ -1084,7 +1084,14 @@ void HWNDMessageHandler::SizeConstraintsChanged() {
// allowing ui::GetResizableFrameThickness() to be used consistently when
// removing the visible system frame.
const bool had_caption_on_init = window_style() & WS_CAPTION;
@ -71,7 +71,7 @@ index 45b9be8cef981c570f7975f4bbd1d6d2fcc39afb..d73e822bfe9a86869cf5b8d1f63d6010
const bool can_maximize = can_resize && delegate_->CanMaximize();
auto set_style_func = [&style](LONG bit, bool should_set) {
@@ -1678,11 +1685,16 @@ void HWNDMessageHandler::ResetWindowRegion(bool force, bool redraw) {
@@ -1679,11 +1686,16 @@ void HWNDMessageHandler::ResetWindowRegion(bool force, bool redraw) {
// through, but that isn't the case when using Direct3D to draw transparent
// windows. So we route translucent windows throught to the delegate to
// allow for a custom hit mask.
@ -89,7 +89,7 @@ index 45b9be8cef981c570f7975f4bbd1d6d2fcc39afb..d73e822bfe9a86869cf5b8d1f63d6010
return;
}
@@ -2396,17 +2408,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
@@ -2415,17 +2427,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
delegate_->SchedulePaint();
}

View file

@ -20,7 +20,7 @@ index fc9cb7e68bdad4c40fab63f70243e09ad005ab80..199fbceda530da31aab9126d78b4bd21
injector_->ExpectsResults(), injector_->ShouldWaitForPromise());
}
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
index ca8fa39d6a28efd602f064c68da33d562aab744a..589183918468cfd09ad4333e1118cfa5382de67f 100644
index ca2155188474863dca7a811a9c484027447026e8..4c4064f99bbffe03c525694797aef70e9decd346 100644
--- a/third_party/blink/public/web/web_local_frame.h
+++ b/third_party/blink/public/web/web_local_frame.h
@@ -462,6 +462,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
@ -59,7 +59,7 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..a54f1b3351efd2d8f324436f7f35cd43
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index 800a904a8fa47e0a36d8393e11b3e7d7c4a3550e..3b161ce6b69a32bb283be3ef92c0b7da9e5b8320 100644
index dfcc54b3834ca173707bcf97bfa2d72a64638044..b8d86c9de9959876077b7530ffb8c33383596e99 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -3180,6 +3180,7 @@ void LocalFrame::RequestExecuteScript(
@ -80,7 +80,7 @@ index 800a904a8fa47e0a36d8393e11b3e7d7c4a3550e..3b161ce6b69a32bb283be3ef92c0b7da
void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() {
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
index ee7cca8f64d4dfddb3eabdfb18c9f25c3d0776fe..3f2dc5242814eb27b7655aef360e12038de42ede 100644
index cb4957866c59415533a39a7708ab884ec50438b3..21dd3a58e4aaebbba800c58a2e5425ea2ddf7dc4 100644
--- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -835,6 +835,7 @@ class CORE_EXPORT LocalFrame final
@ -203,10 +203,10 @@ index fa65331f40b90d812b71a489fd560e9359152d2b..390714d631dc88ef92d59ef9618a5706
const mojom::blink::UserActivationOption user_activation_option_;
const mojom::blink::LoadEventBlockingOption blocking_option_;
diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc
index dad0c67f5dced044d4c20bd17c9b1925c41007c6..2078a8339f9fcba15c8e0f381794572478c99e21 100644
index 0a3c9e8b823fac2db1f707cbb16a4e3a6ec00a30..bf79be9f11bc33ead131be77e2c7a33b69cfd64b 100644
--- a/third_party/blink/renderer/core/frame/web_frame_test.cc
+++ b/third_party/blink/renderer/core/frame/web_frame_test.cc
@@ -299,6 +299,7 @@ void ExecuteScriptsInMainWorld(
@@ -295,6 +295,7 @@ void ExecuteScriptsInMainWorld(
DOMWrapperWorld::kMainWorldId, sources, user_gesture,
mojom::blink::EvaluationTiming::kSynchronous,
mojom::blink::LoadEventBlockingOption::kDoNotBlock, std::move(callback),
@ -215,7 +215,7 @@ index dad0c67f5dced044d4c20bd17c9b1925c41007c6..2078a8339f9fcba15c8e0f3817945724
mojom::blink::WantResultOption::kWantResult, wait_for_promise);
}
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
index c4aceecbb08cada3486ccb551fca0cabae134d7f..d6b8bf14ab4bac1b167ca7ffa4c242af27dac491 100644
index b6e70d0818cea431bba30785710f488bc37ef0f8..58c46b7926503283e615167e45981597b2a66d9c 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -1121,14 +1121,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
@ -237,7 +237,7 @@ index c4aceecbb08cada3486ccb551fca0cabae134d7f..d6b8bf14ab4bac1b167ca7ffa4c242af
bool WebLocalFrameImpl::IsInspectorConnected() {
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
index 3a3fcb811fa3657c0af80d851a848855c9caf91d..b7a667d468e8b8d89488c8d5a7a05c41e93c625d 100644
index a605d360906b68cd55bba57d383ff92a326d8b98..2806254047b707b65ea6117066734505b715f6d7 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
@@ -199,6 +199,7 @@ class CORE_EXPORT WebLocalFrameImpl final

View file

@ -20,7 +20,7 @@ index 651cb633d791d769ae2758930e7fb6310aa3637b..5f2da839ab5ddd05d1242d07a2b24c26
}
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 84b2ec91bc0ec42f74e91c4d4a9d71b0ffc0bcd8..ea191e8305b3945a4ca3cd555d9649b905d12e19 100644
index f9372f547ef0d5914ba53b75aba44580a573fba0..3d7b749b90d3aa59c17f4d3220805dda263b7037 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -337,6 +337,11 @@ class CONTENT_EXPORT ContentBrowserClient {

View file

@ -41,10 +41,10 @@ index ff42cfbb6a228e902317c7e3ab035d8437d5dd62..e27f177ce27e177abf6cee84cd466e7a
// Returns whether `Initialize` has already been invoked in the process.
// Initialization is a one-way operation (i.e., this method cannot return
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index fe0e40adb29fb91ec551f834b876f55ab33bb110..c1320f5e482d17293b3037267f90fbf17cce3bfa 100644
index 4f5a3cd7bedf7afaffc36dc47831cc500a32ae33..f3853a7b412d2a86dfd915441d0dffd4199d5c41 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
@@ -540,7 +540,8 @@ void SetFeatureFlags() {
@@ -534,7 +534,8 @@ void SetFeatureFlags() {
void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
const std::string& js_command_line_flags,
bool disallow_v8_feature_flag_overrides,
@ -54,7 +54,7 @@ index fe0e40adb29fb91ec551f834b876f55ab33bb110..c1320f5e482d17293b3037267f90fbf1
static bool v8_is_initialized = false;
if (v8_is_initialized)
return;
@@ -555,7 +556,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
@@ -549,7 +550,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
}
SetFlags(mode, js_command_line_flags);

View file

@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation.
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
index 972382ea6c9043e06779330a11de90f87e2a11cd..cc8fbf5d6f62390ebbe9aea0bcfe38b8430ec734 100644
index 5c72297f34aa7d8cb73be2f038e5b6f476499479..209227302747a7e4c3ee571e83b69adc53d8456b 100644
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -1554,6 +1554,11 @@
@@ -1555,6 +1555,11 @@
"structures": [10100],
},

View file

@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
system priority.
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 2f5d46db2e18784c4dcf60e626e8a3cbe1bc2182..4c2819616af7ffc7fae577a4f7b9301b7da39686 100644
index 39780da0d0074845b4d17ff4f6f7e2fbf2aec59f..3eab6a8c37f351bce24b7b581e09e9471cbd527b 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1055,6 +1055,7 @@ component("base") {
@@ -1061,6 +1061,7 @@ component("base") {
"//build:ios_buildflags",
"//build/config/compiler:compiler_buildflags",
"//third_party/modp_b64",
@ -582,7 +582,7 @@ index 2d5cad5d7a4ab9292a5f966123687dee06f4512b..ae798fc8f923a9b590c0d9ed703946a2
return kAttributes;
}
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index adce27e6feaed7172cac9bdcd1b2e83930eb0a77..d912bdedc246503bb4114393baee14fc95c54eb9 100644
index 66cbd429bec0740321ee12b0a5357c643e390496..d202689d5d42af228b3a6400245d7de3ccb6b768 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -345,6 +345,7 @@ source_set("browser") {
@ -594,7 +594,7 @@ index adce27e6feaed7172cac9bdcd1b2e83930eb0a77..d912bdedc246503bb4114393baee14fc
public_deps = [
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
index 9825b5ab492c418fa62849f12eccc91ab6d2fad8..f1a489b8145d4788a34782348a79f794dba076fb 100644
index e7007a9a7788cbc89a0bbb2387ff2c62bb7d2c79..c2b672a3bd1e61089b411d139f7083714a345a9c 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
@@ -24,6 +24,7 @@
@ -628,7 +628,7 @@ index 9825b5ab492c418fa62849f12eccc91ab6d2fad8..f1a489b8145d4788a34782348a79f794
// Used to force the NSApplication's focused accessibility element to be the
// content::BrowserAccessibilityCocoa accessibility tree when the NSView for
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index 55b6b67eace540e302a868dfaf025768bad30514..f26dd97bebd2c467d5a13b98b3f75afb14a615c2 100644
index 7cd35ebe42cf3b5604a001baf3d4353d6a2bf777..59c8d5a2e687ac6148889c87f353b33959e276f6 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -52,6 +52,7 @@
@ -797,7 +797,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
} // namespace content
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 28887735ea8e1f03c2bdbfb845c39d63b2fd4680..1040f87089ca52f9e85467eb0172d778a8c05c24 100644
index 85573d1bad558e7c28cfb2f6a075109dad277114..ce7207fd51b53bcc522cce370237b79addad1ee9 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -669,6 +669,7 @@ static_library("test_support") {
@ -817,7 +817,7 @@ index 28887735ea8e1f03c2bdbfb845c39d63b2fd4680..1040f87089ca52f9e85467eb0172d778
}
mojom("content_test_mojo_bindings") {
@@ -2001,6 +2004,7 @@ test("content_browsertests") {
@@ -2002,6 +2005,7 @@ test("content_browsertests") {
"//ui/shell_dialogs",
"//ui/snapshot",
"//ui/webui:test_support",
@ -825,7 +825,7 @@ index 28887735ea8e1f03c2bdbfb845c39d63b2fd4680..1040f87089ca52f9e85467eb0172d778
]
if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) {
@@ -3317,6 +3321,7 @@ test("content_unittests") {
@@ -3318,6 +3322,7 @@ test("content_unittests") {
"//ui/shell_dialogs",
"//ui/webui:test_support",
"//url",
@ -846,7 +846,7 @@ index ab961bccc3e4f0f5a40ac74df97447118b256c68..43f00bf0879809e986308a2cb26145c4
if (is_mac) {
diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn
index 70882e695ad383c9362c9b7e692a9273b3f36801..4ab8d7b3e567e8be373c8dff790d41146c5b8a9d 100644
index fdb2993ab0879c5693008fdabc10566d11e471aa..2af4bf9975385ea8080cd9bd2b55f24e3ab7a2f1 100644
--- a/device/bluetooth/BUILD.gn
+++ b/device/bluetooth/BUILD.gn
@@ -256,6 +256,7 @@ component("bluetooth") {
@ -938,7 +938,7 @@ index d288ffce5c1265adbdefc571f840851026e7479e..e9a6e8c31401750d270fcc55ef1116b2
namespace ui {
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
index adb7e043e9dd3b328cff2828cfb4c8a196b22250..556ce9a1f5ed5359b7f4d059cd3e54a207af1359 100644
index 90e73686ebc5befecaa64d745b474ed46a1d4293..96d2c7fa2c8960263215d12fc5a15b4d16d3c3fe 100644
--- a/media/audio/BUILD.gn
+++ b/media/audio/BUILD.gn
@@ -201,6 +201,7 @@ source_set("audio") {
@ -986,7 +986,7 @@ index 0f7c441ba44fe22b1bf4913ae8e61a8bb7ef7fe7..2311fdbbfa566e76b4709059b707ac4d
} // namespace
#endif
diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
index 2a70752c12245d528629d1f552e1d7bdae7e4cf2..1a84b64614679a0879b4e96ec13385dd0504faf7 100644
index 7f9f28b70a4cf5323fdbb01567170e8856113031..ba1da643abd8ba9db6f144e24b927116233dabc1 100644
--- a/net/dns/BUILD.gn
+++ b/net/dns/BUILD.gn
@@ -193,6 +193,8 @@ source_set("dns") {
@ -1029,7 +1029,7 @@ index 70d5665ad7b9ef62370497636af919ede2508ad4..f4dc3e2b8053cdb3e8c439ab1a1d6369
}
diff --git a/sandbox/mac/BUILD.gn b/sandbox/mac/BUILD.gn
index 7a69c5d3732cdf14173286c92dc2f7655a791ccf..d4e63015ddc1614179f85a5d9d86d5d5523724fa 100644
index d145bdb3f879ae7e2d77f3b58fe7abd09d6f7255..8973f310aa62b59bc829e8e0f8ed068bfffa3f2b 100644
--- a/sandbox/mac/BUILD.gn
+++ b/sandbox/mac/BUILD.gn
@@ -25,6 +25,7 @@ component("seatbelt") {
@ -1649,10 +1649,10 @@ index 6846060ef9622d8fc8d1d6c8da16e2f1b785e6bd..05c22db87e882b246bd7034e027cf149
// Accessible object
if (AXElementWrapper::IsValidElement(value)) {
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 20361d421d3e29fda6f1b50beccc44bbf0bfbb37..a415bf9cd66cadfd9c231a0c605e2fa08ff45b4d 100644
index 660c4f5939df164ab5db868ddd19c97e2c782f36..3dae3e6d8aa651f0f382a7af7f1fa8a6ebd480f4 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -370,6 +370,13 @@ component("base") {
@@ -369,6 +369,13 @@ component("base") {
]
}
@ -1666,7 +1666,7 @@ index 20361d421d3e29fda6f1b50beccc44bbf0bfbb37..a415bf9cd66cadfd9c231a0c605e2fa0
if (is_ios) {
sources += [
"device_form_factor_ios.mm",
@@ -516,6 +523,12 @@ component("base") {
@@ -517,6 +524,12 @@ component("base") {
"//url",
]
@ -1874,10 +1874,10 @@ index fe3f85073e31de487a08e57d7f9b07aa4eccf8f3..cf5b07203c8bd559a404600cc98cc8ec
// enough.
return PlatformFontMac::SystemFontType::kGeneral;
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index 3885f2eb20f5e60828256e24761601419368e78f..1bea86f086b765852f569a41c7ff7d1f057eec0e 100644
index f3db960f1963e9fbc575a13b570a8b7564535a5d..0bbf9182ec826a7add3a52b782b9ba319548c687 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -722,6 +722,8 @@ component("views") {
@@ -724,6 +724,8 @@ component("views") {
"IOSurface.framework",
"QuartzCore.framework",
]
@ -1886,7 +1886,7 @@ index 3885f2eb20f5e60828256e24761601419368e78f..1bea86f086b765852f569a41c7ff7d1f
}
if (is_win) {
@@ -1151,6 +1153,8 @@ source_set("test_support") {
@@ -1153,6 +1155,8 @@ source_set("test_support") {
"//ui/base/mojom:ui_base_types",
]

View file

@ -36,19 +36,10 @@ index 31543b5b018313d2e5890f599109bd48d7bc5e64..2f4003b0557ae275ee3697062fafb642
Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture;
diff --git a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
index 46c48aa7d08b336f577f81163bf4cc0596a0b2fb..c1098fbc5ea57031f2e153379ae0baaddd3bbe5f 100644
index 4de36674acee427da3a43891f780102d7e08d9cb..d32bf712107f02991717da626b5dd25c6e6973d3 100644
--- a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
+++ b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
@@ -182,7 +182,7 @@ bool FrameResources::Initialize(VideoPixelFormat format,
auto* context = pool_->GetContext();
- constexpr gfx::BufferUsage kBufferUsage =
+ gfx::BufferUsage buffer_usage =
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
gfx::BufferUsage::SCANOUT_VEA_CPU_READ
#else
@@ -193,6 +193,23 @@ bool FrameResources::Initialize(VideoPixelFormat format,
@@ -209,6 +209,23 @@ bool FrameResources::Initialize(VideoPixelFormat format,
const gfx::Size coded_size =
GetCodedSizeForVideoPixelFormat(format, visible_size_);
@ -72,12 +63,3 @@ index 46c48aa7d08b336f577f81163bf4cc0596a0b2fb..c1098fbc5ea57031f2e153379ae0baad
gpu::SharedImageUsageSet usage =
#if BUILDFLAG(IS_MAC)
gpu::SHARED_IMAGE_USAGE_MACOS_VIDEO_TOOLBOX |
@@ -230,7 +247,7 @@ bool FrameResources::Initialize(VideoPixelFormat format,
VideoPixelFormatToSharedImageFormat(format).value();
shared_image_ = context->CreateSharedImage(
- coded_size, kBufferUsage, si_format, color_space, usage, sync_token_);
+ coded_size, buffer_usage, si_format, color_space, usage, sync_token_);
if (!shared_image_) {
DLOG(ERROR) << "Failed to allocate shared image for frame: visible_size="
<< visible_size_.ToString()

View file

@ -44,7 +44,7 @@ index e8baae79ab127e4626f39247a5e57fe6a6114453..8073bdba33d6ddbc0306e8e9256b36cd
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c2b6725c51fe8997a23a7cb8b04e715b39382939..82a0eafc85ca825e04037027d0189899e47b9c99 100644
index 32927697a917281fa92bdf829a8f8a25833fcb6a..860b5f5eca90b9345073fbee2db016cc6c56154e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -6128,6 +6128,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
@ -60,7 +60,7 @@ index c2b6725c51fe8997a23a7cb8b04e715b39382939..82a0eafc85ca825e04037027d0189899
RenderWidgetHostImpl* render_widget_host) {
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index f935437d95a1dda9bca5f51efa3e3ac99bd1c650..4b86e98d2c4d79c89ebe0296915730438181686c 100644
index e26cd1ca45fa4ce3c618fa8ccbb0bddd09b36ee3..b370aa32d26f21ac99870469cf6b3bb721b47c27 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -1177,6 +1177,7 @@ class CONTENT_EXPORT WebContentsImpl

View file

@ -7,10 +7,10 @@ Subject: refactor: expose HostImportModuleDynamically and
This is so that Electron can blend Blink's and Node's implementations of these isolate handlers.
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
index 9eb29fcae74cc7618f1d44fd64d63d7940f61260..e8828606e98a61a5d99c9c638e67eda887446f49 100644
index 49ed3415ef4bbcdd71b12acbb6b149acd12eed84..91ded2f767b461d9d0152791fb02e31667186654 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -628,8 +628,9 @@ bool WasmJSPromiseIntegrationEnabledCallback(v8::Local<v8::Context> context) {
@@ -637,8 +637,9 @@ bool WasmJSPromiseIntegrationEnabledCallback(v8::Local<v8::Context> context) {
return RuntimeEnabledFeatures::WebAssemblyJSPromiseIntegrationEnabled(
execution_context);
}
@ -21,7 +21,7 @@ index 9eb29fcae74cc7618f1d44fd64d63d7940f61260..e8828606e98a61a5d99c9c638e67eda8
v8::Local<v8::Context> context,
v8::Local<v8::Data> v8_host_defined_options,
v8::Local<v8::Value> v8_referrer_resource_url,
@@ -707,20 +708,23 @@ v8::MaybeLocal<v8::Promise> HostImportModuleWithPhaseDynamically(
@@ -716,20 +717,23 @@ v8::MaybeLocal<v8::Promise> HostImportModuleWithPhaseDynamically(
return resolver->Promise().V8Promise();
}
@ -47,7 +47,7 @@ index 9eb29fcae74cc7618f1d44fd64d63d7940f61260..e8828606e98a61a5d99c9c638e67eda8
v8::Local<v8::Module> module,
v8::Local<v8::Object> meta) {
v8::Isolate* isolate = v8::Isolate::GetCurrent();
@@ -747,6 +751,7 @@ void HostGetImportMetaProperties(v8::Local<v8::Context> context,
@@ -756,6 +760,7 @@ void HostGetImportMetaProperties(v8::Local<v8::Context> context,
meta->CreateDataProperty(context, resolve_key, resolve_value).ToChecked();
}
@ -55,7 +55,7 @@ index 9eb29fcae74cc7618f1d44fd64d63d7940f61260..e8828606e98a61a5d99c9c638e67eda8
bool IsDOMExceptionWrapper(v8::Isolate* isolate, v8::Local<v8::Object> object) {
return V8DOMException::HasInstance(isolate, object);
}
@@ -777,7 +782,6 @@ void EmitDevToolsEvent(v8::Isolate* isolate) {
@@ -786,7 +791,6 @@ void EmitDevToolsEvent(v8::Isolate* isolate) {
} // namespace
@ -63,7 +63,7 @@ index 9eb29fcae74cc7618f1d44fd64d63d7940f61260..e8828606e98a61a5d99c9c638e67eda8
void V8Initializer::InitializeV8Common(v8::Isolate* isolate) {
// Set up garbage collection before setting up anything else as V8 may trigger
// GCs during Blink setup.
@@ -794,9 +798,9 @@ void V8Initializer::InitializeV8Common(v8::Isolate* isolate) {
@@ -803,9 +807,9 @@ void V8Initializer::InitializeV8Common(v8::Isolate* isolate) {
SharedArrayBufferConstructorEnabledCallback);
isolate->SetHostImportModuleDynamicallyCallback(HostImportModuleDynamically);
isolate->SetHostImportModuleWithPhaseDynamicallyCallback(

View file

@ -28,7 +28,7 @@ index 2aa7d12c278dee9dd987aa5d1aba9d9ba798cff1..77625a7af1b3ba4d7959ca769cfc39e3
break;
}
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
index cb3faf970f20047f1e0a1fd4c844a173f681776a..572ffd97e7bb49946d15bf85ee144066837ee17f 100644
index f6a28f5efae758a93aa52ebd28e25ece996f0e7e..7a6e702126234fa8f09ea5e8eeb3bc67155f76ca 100644
--- a/content/browser/permissions/permission_controller_impl.cc
+++ b/content/browser/permissions/permission_controller_impl.cc
@@ -88,7 +88,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) {

View file

@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be
accessed from our JS event. The filtering is moved into Electron's code.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 5f467feafef5f0b2c486432f3f29303fe5e40f12..be0788fff7498a4a51c08f09754394aa975123ef 100644
index d60ab39f3adfa225b7b4cd413c707fd05b88f924..18aa43e4f69a193234c0e56e36ab0d0681e18cbe 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -10254,25 +10254,13 @@ void WebContentsImpl::RendererUnresponsive(
@@ -10240,25 +10240,13 @@ void WebContentsImpl::RendererUnresponsive(
base::RepeatingClosure hang_monitor_restarter) {
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
"render_widget_host", render_widget_host);

View file

@ -233,7 +233,7 @@ index d8167e854a3264b19a07544039fd01aba45e27a1..2e5a4ae715529e3b7b5c8fbb7195c7ce
}
diff --git a/content/common/features.cc b/content/common/features.cc
index c53e0eb1d17c288e9be1c780ddb96eec91cd8bd3..bdfec92691bb1f6fc7572f88c5f2f864f601fa59 100644
index c0723c13069f570206ea6b536b1a41a1200e3d48..fe5b95303d6cf06b99889307930252effdea6e0f 100644
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -324,6 +324,14 @@ BASE_FEATURE(kIOSurfaceCapturer,
@ -252,7 +252,7 @@ index c53e0eb1d17c288e9be1c780ddb96eec91cd8bd3..bdfec92691bb1f6fc7572f88c5f2f864
BASE_FEATURE(kKeepChildProcessAfterIPCReset,
"KeepChildProcessAfterIPCReset",
diff --git a/content/common/features.h b/content/common/features.h
index 5cc31620ec45371411c2c6c453742a93b0d94203..185060069ada9b8d977550640aa31d45d47fa42a 100644
index 93017367d5ef77b00a73d849608a7af16fe44527..394ee07b58a9b6021143b2168b1065350420cfca 100644
--- a/content/common/features.h
+++ b/content/common/features.h
@@ -101,6 +101,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);

View file

@ -10,10 +10,10 @@ on Windows. We should refactor our code so that this patch isn't
necessary.
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index d01dd0a53bb41f0c66676ca313453d43a2aab80a..620017bbe06e504a65bcb3a778be6f440a4d8bce 100644
index 34a9f96e2ad4d1d993b017188e33bcca87a72094..860cb0f75380a7cceb8676308887459a3c32625f 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -24851,6 +24851,21 @@
@@ -24980,6 +24980,21 @@
]
}
],

View file

@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
Patch to make scrollBounce option work.
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 2a7958de7e70e60de88d67be33d07194911f4110..d1bac244fd4321a87b8e796c27a063fe0e9278d6 100644
index 2942ba0a56d5f71b89dfc1861d580a38563fcef5..16dc90ba630898363d417dbb499de9d078432b25 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1269,7 +1269,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
@@ -1261,7 +1261,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
}
bool RenderThreadImpl::IsElasticOverscrollEnabled() {

View file

@ -9,7 +9,7 @@ is needed for OSR.
Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 8527faad558fd9409711e374ed6299039891c82b..58e1c4b7e177f7bea7c404c7a08ceb07a67d2737 100644
index 64f7b20657c9e004083ecb32544d0dcd1a443343..fd83df444e1ec37b24764411a6e2f16f26a0663f 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4168,6 +4168,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@ -35,10 +35,10 @@ index 8527faad558fd9409711e374ed6299039891c82b..58e1c4b7e177f7bea7c404c7a08ceb07
CHECK(view_.get());
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index 1a20e4edd4a61c3cdcb4a163d5e63d5d8c063871..4b47ff00b699e46cfa5c204f81d20b990813760c 100644
index dc706127394e7cd8e529dc74cef25b21fd79787c..cb3246775f97feb5a971cd31482c250b56866461 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -126,11 +126,14 @@ class PrerenderHandle;
@@ -125,11 +125,14 @@ class PrerenderHandle;
class RenderFrameHost;
class RenderViewHost;
class RenderWidgetHost;
@ -53,7 +53,7 @@ index 1a20e4edd4a61c3cdcb4a163d5e63d5d8c063871..4b47ff00b699e46cfa5c204f81d20b99
class WebUI;
struct DropData;
struct MHTMLGenerationParams;
@@ -284,6 +287,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData {
@@ -283,6 +286,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData {
network::mojom::WebSandboxFlags starting_sandbox_flags =
network::mojom::WebSandboxFlags::kNone;

View file

@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
`api::WebContents::IsFullscreenForTabOrPending` value.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 861468d545856eb894b3eaae943028b954c83b82..3d6489a4abcdf7f6c26507583df446c4b293cd13 100644
index 3735d7ed0d719f8957c80030aee86f169ddbf69e..64259f689446006036a204bb5f855200c64aa132 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8922,6 +8922,17 @@ void RenderFrameHostImpl::EnterFullscreen(
@@ -8923,6 +8923,17 @@ void RenderFrameHostImpl::EnterFullscreen(
}
}
@ -37,7 +37,7 @@ index 861468d545856eb894b3eaae943028b954c83b82..3d6489a4abcdf7f6c26507583df446c4
if (had_fullscreen_token && !GetView()->HasFocus())
GetView()->Focus();
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 58e1c4b7e177f7bea7c404c7a08ceb07a67d2737..e2a7b0295d4cfb53c235bbd4652a5a939e854357 100644
index fd83df444e1ec37b24764411a6e2f16f26a0663f..615d2de881f64f322ebfcb8065e87cfcde6b649e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4457,21 +4457,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(

View file

@ -26,10 +26,10 @@ index 6979b9cc56a51d4983a99da73649832f96f2cf1d..4f07534707a4d88afe8847120a0e5e54
// An empty URL is returned if the URL is not overriden.
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index d968e6baa93c78880353096bb174755a15a70ea0..9c564d480a958a167803c7300d1a2eaa02c99e73 100644
index 74ae1472a2134efcab4f3b258911b39a8e8ed27a..c74f99805cea8c939a5278d120fd348df7a94d32 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -914,6 +914,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
@@ -903,6 +903,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
}
@ -55,10 +55,10 @@ index c2c2b533e42cfcc8c3ecdde1ab6ed9bc2a353b5e..b2238f512b30e64399a901a3c9f430e5
const blink::WebSecurityOrigin& script_origin) override;
blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel(
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index dfc5c935005bf8fb59d4bf5dd6dcb31468128cd6..4b8c2223d4d7eebe88c54d232ac8f8e290f14dd6 100644
index 87aebe19abd4690ace9d524364ef32a34afd3592..e33318c3e673741a05083cf064152e24ff39ca02 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -675,6 +675,7 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -673,6 +673,7 @@ class BLINK_PLATFORM_EXPORT Platform {
virtual void DidStartWorkerThread() {}
virtual void WillStopWorkerThread() {}
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}

View file

@ -35,10 +35,10 @@ index 4f07534707a4d88afe8847120a0e5e546f3283ee..2f166ebdb5017dbb2317e0ed1bb0f7bb
// from the worker thread.
virtual void WillDestroyWorkerContextOnWorkerThread(
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index 9c564d480a958a167803c7300d1a2eaa02c99e73..a0455c0dbda13b683e659dcecf50de533cc30adb 100644
index c74f99805cea8c939a5278d120fd348df7a94d32..a1e92922c11cb995e8814ca693332a9c075ca012 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -926,6 +926,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
@@ -915,6 +915,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
worker);
}
@ -65,10 +65,10 @@ index b2238f512b30e64399a901a3c9f430e5be54c27c..6231d97d52de2245c6f9396d9769554f
bool AllowScriptExtensionForServiceWorker(
const blink::WebSecurityOrigin& script_origin) override;
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index 4b8c2223d4d7eebe88c54d232ac8f8e290f14dd6..bfa276bb563f4a7f54da6c2b82cfb0c8f830a7dd 100644
index e33318c3e673741a05083cf064152e24ff39ca02..a5a13ad4724aec8b5c471fd81995cf19c3ff7086 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -675,6 +675,8 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -673,6 +673,8 @@ class BLINK_PLATFORM_EXPORT Platform {
virtual void DidStartWorkerThread() {}
virtual void WillStopWorkerThread() {}
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}

View file

@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer
patching legacy devtools code.
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
index dd308c0dc0f0d54fb808c3d72bacb5ed12890a54..5034ea99d96a60371f3005620fef88b9435c8e72 100644
index 399d2e76ee479161d51742f1c8cf6923ad475217..a6149515cb129b1d0982ff0d4c1f9f6c09fbb0d9 100644
--- a/front_end/entrypoints/main/MainImpl.ts
+++ b/front_end/entrypoints/main/MainImpl.ts
@@ -734,6 +734,8 @@ export class MainImpl {
@@ -733,6 +733,8 @@ export class MainImpl {
globalThis.Main = globalThis.Main || {};
// @ts-expect-error Exported for Tests.js
globalThis.Main.Main = MainImpl;

View file

@ -47,3 +47,4 @@ fix_task_starvation_in_inspector_context_test.patch
fix_expose_readfilesync_override_for_modules.patch
fix_array_out-of-bounds_read_in_boyer-moore_search.patch
chore_add_missing_include_of_iterator.patch
test_accomodate_v8_thenable_stack_trace_change_in_snapshot.patch

View file

@ -0,0 +1,34 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Calvin Watford <clavin@electronjs.org>
Date: Sat, 9 Aug 2025 17:00:20 -0600
Subject: test: accomodate V8 thenable stack trace change in snapshot
V8 enhanced the stack trace of "thenable" async tasks. A couple of tests needed to have their snapshots updates to accomodate the extra stack trace frames in the output.
This patch should be upstreamed to Node.js.
See:
6826001: fix thenable async stack trace
https://chromium-review.googlesource.com/c/v8/v8/+/6826001
diff --git a/test/fixtures/test-runner/output/describe_it.snapshot b/test/fixtures/test-runner/output/describe_it.snapshot
index 347f3789693ddae7e7f9bd4125d8b19a31c1e764..35913d7f487dbd56eb8015e20f14a447de1db9bc 100644
--- a/test/fixtures/test-runner/output/describe_it.snapshot
+++ b/test/fixtures/test-runner/output/describe_it.snapshot
@@ -690,6 +690,8 @@ not ok 54 - timeouts
code: 'ERR_TEST_FAILURE'
stack: |-
*
+ *
+ *
...
1..2
not ok 55 - successful thenable
@@ -712,6 +714,7 @@ not ok 56 - rejected thenable
code: 'ERR_TEST_FAILURE'
stack: |-
*
+ *
...
# Subtest: async describe function
# Subtest: it inside describe 1

View file

@ -8,7 +8,7 @@ This definition conflicts with libuv's: https://github.com/libuv/libuv/blob/bb0b
Breaks the build on 32-bit windows.
diff --git a/include/perfetto/ext/base/sys_types.h b/include/perfetto/ext/base/sys_types.h
index 33ef5e7d652807f2607466287eadd053c9c0ab67..dc1197ba0d6e30e22ddab55c4a57de30193fb1f5 100644
index 0e93a6903645b1f61e7518eb2ee7bf5a1b8f9f5e..e848bd31a66678ca557759cd79cafc52691b8adc 100644
--- a/include/perfetto/ext/base/sys_types.h
+++ b/include/perfetto/ext/base/sys_types.h
@@ -33,11 +33,7 @@ using uid_t = int;

View file

@ -49,7 +49,7 @@ index ae9aba26ee56e8a0d48f81994f964b278c9019d3..758f1b44e01adb6807bc7c5f673d06ff
options, CaptureType::kAnyScreenContent);
}
diff --git a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
index b2864eeee599c2932b33cf380cd614977da80143..4148907763eeb3567fcb3424a80d7c21d28bd16c 100644
index 361b465dad2a53f4dac774fa2d6d6d9e3fc5fc31..ef05a35bc4f2c2352b12c0af0b09193b6cd53244 100644
--- a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
+++ b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
@@ -123,6 +123,7 @@ void BaseCapturerPipeWire::OnScreenCastRequestResult(RequestResponse result,

View file

@ -45,6 +45,7 @@
#include "shell/common/thread_restrictions.h"
#include "skia/ext/font_utils.h"
#include "skia/ext/legacy_display_globals.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkFont.h"
#include "third_party/skia/include/core/SkPaint.h"

View file

@ -210,7 +210,6 @@ int ElectronBrowserMainParts::PreEarlyInitialization() {
HandleSIGCHLD();
#endif
#if BUILDFLAG(IS_LINUX)
DetectOzonePlatform();
ui::OzonePlatform::PreEarlyInitialization();
#endif
#if BUILDFLAG(IS_MAC)

View file

@ -124,10 +124,6 @@ class ElectronBrowserMainParts : public content::BrowserMainParts {
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner);
#endif
#if BUILDFLAG(IS_LINUX)
void DetectOzonePlatform();
#endif
#if BUILDFLAG(IS_MAC)
void FreeAppDelegate();
void RegisterURLHandler();

View file

@ -1,135 +0,0 @@
// Copyright (c) 2022 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "shell/browser/electron_browser_main_parts.h"
#include "base/command_line.h"
#include "base/environment.h"
#include "base/strings/cstring_view.h"
#include "ui/base/ozone_buildflags.h"
#include "ui/ozone/public/ozone_switches.h"
#if BUILDFLAG(IS_OZONE_WAYLAND)
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/nix/xdg_util.h"
#include "shell/common/thread_restrictions.h"
#endif
namespace electron {
namespace {
constexpr base::cstring_view kElectronOzonePlatformHint{
"ELECTRON_OZONE_PLATFORM_HINT"};
#if BUILDFLAG(IS_OZONE_WAYLAND)
constexpr char kPlatformWayland[] = "wayland";
bool HasWaylandDisplay(base::Environment* env) {
if (std::optional<std::string> wayland_display =
env->GetVar("WAYLAND_DISPLAY")) {
return true;
}
if (std::optional<std::string> xdg_runtime_dir =
env->GetVar("XDG_RUNTIME_DIR")) {
auto wayland_server_pipe =
base::FilePath(*xdg_runtime_dir).Append("wayland-0");
// Normally, this should happen exactly once, at the startup of the main
// process.
electron::ScopedAllowBlockingForElectron allow_blocking;
return base::PathExists(wayland_server_pipe);
}
return false;
}
#endif // BUILDFLAG(IS_OZONE_WAYLAND)
#if BUILDFLAG(IS_OZONE_X11)
constexpr char kPlatformX11[] = "x11";
#endif
// Evaluates the environment and returns the effective platform name for the
// given |ozone_platform_hint|.
// For the "auto" value, returns "wayland" if the XDG session type is "wayland",
// "x11" otherwise.
// For the "wayland" value, checks if the Wayland server is available, and
// returns "x11" if it is not.
// See https://crbug.com/1246928.
std::string MaybeFixPlatformName(const std::string& ozone_platform_hint) {
#if BUILDFLAG(IS_OZONE_WAYLAND)
// Wayland is selected if both conditions below are true:
// 1. The user selected either 'wayland' or 'auto'.
// 2. The XDG session type is 'wayland', OR the user has selected 'wayland'
// explicitly and a Wayland server is running.
// Otherwise, fall back to X11.
if (ozone_platform_hint == kPlatformWayland ||
ozone_platform_hint == "auto") {
auto env(base::Environment::Create());
std::optional<std::string> xdg_session_type =
env->GetVar(base::nix::kXdgSessionTypeEnvVar);
if ((xdg_session_type.has_value() && *xdg_session_type == "wayland") ||
(ozone_platform_hint == kPlatformWayland &&
HasWaylandDisplay(env.get()))) {
return kPlatformWayland;
}
}
#endif // BUILDFLAG(IS_OZONE_WAYLAND)
#if BUILDFLAG(IS_OZONE_X11)
if (ozone_platform_hint == kPlatformX11) {
return kPlatformX11;
}
#if BUILDFLAG(IS_OZONE_WAYLAND)
if (ozone_platform_hint == kPlatformWayland ||
ozone_platform_hint == "auto") {
// We are here if:
// - The binary has both X11 and Wayland backends.
// - The user wanted Wayland but that did not work, otherwise it would have
// been returned above.
if (ozone_platform_hint == kPlatformWayland) {
LOG(WARNING) << "No Wayland server is available. Falling back to X11.";
} else {
LOG(WARNING) << "This is not a Wayland session. Falling back to X11. "
"If you need to run Chrome on Wayland using some "
"embedded compositor, e. g., Weston, please specify "
"Wayland as your preferred Ozone platform, or use "
"--ozone-platform=wayland.";
}
return kPlatformX11;
}
#endif // BUILDFLAG(IS_OZONE_WAYLAND)
#endif // BUILDFLAG(OZONE_PLATFORM_X11)
return ozone_platform_hint;
}
} // namespace
void ElectronBrowserMainParts::DetectOzonePlatform() {
auto const env = base::Environment::Create();
auto* const command_line = base::CommandLine::ForCurrentProcess();
if (!command_line->HasSwitch(switches::kOzonePlatform)) {
auto ozone_platform_hint =
command_line->GetSwitchValueASCII(switches::kOzonePlatformHint);
if (ozone_platform_hint.empty()) {
ozone_platform_hint =
env->GetVar(kElectronOzonePlatformHint).value_or("");
}
if (!ozone_platform_hint.empty()) {
command_line->AppendSwitchASCII(
switches::kOzonePlatform, MaybeFixPlatformName(ozone_platform_hint));
}
}
if (std::optional<std::string> desktop_startup_id =
env->GetVar("DESKTOP_STARTUP_ID"))
command_line->AppendSwitchASCII("desktop-startup-id", *desktop_startup_id);
}
} // namespace electron

View file

@ -13,6 +13,7 @@
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/notimplemented.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/threading/thread_restrictions.h"

View file

@ -11,8 +11,8 @@
#include "base/files/file_path.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "components/dbus/thread_linux/dbus_thread_linux.h"
#include "device/bluetooth/dbus/bluez_dbus_manager.h"
#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
#include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
namespace {
@ -39,7 +39,7 @@ PowerObserverLinux::PowerObserverLinux(
if (!bluez::BluezDBusManager::IsInitialized())
bluez::DBusBluezManagerWrapperLinux::Initialize();
auto* bus = bluez::BluezDBusThreadManager::Get()->GetSystemBus();
auto bus = dbus_thread_linux::GetSharedSystemBus();
if (!bus) {
LOG(WARNING) << "Failed to get system bus connection";
return;

View file

@ -118,7 +118,7 @@ class OffScreenRenderWidgetHostView
void ShowSharePicker(
const std::string& title,
const std::string& text,
const std::string& url,
const GURL& url,
const std::vector<std::string>& file_paths,
blink::mojom::ShareService::ShareCallback callback) override {}
uint64_t GetNSViewId() const override;

View file

@ -8,12 +8,11 @@
#include <memory>
#include "base/memory/raw_ptr.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/events/event.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/views/view.h"
class SkBitmap;
namespace electron {
class OffscreenViewProxy;

View file

@ -174,6 +174,7 @@ class InspectableWebContents
void RecordPerformanceHistogramMedium(const std::string& name,
double duration) override {}
void RecordUserMetricsAction(const std::string& name) override {}
void RecordNewBadgeUsage(const std::string& feature_name) override {}
void RecordImpression(const ImpressionEvent& event) override {}
void RecordResize(const ResizeEvent& event) override {}
void RecordClick(const ClickEvent& event) override {}

View file

@ -221,11 +221,11 @@ void InspectableWebContentsView::Layout(PassKey) {
return;
}
gfx::Size container_size(width(), height());
gfx::Rect container_bounds(width(), height());
gfx::Rect new_devtools_bounds;
gfx::Rect new_contents_bounds;
ApplyDevToolsContentsResizingStrategy(
strategy_, container_size, &new_devtools_bounds, &new_contents_bounds);
strategy_, container_bounds, &new_devtools_bounds, &new_contents_bounds);
// DevTools cares about the specific position, so we have to compensate RTL
// layout here.

View file

@ -165,28 +165,28 @@ v8::Local<v8::Value> ElectronBindings::GetCreationTime(v8::Isolate* isolate) {
v8::Local<v8::Value> ElectronBindings::GetSystemMemoryInfo(
v8::Isolate* isolate,
gin_helper::Arguments* args) {
base::SystemMemoryInfoKB mem_info;
base::SystemMemoryInfo mem_info;
if (!base::GetSystemMemoryInfo(&mem_info)) {
args->ThrowError("Unable to retrieve system memory information");
return v8::Undefined(isolate);
}
auto dict = gin_helper::Dictionary::CreateEmpty(isolate);
dict.Set("total", mem_info.total);
dict.Set("total", mem_info.total.InKiB());
// See Chromium's "base/process/process_metrics.h" for an explanation.
int free =
base::ByteCount free =
#if BUILDFLAG(IS_WIN)
mem_info.avail_phys;
#else
mem_info.free;
#endif
dict.Set("free", free);
dict.Set("free", free.InKiB());
// NB: These return bogus values on macOS
#if !BUILDFLAG(IS_MAC)
dict.Set("swapTotal", mem_info.swap_total);
dict.Set("swapFree", mem_info.swap_free);
dict.Set("swapTotal", mem_info.swap_total.InKiB());
dict.Set("swapFree", mem_info.swap_free.InKiB());
#endif
return dict.GetHandle();