diff --git a/BUILD.gn b/BUILD.gn
index e89984966f43..6cc1a63394d3 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1404,8 +1404,7 @@ dist_zip("hunspell_dictionaries_zip") {
}
copy("libcxx_headers") {
- sources = libcxx_headers + libcxx_licenses +
- [ "//buildtools/third_party/libc++/__config_site" ]
+ sources = libcxx_headers + libcxx_licenses
outputs = [ "$target_gen_dir/electron_libcxx_include/{{source_root_relative_dir}}/{{source_file_part}}" ]
}
diff --git a/DEPS b/DEPS
index 5d809b9ef490..d7fcb79edde7 100644
--- a/DEPS
+++ b/DEPS
@@ -15,7 +15,7 @@ gclient_gn_args = [
vars = {
'chromium_version':
- '93.0.4558.0',
+ '93.0.4566.0',
'node_version':
'v16.4.1',
'nan_version':
diff --git a/docs/api/clipboard.md b/docs/api/clipboard.md
index 1a673260bd16..5bde8df21bf0 100644
--- a/docs/api/clipboard.md
+++ b/docs/api/clipboard.md
@@ -199,7 +199,7 @@ const { clipboard } = require('electron')
const hasFormat = clipboard.has('
selection
')
console.log(hasFormat)
-// 'true' or 'false
+// 'true' or 'false'
```
### `clipboard.read(format)` _Experimental_
@@ -208,6 +208,10 @@ console.log(hasFormat)
Returns `String` - Reads `format` type from the clipboard.
+`format` should contain valid ASCII characters and have `/` separator.
+`a/c`, `a/bc` are valid formats while `/abc`, `abc/`, `a/`, `/a`, `a`
+are not valid.
+
### `clipboard.readBuffer(format)` _Experimental_
* `format` String
@@ -218,9 +222,9 @@ Returns `Buffer` - Reads `format` type from the clipboard.
const { clipboard } = require('electron')
const buffer = Buffer.from('this is binary', 'utf8')
-clipboard.writeBuffer('public.utf8-plain-text', buffer)
+clipboard.writeBuffer('public/utf8-plain-text', buffer)
-const ret = clipboard.readBuffer('public.utf8-plain-text')
+const ret = clipboard.readBuffer('public/utf8-plain-text')
console.log(buffer.equals(out))
// true
@@ -238,7 +242,7 @@ Writes the `buffer` into the clipboard as `format`.
const { clipboard } = require('electron')
const buffer = Buffer.from('writeBuffer', 'utf8')
-clipboard.writeBuffer('public.utf8-plain-text', buffer)
+clipboard.writeBuffer('public/utf8-plain-text', buffer)
```
### `clipboard.write(data[, type])`
diff --git a/filenames.libcxx.gni b/filenames.libcxx.gni
index b14a775f9996..1e9c6ffcbca3 100644
--- a/filenames.libcxx.gni
+++ b/filenames.libcxx.gni
@@ -13,46 +13,23 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/__functional_base",
"//buildtools/third_party/libc++/trunk/include/__functional_base_03",
"//buildtools/third_party/libc++/trunk/include/__hash_table",
- "//buildtools/third_party/libc++/trunk/include/__iterator/concepts.h",
- "//buildtools/third_party/libc++/trunk/include/__iterator/incrementable_traits.h",
- "//buildtools/third_party/libc++/trunk/include/__iterator/iter_move.h",
- "//buildtools/third_party/libc++/trunk/include/__iterator/iterator_traits.h",
- "//buildtools/third_party/libc++/trunk/include/__iterator/readable_traits.h",
"//buildtools/third_party/libc++/trunk/include/__libcpp_version",
"//buildtools/third_party/libc++/trunk/include/__locale",
- "//buildtools/third_party/libc++/trunk/include/__memory/addressof.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/allocation_guard.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/allocator.h",
"//buildtools/third_party/libc++/trunk/include/__memory/allocator_traits.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/auto_ptr.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/compressed_pair.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/construct_at.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/pointer_safety.h",
+ "//buildtools/third_party/libc++/trunk/include/__memory/base.h",
"//buildtools/third_party/libc++/trunk/include/__memory/pointer_traits.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/raw_storage_iterator.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/temporary_buffer.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/uninitialized_algorithms.h",
- "//buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h",
+ "//buildtools/third_party/libc++/trunk/include/__memory/utilities.h",
"//buildtools/third_party/libc++/trunk/include/__mutex_base",
"//buildtools/third_party/libc++/trunk/include/__node_handle",
"//buildtools/third_party/libc++/trunk/include/__nullptr",
- "//buildtools/third_party/libc++/trunk/include/__ranges/access.h",
- "//buildtools/third_party/libc++/trunk/include/__ranges/concepts.h",
- "//buildtools/third_party/libc++/trunk/include/__ranges/data.h",
- "//buildtools/third_party/libc++/trunk/include/__ranges/empty.h",
- "//buildtools/third_party/libc++/trunk/include/__ranges/enable_borrowed_range.h",
- "//buildtools/third_party/libc++/trunk/include/__ranges/size.h",
- "//buildtools/third_party/libc++/trunk/include/__ranges/view.h",
"//buildtools/third_party/libc++/trunk/include/__split_buffer",
+ "//buildtools/third_party/libc++/trunk/include/__sso_allocator",
"//buildtools/third_party/libc++/trunk/include/__std_stream",
"//buildtools/third_party/libc++/trunk/include/__string",
"//buildtools/third_party/libc++/trunk/include/__support/android/locale_bionic.h",
"//buildtools/third_party/libc++/trunk/include/__support/fuchsia/xlocale.h",
- "//buildtools/third_party/libc++/trunk/include/__support/ibm/gettod_zos.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/limits.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/locale_mgmt_aix.h",
- "//buildtools/third_party/libc++/trunk/include/__support/ibm/locale_mgmt_zos.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/nanosleep.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/support.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/xlocale.h",
@@ -72,7 +49,6 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/__tree",
"//buildtools/third_party/libc++/trunk/include/__tuple",
"//buildtools/third_party/libc++/trunk/include/__undef_macros",
- "//buildtools/third_party/libc++/trunk/include/__utility/to_underlying.h",
"//buildtools/third_party/libc++/trunk/include/algorithm",
"//buildtools/third_party/libc++/trunk/include/any",
"//buildtools/third_party/libc++/trunk/include/array",
@@ -176,7 +152,6 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/ostream",
"//buildtools/third_party/libc++/trunk/include/queue",
"//buildtools/third_party/libc++/trunk/include/random",
- "//buildtools/third_party/libc++/trunk/include/ranges",
"//buildtools/third_party/libc++/trunk/include/ratio",
"//buildtools/third_party/libc++/trunk/include/regex",
"//buildtools/third_party/libc++/trunk/include/scoped_allocator",
diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch
index 7de47af91429..92f2c45cd39a 100644
--- a/patches/chromium/add_didinstallconditionalfeatures.patch
+++ b/patches/chromium/add_didinstallconditionalfeatures.patch
@@ -23,10 +23,10 @@ index e24c169444c699f295de2c1f1f42683eeca73436..4675cdccb1876a318a9a0253cdf552bb
int32_t world_id) {}
virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index 9ae95b8118e37e22d6faddf62cd06b182d2033db..388dbbfc8b9e1b191c03792f41d5de75edb3b867 100644
+index 4dbdc2d4e7c916ed3fd1ed1214bac673220bbec8..9fb54e95510808336effa6ca60a4ce7f2682429a 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
-@@ -4381,6 +4381,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context,
+@@ -4410,6 +4410,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context,
observer.DidCreateScriptContext(context, world_id);
}
@@ -40,10 +40,10 @@ index 9ae95b8118e37e22d6faddf62cd06b182d2033db..388dbbfc8b9e1b191c03792f41d5de75
int world_id) {
for (auto& observer : observers_)
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
-index 3249400765135a0693ef9ba81045152c00bb0820..5abb2bed3e403a11016899cbb7701a80a9bb6399 100644
+index 2dac6465ee3a829e224f00fe6ca08981b728f51d..0eb37a01a5caa291654966b287aca087de6e0bb1 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
-@@ -583,6 +583,8 @@ class CONTENT_EXPORT RenderFrameImpl
+@@ -585,6 +585,8 @@ class CONTENT_EXPORT RenderFrameImpl
blink::WebLocalFrameClient::LazyLoadBehavior lazy_load_behavior) override;
void DidCreateScriptContext(v8::Local context,
int world_id) override;
@@ -53,10 +53,10 @@ index 3249400765135a0693ef9ba81045152c00bb0820..5abb2bed3e403a11016899cbb7701a80
int world_id) override;
void DidChangeScrollOffset() override;
diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h
-index 346027ed008208978d187e025b90e7cc667698d6..c2aa23af0cae2b0a7322cd8809b9015fd953938a 100644
+index 5e70b0d06e790ad28b647639c0f0a43ab4e6f9cf..6d101dc9c12c9bcbc0993d5ef7ddb8b194f6825a 100644
--- a/third_party/blink/public/web/web_local_frame_client.h
+++ b/third_party/blink/public/web/web_local_frame_client.h
-@@ -578,6 +578,9 @@ class BLINK_EXPORT WebLocalFrameClient {
+@@ -585,6 +585,9 @@ class BLINK_EXPORT WebLocalFrameClient {
virtual void DidCreateScriptContext(v8::Local,
int32_t world_id) {}
@@ -79,10 +79,10 @@ index 83b81f4c1fd4232ee5c2b7b1b7b85424164f3acc..bdd4a0031af6f9c2b701979dd469867c
if (World().IsMainWorld()) {
GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld();
diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
-index cc3f43d1d06bd41193d5035d9e4a46342ff6a548..f44020c144b17626d833cf3a6d8ceb25602fd767 100644
+index 354d705e7c5e33137767a8e75ebb2bb0bad7151b..8568d19178f5fac5c421b2e83e35341e6809a456 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
-@@ -293,6 +293,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
+@@ -298,6 +298,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
virtual void DidCreateScriptContext(v8::Local,
int32_t world_id) = 0;
@@ -92,7 +92,7 @@ index cc3f43d1d06bd41193d5035d9e4a46342ff6a548..f44020c144b17626d833cf3a6d8ceb25
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 0748a5f4f636792c05e436bd7186b35ca7b023a5..2df7e6cf8b474f0a86763e521c4058ec868b4683 100644
+index 72ea858f8021b70e1b6aeca53bc7498345f5c08f..0ac6d1b812ab8196cf326ff49047387972c0034f 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
@@ -273,6 +273,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
@@ -110,7 +110,7 @@ index 0748a5f4f636792c05e436bd7186b35ca7b023a5..2df7e6cf8b474f0a86763e521c4058ec
v8::Local context,
int32_t world_id) {
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
-index 0391fc4cd19f44b54896fb80dfc0d95816fcf878..b2242b4f084ffd3934a5f1fc23c0412cf69b99c7 100644
+index 7ee0cd63a960e1bdb5cc9979827693c5bab7e96d..8486c97f8731ffc77d13e137819a1be8116105dc 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
@@ -77,6 +77,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient {
@@ -123,10 +123,10 @@ index 0391fc4cd19f44b54896fb80dfc0d95816fcf878..b2242b4f084ffd3934a5f1fc23c0412c
int32_t world_id) override;
diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h
-index ac2ed9b3bb99ceec9cc72477e38bc0fbd7f7f4f9..1401e63a14cab972b4ccc7a25098536aca74d7f2 100644
+index 3ca78179b0d262ae2a8f5e5e7b785da78e3c4eb4..02fbe278fcc7d3955ad9e439423737f039274383 100644
--- a/third_party/blink/renderer/core/loader/empty_clients.h
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
-@@ -350,6 +350,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
+@@ -353,6 +353,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
void DidCreateScriptContext(v8::Local,
int32_t world_id) override {}
diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch
index f5cf3addb245..5e631b0bd6a7 100644
--- a/patches/chromium/blink_local_frame.patch
+++ b/patches/chromium/blink_local_frame.patch
@@ -49,7 +49,7 @@ index 8bf6b4bc077cc41da5e0e6b13302bc343537c68f..01bddc0bcb7476408023c4cfc042a088
// 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 fd9c44f62701c3b4c70e46ab86992c34777a8579..975d90d7ce9ef5a39ac8e7407982495adf5ead32 100644
+index 3c99fb90f5b02a3f10f70cd8d1773bedb5b961a2..08e2da6c1f1cbe8ddedd69f5291c089a84347110 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -808,10 +808,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
index de2ba6fbac33..f52638df356d 100644
--- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
+++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
@@ -11,10 +11,10 @@ if we ever align our .pak file generation with Chrome we can remove this
patch.
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
-index a1aa8466ead6e428544ff00d7fcf3f92a3daf080..b7afa3200133220fecea3a410d90222082d1b961 100644
+index 7cf86d58523fad6e9ae2f50ede21a40c8162b4a9..e1be9bec16f2c40d2d300f3f0ea6800a867e95fd 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
-@@ -172,11 +172,16 @@ if (!is_android && !is_mac) {
+@@ -165,11 +165,16 @@ if (!is_android && !is_mac) {
"common/crash_keys.h",
]
@@ -33,10 +33,10 @@ index a1aa8466ead6e428544ff00d7fcf3f92a3daf080..b7afa3200133220fecea3a410d902220
"//base",
"//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index 857c8f362d01bb89dd7f0d72a77aa537d3f4d04c..4c701c34f717e994ce6e876ba56d2292680967e4 100644
+index afee595b9776d7e80cb3f68bd80e0c5b859a1fca..d103c44367ac09f68757053a55d25378c5ebf452 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -4294,7 +4294,7 @@ static_library("browser") {
+@@ -4301,7 +4301,7 @@ static_library("browser") {
# On Windows, the hashes are embedded in //chrome:chrome_initial rather
# than here in :chrome_dll.
@@ -46,10 +46,10 @@ index 857c8f362d01bb89dd7f0d72a77aa537d3f4d04c..4c701c34f717e994ce6e876ba56d2292
}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
-index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2fb468b489 100644
+index 5ee912d147e0abba21a1da3829fd562095de2f3a..cee730b37e9aa3f77399a2002985924ba904439e 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
-@@ -5220,7 +5220,6 @@ test("unit_tests") {
+@@ -5245,7 +5245,6 @@ test("unit_tests") {
assert(toolkit_views)
sources += [ "../browser/ui/startup/credential_provider_signin_info_fetcher_win_unittest.cc" ]
deps += [
@@ -57,7 +57,7 @@ index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2f
"//chrome/browser:chrome_process_finder",
"//chrome/browser/safe_browsing/chrome_cleaner",
"//chrome/browser/safe_browsing/chrome_cleaner:public",
-@@ -5233,6 +5232,12 @@ test("unit_tests") {
+@@ -5258,6 +5257,12 @@ test("unit_tests") {
"//components/chrome_cleaner/public/proto",
"//ui/events/devices:test_support",
]
@@ -70,7 +70,7 @@ index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2f
}
if (is_win || is_chromeos_ash || is_mac) {
-@@ -5791,7 +5796,6 @@ test("unit_tests") {
+@@ -5819,7 +5824,6 @@ test("unit_tests") {
}
deps += [
@@ -78,7 +78,7 @@ index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2f
"//chrome/browser:cart_db_content_proto",
"//chrome/browser/media/router:test_support",
"//chrome/browser/promo_browser_command:mojo_bindings",
-@@ -5826,6 +5830,9 @@ test("unit_tests") {
+@@ -5854,6 +5858,9 @@ test("unit_tests") {
"//ui/color:test_support",
"//ui/native_theme:test_support",
]
diff --git a/patches/chromium/build_libc_as_static_library.patch b/patches/chromium/build_libc_as_static_library.patch
index fb4e329a19cf..8911bcb6298a 100644
--- a/patches/chromium/build_libc_as_static_library.patch
+++ b/patches/chromium/build_libc_as_static_library.patch
@@ -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 01d122aa78f15e0c94b1ee8ae54e08dace0aca0d..5ed9952afd4f4331c98ad41b7d79936794056ce8 100644
+index 0dd09de1ac6474aecf1d5b3086638825df094967..da648d20ec590671ed2afaf0694272cbcc397da1 100644
--- a/buildtools/third_party/libc++/BUILD.gn
+++ b/buildtools/third_party/libc++/BUILD.gn
-@@ -41,7 +41,11 @@ config("winver") {
+@@ -32,7 +32,11 @@ config("winver") {
if (libcxx_is_shared) {
_libcxx_target_type = "shared_library"
} else {
@@ -23,7 +23,7 @@ index 01d122aa78f15e0c94b1ee8ae54e08dace0aca0d..5ed9952afd4f4331c98ad41b7d799367
}
target(_libcxx_target_type, "libc++") {
# Most things that need to depend on libc++ should do so via the implicit
-@@ -49,6 +53,7 @@ target(_libcxx_target_type, "libc++") {
+@@ -40,6 +44,7 @@ target(_libcxx_target_type, "libc++") {
# need to explicitly depend on libc++.
visibility = [
"//build/config:common_deps",
diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch
index d41d1b4ba63f..8a80f5f17200 100644
--- a/patches/chromium/can_create_window.patch
+++ b/patches/chromium/can_create_window.patch
@@ -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 70bf5fae269d934b9658502c1efca4c364f199de..5c16a9ee9bbf461c24456613ff709f4f608e3441 100644
+index ec108a1471389763cb74c5edaa857f9ac9cf35f9..6dfd547b9e6c4e345af79d4875be95fb6a6d8bb0 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -6082,6 +6082,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -6223,6 +6223,7 @@ void RenderFrameHostImpl::CreateNewWindow(
last_committed_origin_, params->window_container_type,
params->target_url, params->referrer.To(),
params->frame_name, params->disposition, *params->features,
@@ -21,10 +21,10 @@ index 70bf5fae269d934b9658502c1efca4c364f199de..5c16a9ee9bbf461c24456613ff709f4f
&no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 16f12ae09c0ad4ca720452a9afa6279645c2384e..0bd0bffa7f2166823148143c590283a03d8ef65b 100644
+index 8eb069f0c29d814d8897589720690c38d3d95730..e590e0959e7aa77f562dc69fc6bd4b2da10ea001 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3770,6 +3770,14 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -3777,6 +3777,14 @@ FrameTree* WebContentsImpl::CreateNewWindow(
}
auto* new_contents_impl = new_contents.get();
@@ -39,7 +39,7 @@ index 16f12ae09c0ad4ca720452a9afa6279645c2384e..0bd0bffa7f2166823148143c590283a0
new_contents_impl->GetController().SetSessionStorageNamespace(
partition_id, session_storage_namespace);
-@@ -3812,12 +3820,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -3819,12 +3827,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
AddWebContentsDestructionObserver(new_contents_impl);
}
@@ -53,13 +53,13 @@ index 16f12ae09c0ad4ca720452a9afa6279645c2384e..0bd0bffa7f2166823148143c590283a0
new_contents_impl, opener, params.target_url,
params.referrer.To(), params.disposition,
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
-index a61f273506fecd8574ffd0bb04d507adef7859c8..3a4a6efca3a66b12409da15e4f360fb8e3a40e2c 100644
+index be6f44b67f0d1b302bcbda2afee45fcef8df4ffc..b124bd5ebc5fef4b464309229c5fb155f955810d 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
-@@ -519,6 +519,10 @@ struct CreateNewWindowParams {
+@@ -520,6 +520,10 @@ struct CreateNewWindowParams {
// The impression associated with the navigation in the new window, if
// one is specified.
- Impression? impression;
+ blink.mojom.Impression? impression;
+
+ // Extra fields added by Electron.
+ string raw_features;
@@ -150,10 +150,10 @@ index 0574d390dc94aa1d17dfa9db805f846024b7956f..a2a3550272da12eee911a7ef0d9a21dd
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
-index 2f697c7819d8ec0acd04c3c2949c084eb830b341..12e85524a462a1846674e7f01eb8b6d6b3efdc8c 100644
+index 47c22b08e854b4aab1a169b1194753151b06823b..42d28521717035691839610af491ddb8d4065969 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
-@@ -26,6 +26,7 @@
+@@ -27,6 +27,7 @@
#include "third_party/blink/public/platform/impression_conversions.h"
#include "third_party/blink/public/platform/modules/video_capture/web_video_capture_impl_manager.h"
#include "third_party/blink/public/platform/url_conversion.h"
@@ -161,7 +161,7 @@ index 2f697c7819d8ec0acd04c3c2949c084eb830b341..12e85524a462a1846674e7f01eb8b6d6
#include "third_party/blink/public/web/modules/mediastream/web_media_stream_device_observer.h"
#include "third_party/blink/public/web/web_frame_widget.h"
#include "third_party/blink/public/web/web_local_frame.h"
-@@ -284,6 +285,10 @@ WebView* RenderViewImpl::CreateView(
+@@ -285,6 +286,10 @@ WebView* RenderViewImpl::CreateView(
params->impression = blink::ConvertWebImpressionToImpression(*impression);
}
@@ -220,10 +220,10 @@ index 84d32491a56528a84b4395fba1d54cdbb38d522b..09998a83c449ef8cd9f360fbcdcf7edc
} // namespace blink
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
-index 9797f3dfa05ada91cb83a6d271df19a5fbb1ab93..fc7278a77d78096b7eb804fae9210d9dea8bbf17 100644
+index 0794b4943b54275033d3b0d563dee8ab37ccb031..e96e1beea473ba276abeee7103dec72f3d33d37b 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
-@@ -1989,6 +1989,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
+@@ -1990,6 +1990,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
WebWindowFeatures window_features =
GetWindowFeaturesFromString(features, incumbent_window);
diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
index d1f82c7e78de..56d9b95e2e07 100644
--- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
+++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
@@ -264,10 +264,10 @@ index c5c5a7b63b5b3b62a9517cbef3ae23ce57a3c89c..4f1b7e88d6d2ae89a60311c8aeb1fcee
void AddNewContents(content::WebContents* source,
std::unique_ptr new_contents,
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index fed37a4d228e89e658d1ddcd3dc10c419cbb487c..69ea4796e62fc492a3444a92e7dfc14a9e079ce3 100644
+index d7000889cb90ffaf7eddb01df33b12d768ef71aa..0d18a4b79f72a8b8ad93aecb1ee4fe49a2699aaf 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3718,8 +3718,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -3725,8 +3725,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
source_site_instance, params.window_container_type,
@@ -362,7 +362,7 @@ index bb90319f768ed2f3a3e530d64bf622de585ce163..d84de1d218267887f6b8624f913438eb
content::RenderFrameHost* opener,
content::SiteInstance* source_site_instance,
diff --git a/fuchsia/engine/browser/frame_impl.cc b/fuchsia/engine/browser/frame_impl.cc
-index 34a11c791c6044c6a1fcea65807a9055723c89d4..a437cfe197194c0fb7082a4811c238b1c22bfa67 100644
+index 533c51eadf822ef69b530c81d57503d0b486214e..63a130af5fc0b8f0d88736c381cbdaa6ec5ae363 100644
--- a/fuchsia/engine/browser/frame_impl.cc
+++ b/fuchsia/engine/browser/frame_impl.cc
@@ -388,8 +388,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
diff --git a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch
index 48356bac295b..5187656ae9de 100644
--- a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch
+++ b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch
@@ -7,10 +7,10 @@ spellchecker uses a few IDS_ resources. We need to load these from
Electrons grit header instead of Chromes
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index 443adf944cca37697a480a385e92193f729a774e..857c8f362d01bb89dd7f0d72a77aa537d3f4d04c 100644
+index 332ffb9189d134a77f7ada0be1c2f5162365eb53..afee595b9776d7e80cb3f68bd80e0c5b859a1fca 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -6450,6 +6450,7 @@ static_library("browser") {
+@@ -6458,6 +6458,7 @@ static_library("browser") {
deps += [
"//components/spellcheck/browser",
"//components/spellcheck/common",
diff --git a/patches/chromium/chrome_key_systems.patch b/patches/chromium/chrome_key_systems.patch
index fd04b70fb61d..5de0be8ea2d5 100644
--- a/patches/chromium/chrome_key_systems.patch
+++ b/patches/chromium/chrome_key_systems.patch
@@ -7,7 +7,7 @@ Disable persiste licence support check for widevine cdm,
as its not supported in the current version of chrome.
diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc
-index ac83e2c1290d16db38d6f91f3bb7eeab1adafed6..7f6b9cb64bbf3533c2d2f4ee30566e3ee4e217fa 100644
+index f0e1a2dda1dd933bb15d726c5d95de416039649b..1d7df102cdc9e3cf7f8ae5b0858bf0fe1d9301be 100644
--- a/chrome/renderer/media/chrome_key_systems.cc
+++ b/chrome/renderer/media/chrome_key_systems.cc
@@ -16,7 +16,9 @@
diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch
index 3bfb58584fa1..85c8afb8008d 100644
--- a/patches/chromium/dcheck.patch
+++ b/patches/chromium/dcheck.patch
@@ -17,10 +17,10 @@ only one or two specific checks fail. Then it's better to simply comment out the
failing checks and allow the rest of the target to have them enabled.
diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc
-index f790065679a560251a9368c82549ed386a2396c9..7ce509e58839e574443cf486193139b3602634cf 100644
+index 45ffed0f1879ab237b51a03cda7e1168209662de..3952ca42195ad4d201a7aac04908282b98016615 100644
--- a/ui/base/clipboard/clipboard_win.cc
+++ b/ui/base/clipboard/clipboard_win.cc
-@@ -923,10 +923,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const {
+@@ -908,10 +908,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const {
void ClipboardWin::WriteToClipboard(ClipboardFormatType format, HANDLE handle) {
UINT cf_format = format.ToFormatEtc().cfFormat;
diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch
index 89383b242cf6..fa8c195b4a26 100644
--- a/patches/chromium/disable_color_correct_rendering.patch
+++ b/patches/chromium/disable_color_correct_rendering.patch
@@ -81,10 +81,10 @@ index f919df4d79a1168269c1538ac13a2a944586cf4e..fc34cf5d7dab95e7b6fc0576674b3e2b
!command_line->HasSwitch(switches::kUIDisablePartialSwap);
diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
-index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c937581db1de1 100644
+index 2f14ea88d9bba70a0f93bf8507952163226b1191..114379c1065ad2fceba3b46e513048bff2cd1f7a 100644
--- a/components/viz/service/display/gl_renderer.cc
+++ b/components/viz/service/display/gl_renderer.cc
-@@ -89,6 +89,9 @@
+@@ -90,6 +90,9 @@
using gpu::gles2::GLES2Interface;
@@ -94,7 +94,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
namespace viz {
namespace {
-@@ -679,8 +682,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
+@@ -680,8 +683,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
void GLRenderer::DrawDebugBorderQuad(const DebugBorderDrawQuad* quad) {
SetBlendEnabled(quad->ShouldDrawWithBlending());
@@ -106,7 +106,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
// Use the full quad_rect for debug quads to not move the edges based on
// partial swaps.
-@@ -1670,7 +1674,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
+@@ -1671,7 +1675,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
params->use_color_matrix, tint_gl_composited_content_,
params->apply_shader_based_rounded_corner &&
ShouldApplyRoundedCorner(params->quad)),
@@ -116,7 +116,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
}
void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
-@@ -2143,15 +2148,16 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
+@@ -2144,15 +2149,16 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@@ -136,7 +136,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
gfx::ColorTransform::TriStim col(color_f.fR, color_f.fG, color_f.fB);
color_transform->Transform(&col, 1);
color_f.fR = col.x();
-@@ -2373,7 +2379,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
+@@ -2374,7 +2380,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
: NON_PREMULTIPLIED_ALPHA,
false, false, tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@@ -146,7 +146,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2472,7 +2479,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
+@@ -2473,7 +2480,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
!quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@@ -156,7 +156,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2582,7 +2590,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
+@@ -2583,7 +2591,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
// The source color space should never be RGB.
DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
@@ -166,7 +166,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
#if defined(OS_WIN)
// Force sRGB output on Windows for overlay candidate video quads to match
-@@ -2763,7 +2772,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
+@@ -2764,7 +2773,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
ShouldApplyRoundedCorner(quad)),
@@ -176,7 +176,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
-@@ -2834,8 +2844,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
+@@ -2835,8 +2845,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
// Bind the program to the GL state.
@@ -187,7 +187,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
/*adjust_src_white_level=*/draw_cache_.is_video_frame,
locked_quad.hdr_metadata());
-@@ -3691,7 +3701,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
+@@ -3692,7 +3702,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
const gfx::ColorSpace& dst_color_space,
bool adjust_src_white_level,
absl::optional hdr_metadata) {
@@ -198,7 +198,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
gfx::ColorSpace adjusted_src_color_space = src_color_space;
if (adjust_src_white_level && src_color_space.IsHDR()) {
// TODO(b/183236148): consider using the destination's HDR static metadata
-@@ -4074,9 +4086,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
+@@ -4075,9 +4087,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
cc::MathUtil::CheckedRoundUp(iosurface_height, iosurface_multiple);
}
@@ -211,7 +211,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
*new_bounds = gfx::RectF(updated_dst_rect.origin(),
gfx::SizeF((*overlay_texture)->texture.size()));
-@@ -4296,8 +4308,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
+@@ -4297,8 +4309,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
PrepareGeometry(SHARED_BINDING);
@@ -222,7 +222,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
gfx::Transform render_matrix;
render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
-@@ -4487,3 +4499,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default;
+@@ -4488,3 +4500,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default;
GLRenderer::OverlayTexture::~OverlayTexture() = default;
} // namespace viz
@@ -241,7 +241,7 @@ index 59b34cdb1dc63b8d239cae5397b2a5a4f607bf1c..e2f556532459b1129465ca2b83aa1485
sandbox::policy::switches::kGpuSandboxAllowSysVShm,
sandbox::policy::switches::kGpuSandboxFailuresFatal,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
-index 85e3dd76f528b3e60b86bef6a9231135ef2bc0f5..922e8e30a2918ef99dc53fc9124d56916d57ea5e 100644
+index 65c5fa70ee04fe5285979a93ab67449137dae304..c1192715d78ab9cc4558b398c4fb72a12b1c05cd 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -216,6 +216,7 @@
@@ -252,7 +252,7 @@ index 85e3dd76f528b3e60b86bef6a9231135ef2bc0f5..922e8e30a2918ef99dc53fc9124d5691
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h"
#include "url/origin.h"
-@@ -3376,6 +3377,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3374,6 +3375,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
// Propagate the following switches to the renderer command line (along
// with any associated values) if present in the browser command line.
static const char* const kSwitchNames[] = {
@@ -261,7 +261,7 @@ index 85e3dd76f528b3e60b86bef6a9231135ef2bc0f5..922e8e30a2918ef99dc53fc9124d5691
sandbox::policy::switches::kDisableSeccompFilterSandbox,
sandbox::policy::switches::kNoSandbox,
diff --git a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc
-index 628c6bca129cd58a25984ff8300bfb4c33ec7ebf..ff9ce55f2701990b5b6119c18575477bfdaeecf7 100644
+index 94ca8fd75212fa5c7b90823a112309dd7961353b..566393827ef739eb8fc0e24e6ee505e1680b38ab 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc
@@ -4,6 +4,7 @@
@@ -280,7 +280,7 @@ index 628c6bca129cd58a25984ff8300bfb4c33ec7ebf..ff9ce55f2701990b5b6119c18575477b
namespace blink {
-@@ -146,6 +148,11 @@ uint8_t CanvasColorParams::BytesPerPixel() const {
+@@ -143,6 +145,11 @@ uint8_t CanvasColorParams::BytesPerPixel() const {
}
gfx::ColorSpace CanvasColorParams::GetStorageGfxColorSpace() const {
@@ -315,7 +315,7 @@ index 4d87cdf578fdd2cbde7929e3a8c7cabfbb1fc836..be8550927a7c9cdc001dedef66672453
// is what the renderer uses if its not threaded.
settings.enable_checker_imaging =
diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc
-index 4e22b4cf0bd06955af5fbac32db084f41d547545..087ec6df3e7cf53e0d79c7b3edb581dc426ff3a3 100644
+index 546e43318ee74746a84a70c731e9117c88ea9136..3cc93ff14f3471e99e42d533517df36d16d3cca2 100644
--- a/ui/gfx/mac/io_surface.cc
+++ b/ui/gfx/mac/io_surface.cc
@@ -20,6 +20,7 @@
@@ -358,7 +358,7 @@ index 4e22b4cf0bd06955af5fbac32db084f41d547545..087ec6df3e7cf53e0d79c7b3edb581dc
if (__builtin_available(macos 10.12, *)) {
IOSurfaceSetValue(surface, CFSTR("IOSurfaceColorSpace"), kCGColorSpaceSRGB);
diff --git a/ui/gfx/switches.cc b/ui/gfx/switches.cc
-index 0f746ead72a2c195321384c9c4ced96d0608fb7b..a9cc7b6d93cdb42c5a9a177e8a09edeb36db8122 100644
+index 6733cbef7f7173e0cea4176986b851bad0f18e86..1714e52434f72ff4e3335e37cedb3f452f6b196b 100644
--- a/ui/gfx/switches.cc
+++ b/ui/gfx/switches.cc
@@ -10,6 +10,7 @@ namespace switches {
@@ -370,10 +370,10 @@ index 0f746ead72a2c195321384c9c4ced96d0608fb7b..a9cc7b6d93cdb42c5a9a177e8a09edeb
// Force disables font subpixel positioning. This affects the character glyph
// sharpness, kerning, hinting and layout.
diff --git a/ui/gfx/switches.h b/ui/gfx/switches.h
-index f8fc7fe6a54f844dbb9eea201b2487177e6c6912..82ba306404581d61f805502b56dcfb1a555b2e05 100644
+index afb36f3e9ae8b3f38244a5821341d34935283580..f967ae3e9e9c0edcd1b618ab09fc677aa72c0c8d 100644
--- a/ui/gfx/switches.h
+++ b/ui/gfx/switches.h
-@@ -11,6 +11,8 @@
+@@ -12,6 +12,8 @@
namespace switches {
GFX_SWITCHES_EXPORT extern const char kAnimationDurationScale[];
diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch
index 1875db096323..8f1bf1911382 100644
--- a/patches/chromium/disable_hidden.patch
+++ b/patches/chromium/disable_hidden.patch
@@ -34,7 +34,7 @@ index bdba3cf07542d494c45ef9167642898b196f06cc..db5eb3b795ab2442058dbf16375f5f13
// |routing_id| must not be MSG_ROUTING_NONE.
// If this object outlives |delegate|, DetachDelegate() must be called when
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
-index 150b03e368ec3ae0d9b3c8c6eb61e5ca830c1fbc..65cead03331f7680cde35333e7c316fced8a9056 100644
+index 0e606f2383a3352035b40b25c619695fedbe6125..8f36d0d0ede3b5e87dad5350df5e70dc5c254a31 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -594,7 +594,7 @@ void RenderWidgetHostViewAura::HideImpl() {
diff --git a/patches/chromium/disable_unload_metrics.patch b/patches/chromium/disable_unload_metrics.patch
index a302fdc5604a..4f3e90ae8690 100644
--- a/patches/chromium/disable_unload_metrics.patch
+++ b/patches/chromium/disable_unload_metrics.patch
@@ -24,7 +24,7 @@ This patch temporarily disables the metrics so we can have green CI, and we
should continue seeking for a real fix.
diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc
-index 07e6c5b525f954f3408fbc5b5df8c9c01a901f76..619d303b51501b2d2a400ba05a18eb11d09cee7a 100644
+index a5cb0c1497531a77881b24fc0fad3a8c9c848f1e..60822a341d99dde6341dbe5d481fa50f618cf0ef 100644
--- a/content/browser/renderer_host/navigator.cc
+++ b/content/browser/renderer_host/navigator.cc
@@ -1074,6 +1074,7 @@ void Navigator::RecordNavigationMetrics(
diff --git a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch b/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch
index 829e053e13ec..c3dfca8a4b24 100644
--- a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch
+++ b/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch
@@ -26,10 +26,10 @@ index fd846ca91cb17638bf07ca35bf695099174f8f00..5b2ab293ade39b2ecd68d0438034da77
#if defined(PA_THREAD_CACHE_SUPPORTED)
// Don't completely empty the thread cache outside of low memory situations,
diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc
-index dbf96f68f9d8ca74616af10c236ebe24984b2b5e..5d27063a6b8b88a40a2b12ec5a4e1583fef4af1c 100644
+index d37b50bb563eccc7460698ec7fd2d8a9736ac9f5..19333d4e52bd21e89e60744be7087ccacb876b84 100644
--- a/base/threading/platform_thread_posix.cc
+++ b/base/threading/platform_thread_posix.cc
-@@ -40,6 +40,7 @@
+@@ -39,6 +39,7 @@
#endif
#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
@@ -37,7 +37,7 @@ index dbf96f68f9d8ca74616af10c236ebe24984b2b5e..5d27063a6b8b88a40a2b12ec5a4e1583
#include "base/allocator/partition_allocator/starscan/pcscan.h"
#include "base/allocator/partition_allocator/starscan/stack/stack.h"
#endif
-@@ -73,7 +74,7 @@ void* ThreadFunc(void* params) {
+@@ -72,7 +73,7 @@ void* ThreadFunc(void* params) {
base::ThreadRestrictions::SetSingletonAllowed(false);
#if !defined(OS_NACL)
@@ -46,7 +46,7 @@ index dbf96f68f9d8ca74616af10c236ebe24984b2b5e..5d27063a6b8b88a40a2b12ec5a4e1583
internal::PCScan::NotifyThreadCreated(internal::GetStackPointer());
#endif
-@@ -99,7 +100,7 @@ void* ThreadFunc(void* params) {
+@@ -98,7 +99,7 @@ void* ThreadFunc(void* params) {
PlatformThread::CurrentHandle().platform_handle(),
PlatformThread::CurrentId());
diff --git a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch
index 600c9b6a690e..349e0e476319 100644
--- a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch
+++ b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch
@@ -11,10 +11,10 @@ This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572
Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index 388dbbfc8b9e1b191c03792f41d5de75edb3b867..7e8e5ef54bf77f56b5cc5e3b21fd60b54f802ba8 100644
+index 9fb54e95510808336effa6ca60a4ce7f2682429a..196e6277f990776783105b7d3660c1cded1073d2 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
-@@ -2354,7 +2354,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const {
+@@ -2356,7 +2356,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const {
}
const blink::web_pref::WebPreferences& RenderFrameImpl::GetBlinkPreferences() {
diff --git a/patches/chromium/dump_syms.patch b/patches/chromium/dump_syms.patch
index 34f697005852..8f7b43980934 100644
--- a/patches/chromium/dump_syms.patch
+++ b/patches/chromium/dump_syms.patch
@@ -8,7 +8,7 @@ this but it is not a blocker for releasing Electron. This patch removes
tthe hard fail on dylib resolve failure from dump_syms
diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py
-index 1d12ce255505ee5612380cd14d0b127bd7c564d1..3ebbe8add082c648f7444c3a976acf0fa1efcc3f 100755
+index ae381dd057d3fd4b6e70ba868edf30eeba93752e..78b2b2fe4e7be6b19bc0e980fee4d6817139701c 100755
--- a/components/crash/content/tools/generate_breakpad_symbols.py
+++ b/components/crash/content/tools/generate_breakpad_symbols.py
@@ -205,7 +205,7 @@ def GetSharedLibraryDependenciesMac(binary, exe_path):
diff --git a/patches/chromium/enable_reset_aspect_ratio.patch b/patches/chromium/enable_reset_aspect_ratio.patch
index b7cad8398785..c1653d6c4c96 100644
--- a/patches/chromium/enable_reset_aspect_ratio.patch
+++ b/patches/chromium/enable_reset_aspect_ratio.patch
@@ -6,10 +6,10 @@ Subject: feat: enable setting aspect ratio to 0
Make SetAspectRatio accept 0 as valid input, which would reset to null.
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
-index f6c41d83fbd4ef613c951c1d0fee46d8379c1ded..a362a573bef4ce15d82335990c50cb0e6a72d053 100644
+index 4d986b929bd795b7bacc9d7001a623e5d3f9d110..df4bab7b0a1cdf9158bd55c1f1a177156dd4c156 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
-@@ -491,7 +491,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
+@@ -517,7 +517,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
}
void DesktopWindowTreeHostWin::SetAspectRatio(const gfx::SizeF& aspect_ratio) {
diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch
index f944a4be100e..a7a918a3a3b3 100644
--- a/patches/chromium/expose_setuseragent_on_networkcontext.patch
+++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch
@@ -33,7 +33,7 @@ index 0ccfe130f00ec3b6c75cd8ee04d5a2777e1fd00c..653829457d58bf92057cc36aa8a28970
DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings);
};
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
-index 3a34df559a160c51488242bb7541a0a939ba67a3..42bf611491cda4778c1c109be6237814dd5e8c45 100644
+index f513f1c8bc33136f58f7bc3de2bb3590af9a153f..ded56333f882e2975116fe45ba6898c9a589cf93 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1184,6 +1184,13 @@ void NetworkContext::SetNetworkConditions(
@@ -51,7 +51,7 @@ index 3a34df559a160c51488242bb7541a0a939ba67a3..42bf611491cda4778c1c109be6237814
// This may only be called on NetworkContexts created with the constructor
// that calls MakeURLRequestContext().
diff --git a/services/network/network_context.h b/services/network/network_context.h
-index 3457e652131b962a574352803d06f5f4e47b6e59..c347bc731d58e5610cdbabb71075f30f282b4ab7 100644
+index 1f09e757f9ac7f9f101066beddbd2f540cfd5b7d..43b461c1fa12ed38975a90a08987620088236dad 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -255,6 +255,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -63,10 +63,10 @@ index 3457e652131b962a574352803d06f5f4e47b6e59..c347bc731d58e5610cdbabb71075f30f
void SetEnableReferrers(bool enable_referrers) override;
#if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
-index 2595d0b342951d03dcc9d809b33b3f2705e14aa3..3c6798196ada1e28936e8b2bc5530b675a9ea994 100644
+index ebbdeaa440514740b672bbf722c31d58d254cd8f..a9c8d07092579043b176b78401474080423e112a 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
-@@ -949,6 +949,9 @@ interface NetworkContext {
+@@ -952,6 +952,9 @@ interface NetworkContext {
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
NetworkConditions? conditions);
@@ -77,7 +77,7 @@ index 2595d0b342951d03dcc9d809b33b3f2705e14aa3..3c6798196ada1e28936e8b2bc5530b67
SetAcceptLanguage(string new_accept_language);
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
-index b10229fcdef0d6a50a03df26761511be5d3a2f04..65ef615b3a7cf3f8fc79b3972311265ec9dc91e0 100644
+index 0d928e7db97bcc2ac99eea0e46a2f0b8405ddfb9..b325c08a447abb2424f08fb11abe2b1375e4b920 100644
--- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h
@@ -123,6 +123,7 @@ class TestNetworkContext : public mojom::NetworkContext {
diff --git a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch
index a7a61f681360..e811a6ffa4d5 100644
--- a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch
+++ b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch
@@ -7,7 +7,7 @@ Subject: feat: allow embedders to add observers on created hunspell
This patch is used by Electron to implement spellchecker events.
diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
-index 340667d184550f09077c0c6afb3e0befc9f3044e..c60be9ac250466dc882d950c4ec64787c0c19053 100644
+index 6ba3efb81955c5f4cb43d99314790b2dd2d0ac8c..5ed5c24a5494fa4c954ee40d930dc9b49cb7161a 100644
--- a/chrome/browser/spellchecker/spellcheck_service.cc
+++ b/chrome/browser/spellchecker/spellcheck_service.cc
@@ -466,6 +466,9 @@ void SpellcheckService::LoadDictionaries() {
diff --git a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch
index 3b7fa266abae..8c3a7a395a2f 100644
--- a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch
+++ b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch
@@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta
to users. We should try to upstream this.
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
-index f86661da7ea27dcbbd89ece5a03e115f17466946..4dd10c802ed6b15e362f60a8e8c6b29f4ec523bf 100644
+index 9b1c762c66692d552aaec7c2f24b9104cd623fea..f5de73704cfcaa746ddf6970c3bde72e63f29c71 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
-@@ -1765,10 +1765,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
+@@ -1768,10 +1768,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
// outermost frame trees in this WebContents.
std::vector GetOutermostMainFrames();
@@ -26,7 +26,7 @@ index f86661da7ea27dcbbd89ece5a03e115f17466946..4dd10c802ed6b15e362f60a8e8c6b29f
// state into account.
PageVisibilityState CalculatePageVisibilityState(Visibility visibility) const;
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
-index 41943c884912ee34b1f588f404a085683588a549..940bae96321b6a939cdae14560ddc61b9bcee673 100644
+index 4d6ba5102935330abc6f2354f4c442ad3a045e09..0afdb3ef00f89cbb2a79b66ed84b829bbbd98ac7 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -630,6 +630,8 @@ class WebContents : public PageNavigator,
diff --git a/patches/chromium/fix_use_electron_generated_resources.patch b/patches/chromium/fix_use_electron_generated_resources.patch
index e911edc1dada..d6eb8a83d8e1 100644
--- a/patches/chromium/fix_use_electron_generated_resources.patch
+++ b/patches/chromium/fix_use_electron_generated_resources.patch
@@ -12,10 +12,10 @@ as they will loaded as empty strings.
* IDS_UTILITY_PROCESS_PRINTING_SERVICE_NAME on Windows
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
-index f5fcfe6392a7b2f49ca491815411d110dc14d532..359f5678f52047c14ba2fa9dbadebf4e84b92146 100644
+index f72431f5bc7ba82316cf318f7845e7523c366d92..5133f3cd28c0d630a039118eb91c6c37ee202f3e 100644
--- a/chrome/browser/pdf/pdf_extension_util.cc
+++ b/chrome/browser/pdf/pdf_extension_util.cc
-@@ -10,8 +10,7 @@
+@@ -11,8 +11,7 @@
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/common/chrome_content_client.h"
diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch
index ae88a12f4e0e..258606d79f9f 100644
--- a/patches/chromium/frame_host_manager.patch
+++ b/patches/chromium/frame_host_manager.patch
@@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
Allows embedder to intercept site instances created by chromium.
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
-index 780cdd2c709b7a50b87f037810a9277d23902e43..a015c3faaeb85e0a15e867575b305fe4a75cde78 100644
+index a46cdea2d328a69efea6c6c730ef5ca3fdf9221b..95a876fbbe3ac6504a2a1e4c7ef3d3781ef1d25b 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
-@@ -2994,6 +2994,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -2995,6 +2995,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange();
}
diff --git a/patches/chromium/gin_enable_disable_v8_platform.patch b/patches/chromium/gin_enable_disable_v8_platform.patch
index 2633ccc49e1a..15c201763758 100644
--- a/patches/chromium/gin_enable_disable_v8_platform.patch
+++ b/patches/chromium/gin_enable_disable_v8_platform.patch
@@ -38,10 +38,10 @@ index eaf06bd895f3ed390d1b206b2dc5adcca5c87e72..6bd634c4a66999648c51b8867c0d9b0c
v8::Isolate* isolate() { return isolate_; }
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
-index f3505f07bdbe7975f64a7d7c3f85db6997aaa808..2735d4f7f6e3c7e6a79b066d699a5c20de53432e 100644
+index 876814b6d7c340bef364836fd984cb8e9f6e88bb..3b6b4171f6999209db2b906f1a2f42951d171262 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
-@@ -241,7 +241,8 @@ void RunArrayBufferCageReservationExperiment() {
+@@ -252,7 +252,8 @@ void RunArrayBufferCageReservationExperiment() {
} // namespace
// static
@@ -51,7 +51,7 @@ index f3505f07bdbe7975f64a7d7c3f85db6997aaa808..2735d4f7f6e3c7e6a79b066d699a5c20
static bool v8_is_initialized = false;
if (v8_is_initialized)
return;
-@@ -251,7 +252,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) {
+@@ -262,7 +263,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) {
RunArrayBufferCageReservationExperiment();
}
diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch
index a949285d3032..693b3d419d4f 100644
--- a/patches/chromium/gritsettings_resource_ids.patch
+++ b/patches/chromium/gritsettings_resource_ids.patch
@@ -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 b27b177661d5a52812634c62e7db8b00919804ca..40fde94a58d3204b64511f4a201cca2251723eae 100644
+index 74451c3470babb35f8c204fa204505b9f000455e..4c84e957717cf3ce45abda5e60ceb0d02d61940a 100644
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
-@@ -802,6 +802,11 @@
+@@ -805,6 +805,11 @@
"includes": [3880],
},
diff --git a/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch
index bf34ae1416e0..ceb52ec70e42 100644
--- a/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch
+++ b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch
@@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
-index da7fb3bf8bac52e19c7b8909ca1f3aaedddf25d4..5ff802bb4bcdea37b71d60cf004ea71d2b1c1963 100755
+index c526db84c70c0ccc523ac29cd161139bc3d0ad13..68983f27414cc051f57b3273ca023165054792b5 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -297,6 +297,8 @@ def main():
diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch
index 6e3a1d5744c3..9994c2f4e755 100644
--- a/patches/chromium/mas_disable_remote_accessibility.patch
+++ b/patches/chromium/mas_disable_remote_accessibility.patch
@@ -44,10 +44,10 @@ index 9ddda9116e7284cbccde8a51e23ad7560dd06367..e846091ad99b0154636489e53491209f
} // namespace
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
-index 2ccec9187c4ed3920f3df3f78994a18f797e4f49..a0598f6c928fcffe0c3f82d5c390f8a4fc7a1d90 100644
+index 89e8a69b2bbb28fb90314b19c062b47d618b7038..e3f6be21487823d1d96945f163a7865119ce5605 100644
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
-@@ -559,10 +559,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
+@@ -557,10 +557,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
// this should be treated as an error and caught early.
CHECK(bridged_view_);
diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch
index ca61cf92042d..053e17b19840 100644
--- a/patches/chromium/mas_no_private_api.patch
+++ b/patches/chromium/mas_no_private_api.patch
@@ -46,7 +46,7 @@ index e3470fdbf945042a16dcb2affb7859607ca4184a..641d0a0e57ef7903ba9577954f85ae62
NSArray* node_array,
const LineIndexer* line_indexer) const {
diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm
-index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab247f64655 100644
+index 42800aa884846b1590b1df2b4b8a10d20ce24345..41c7bd66791fb81ea65a0e615bc46317012d058e 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm
+++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm
@@ -140,9 +140,11 @@
@@ -61,7 +61,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
if ([target isKindOfClass:[NSArray class]])
return InvokeForArray(target, property_node);
-@@ -287,6 +289,7 @@
+@@ -303,6 +305,7 @@
property_name == "AXTextMarkerRangeForUIElement") { // UIElement
return OptionalNSObject::NotNilOrError(PropertyNodeToUIElement(arg_node));
}
@@ -69,7 +69,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
if (property_name == "AXIndexForTextMarker" ||
property_name == "AXNextWordEndTextMarkerForTextMarker" ||
property_name ==
-@@ -297,6 +300,7 @@
+@@ -313,6 +316,7 @@
return OptionalNSObject::NotNilOrError(
PropertyNodeToTextMarkerRange(arg_node));
}
@@ -77,7 +77,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
return OptionalNSObject::NotApplicable();
}
-@@ -362,6 +366,7 @@
+@@ -384,6 +388,7 @@
return uielement;
}
@@ -85,7 +85,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
id AttributeInvoker::DictNodeToTextMarker(
const AXPropertyNode& dictnode) const {
if (!dictnode.IsDict()) {
-@@ -469,6 +474,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) {
+@@ -491,6 +496,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) {
return OptionalNSObject::NotNilOrError(content::AXTextMarkerFrom(
cocoa_node, range.focus()->text_offset(), range.focus()->affinity()));
}
diff --git a/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch b/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch
index f32d33fa70c0..4a2895266232 100644
--- a/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch
+++ b/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch
@@ -9,10 +9,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
system priority.
diff --git a/ui/gfx/platform_font_mac.mm b/ui/gfx/platform_font_mac.mm
-index e39d9fe5f149adbaf6c9066b2f1438f7e824113d..70d180dc00a1e96e8b8dd522937b44d734c5db17 100644
+index 99b4dffbd41dd5d53e4f8e7e0bfbbf3ecc6fcb43..db57e78efa22a26b71426d2960aeb7919ae6cf47 100644
--- a/ui/gfx/platform_font_mac.mm
+++ b/ui/gfx/platform_font_mac.mm
-@@ -26,9 +26,11 @@
+@@ -25,9 +25,11 @@
using Weight = Font::Weight;
@@ -24,7 +24,7 @@ index e39d9fe5f149adbaf6c9066b2f1438f7e824113d..70d180dc00a1e96e8b8dd522937b44d7
namespace {
-@@ -233,7 +235,13 @@ NSInteger ToNSFontManagerWeight(Weight weight) {
+@@ -232,7 +234,13 @@ NSInteger ToNSFontManagerWeight(Weight weight) {
// TODO(avi, etienneb): Figure out this font stuff.
base::ScopedCFTypeRef descriptor(
CTFontCopyFontDescriptor(font));
diff --git a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
index aaa613a9853a..4b0c374f90c7 100644
--- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
+++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
@@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement
session.setCertificateVerifyCallback.
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
-index cbe158aa7a6691ee0f908fff061117dcc8b79ce4..3a34df559a160c51488242bb7541a0a939ba67a3 100644
+index 8dcdcf899ea13be6237f63f425d85eb410c845ff..f513f1c8bc33136f58f7bc3de2bb3590af9a153f 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -117,6 +117,11 @@
@@ -116,7 +116,7 @@ index cbe158aa7a6691ee0f908fff061117dcc8b79ce4..3a34df559a160c51488242bb7541a0a9
void NetworkContext::CreateURLLoaderFactory(
mojo::PendingReceiver receiver,
mojom::URLLoaderFactoryParamsPtr params) {
-@@ -1983,6 +2068,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
+@@ -1984,6 +2069,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
std::move(cert_verifier));
cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -127,7 +127,7 @@ index cbe158aa7a6691ee0f908fff061117dcc8b79ce4..3a34df559a160c51488242bb7541a0a9
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
diff --git a/services/network/network_context.h b/services/network/network_context.h
-index c18f35d8debb142a0d23a72040b7668a93f3602c..3457e652131b962a574352803d06f5f4e47b6e59 100644
+index 7ecd11bb762d0ccaa104d0cc198b66db2aed8143..1f09e757f9ac7f9f101066beddbd2f540cfd5b7d 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -91,6 +91,7 @@ class DomainReliabilityMonitor;
@@ -147,7 +147,7 @@ index c18f35d8debb142a0d23a72040b7668a93f3602c..3457e652131b962a574352803d06f5f4
void ResetURLLoaderFactories() override;
void GetCookieManager(
mojo::PendingReceiver receiver) override;
-@@ -705,6 +708,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -707,6 +710,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
CertVerifierWithTrustAnchors* cert_verifier_with_trust_anchors_ = nullptr;
#endif
@@ -157,7 +157,7 @@ index c18f35d8debb142a0d23a72040b7668a93f3602c..3457e652131b962a574352803d06f5f4
// CertNetFetcher is not used by the current platform, or if the actual
// net::CertVerifier is instantiated outside of the network service.
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
-index c1e7628be3dc7881c7871639edd7461ade3fd546..2595d0b342951d03dcc9d809b33b3f2705e14aa3 100644
+index dfc0478673263810e270184603e88af6e2bcd400..ebbdeaa440514740b672bbf722c31d58d254cd8f 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -189,6 +189,17 @@ struct CTPolicy {
@@ -178,7 +178,7 @@ index c1e7628be3dc7881c7871639edd7461ade3fd546..2595d0b342951d03dcc9d809b33b3f27
// Parameters for constructing a network context.
struct NetworkContextParams {
// Name used by memory tools to identify the context.
-@@ -716,6 +727,9 @@ interface NetworkContext {
+@@ -719,6 +730,9 @@ interface NetworkContext {
// Sets a client for this network context.
SetClient(pending_remote client);
diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch
index 770f6f9cd19f..e9eb1d4e46b8 100644
--- a/patches/chromium/notification_provenance.patch
+++ b/patches/chromium/notification_provenance.patch
@@ -67,7 +67,7 @@ index 25a35dc7647d8bcb503c9b023bd912a5c0542877..cea756feb06f1b0ee1f7f5bd8b68fd4d
/*document_url=*/GURL(),
notification_service_remote_.BindNewPipeAndPassReceiver());
diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
-index 8c91fc000ffb0e25d301ded93668b680222d44c1..d0aec3f134390b756aea5359b7a10d2ee10ba43b 100644
+index 7cd9f5fdd74d8c7f87ef2ff6f52e354bf5da2dd2..27b83402af20c03eaa6dc2c8b6821f453db327a1 100644
--- a/content/browser/notifications/platform_notification_context_impl.cc
+++ b/content/browser/notifications/platform_notification_context_impl.cc
@@ -284,13 +284,14 @@ void PlatformNotificationContextImpl::Shutdown() {
@@ -108,10 +108,10 @@ index b195cb84d8bba3c51b04f8c32cf909d15bf34335..37528715db985d12771ba2dca86dcec8
const GURL& document_url,
mojo::PendingReceiver receiver);
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
-index 3c98f632f55c99e9e1b96d1a4b31f9f813272a60..fdad49451e9dcdab8d2b532c90c784faf2e5aeba 100644
+index 43c270f82113e75e77b9a0c9f58901eb87ddfea9..f354e09e070591017510ddf2f96785584da937b1 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -2298,7 +2298,7 @@ void RenderProcessHostImpl::CreateNotificationService(
+@@ -2296,7 +2296,7 @@ void RenderProcessHostImpl::CreateNotificationService(
document_url = rfh->GetLastCommittedURL();
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch
index a73352528dec..5cd1a7dea101 100644
--- a/patches/chromium/picture-in-picture.patch
+++ b/patches/chromium/picture-in-picture.patch
@@ -61,7 +61,7 @@ index 7b711bdbaf4afddd6ccf300af7bab26487942243..987a60b81554b676661d8f1a53facbc9
#include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/paint_vector_icon.h"
diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc
-index 6da231ce996fda46be2c2ce787d08fba988b5304..e4628ae26118d8a042b805371142428f34247a9f 100644
+index 2b185ba63ae3b5f2dc3d73d4a7bf6ac331e09361..25eb311ba9054ee65afce166fc1da0c2e1beb8f0 100644
--- a/chrome/browser/ui/views/overlay/overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc
@@ -16,9 +16,11 @@
@@ -94,7 +94,7 @@ index 6da231ce996fda46be2c2ce787d08fba988b5304..e4628ae26118d8a042b805371142428f
#include "chrome/browser/shell_integration_win.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tree_host.h"
-@@ -242,7 +244,7 @@ std::unique_ptr OverlayWindowViews::Create(
+@@ -247,7 +249,7 @@ std::unique_ptr OverlayWindowViews::Create(
overlay_window->Init(std::move(params));
overlay_window->OnRootViewReady();
diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch
index cd20455cd5e8..92ff9d547d25 100644
--- a/patches/chromium/printing.patch
+++ b/patches/chromium/printing.patch
@@ -11,24 +11,24 @@ majority of changes originally come from these PRs:
This patch also fixes callback for manual user cancellation and success.
diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc
-index cbe686c86aab691efeca9d104575711fd46037d5..26362670d68e8a6b3297678931ea43a240ae9391 100644
+index 7f35eb191c651294fdf3cb14119bd4895bbc437e..6931a992de9c73bc3d40a7e74e4d009aefa236a8 100644
--- a/chrome/browser/printing/print_job.cc
+++ b/chrome/browser/printing/print_job.cc
-@@ -349,18 +349,25 @@ void PrintJob::StartPdfToEmfConversion(
+@@ -350,18 +350,25 @@ void PrintJob::StartPdfToEmfConversion(
// seems to work with the fix for this bug applied.
const PrintSettings& settings = document()->settings();
bool print_text_with_gdi =
-- settings.print_text_with_gdi() && !settings.printer_is_xps() &&
+- settings.print_text_with_gdi() && !settings.printer_language_is_xps() &&
+#if defined(OS_WIN)
+ settings.is_modifiable()
+#else
+ settings.print_text_with_gdi()
+#endif
-+ && !settings.printer_is_xps() &&
++ && !settings.printer_language_is_xps() &&
base::FeatureList::IsEnabled(::features::kGdiTextPrinting);
// TODO(thestig): Figure out why crbug.com/1083911 occurred, which is likely
- // because |web_contents| was null. As a result, this section has many more
+ // because `web_contents` was null. As a result, this section has many more
// pointer checks to avoid crashing.
+#if 0
content::WebContents* web_contents = worker_->GetWebContents();
diff --git a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
index b2d275bc29fe..09ccd26072f2 100644
--- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
+++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
@@ -43,10 +43,10 @@ index a2227fabbafb9a5e162c063d2aaa494f78cdd610..760ce40cda142529a58c5d156e1d7b76
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 0bd0bffa7f2166823148143c590283a03d8ef65b..fed37a4d228e89e658d1ddcd3dc10c419cbb487c 100644
+index e590e0959e7aa77f562dc69fc6bd4b2da10ea001..d7000889cb90ffaf7eddb01df33b12d768ef71aa 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4330,6 +4330,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
+@@ -4337,6 +4337,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
return text_input_manager_.get();
}
@@ -59,10 +59,10 @@ index 0bd0bffa7f2166823148143c590283a03d8ef65b..fed37a4d228e89e658d1ddcd3dc10c41
RenderWidgetHostImpl* render_widget_host) {
return render_widget_host == GetMainFrame()->GetRenderWidgetHost();
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
-index 8198b27e6de0555fa088096ba9b7d6e8503873e8..f86661da7ea27dcbbd89ece5a03e115f17466946 100644
+index 46f7b550bdf5cbe260523735db975f9c8b0ba532..9b1c762c66692d552aaec7c2f24b9104cd623fea 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
-@@ -968,6 +968,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
+@@ -969,6 +969,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
blink::mojom::FrameVisibility visibility) override;
void SendScreenRects() override;
TextInputManager* GetTextInputManager() override;
@@ -71,7 +71,7 @@ index 8198b27e6de0555fa088096ba9b7d6e8503873e8..f86661da7ea27dcbbd89ece5a03e115f
bool IsShowingContextMenuOnPage() const override;
void DidChangeScreenOrientation() override;
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
-index e6bbfa5b9d4003f256dcaf3eadb18faa7785a681..c46dafad4ddde7a64b5ee1d314eee58f8012ad32 100644
+index bee7ace6ac2c3a7af108904fcdfe3cac3dc852fe..6ad9a7cfec251e814f8d64f025755f24c523d069 100644
--- a/content/public/browser/web_contents_observer.h
+++ b/content/public/browser/web_contents_observer.h
@@ -13,6 +13,7 @@
@@ -80,9 +80,9 @@ index e6bbfa5b9d4003f256dcaf3eadb18faa7785a681..c46dafad4ddde7a64b5ee1d314eee58f
#include "content/common/content_export.h"
+#include "content/common/cursors/webcursor.h"
#include "content/public/browser/allow_service_worker_result.h"
- #include "content/public/browser/cookie_access_details.h"
- #include "content/public/browser/navigation_controller.h"
-@@ -456,6 +457,9 @@ class CONTENT_EXPORT WebContentsObserver {
+ #include "content/public/browser/reload_type.h"
+ #include "content/public/browser/render_frame_host.h"
+@@ -460,6 +461,9 @@ class CONTENT_EXPORT WebContentsObserver {
// Invoked every time the WebContents changes visibility.
virtual void OnVisibilityChanged(Visibility visibility) {}
diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch
index 821dad0c6f7a..9efc72bd9416 100644
--- a/patches/chromium/resource_file_conflict.patch
+++ b/patches/chromium/resource_file_conflict.patch
@@ -52,10 +52,10 @@ Some alternatives to this patch:
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
-index 6c594ef1816c2ff9d1c4e75f4488025079e090b2..a1aa8466ead6e428544ff00d7fcf3f92a3daf080 100644
+index 2119244016aa6f28b93d649c5c4866863c913fc1..7cf86d58523fad6e9ae2f50ede21a40c8162b4a9 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
-@@ -1534,7 +1534,7 @@ if (is_chrome_branded && !is_android) {
+@@ -1527,7 +1527,7 @@ if (is_chrome_branded && !is_android) {
}
}
@@ -64,7 +64,7 @@ index 6c594ef1816c2ff9d1c4e75f4488025079e090b2..a1aa8466ead6e428544ff00d7fcf3f92
chrome_paks("packed_resources") {
if (is_mac) {
output_dir = "$root_gen_dir/repack"
-@@ -1562,6 +1562,12 @@ if (!is_android) {
+@@ -1555,6 +1555,12 @@ if (!is_android) {
}
}
diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch
index b58260838cf1..c1bf32c1e643 100644
--- a/patches/chromium/scroll_bounce_flag.patch
+++ b/patches/chromium/scroll_bounce_flag.patch
@@ -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 3a5834f68dadd0de9071c8e7c7bd416d59d40d55..dbaa8c95ab0a5572b2194c02a73ae54b8f676ac7 100644
+index 0bc724506b213c5e95972df96b43bf755fc049ad..2426947095205f29352e9f25c0e4d39eadda16cf 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
-@@ -1259,7 +1259,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
+@@ -1264,7 +1264,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
}
bool RenderThreadImpl::IsElasticOverscrollEnabled() {
diff --git a/patches/chromium/skip_atk_toolchain_check.patch b/patches/chromium/skip_atk_toolchain_check.patch
index f1067bf2ada7..7fd7a7315bad 100644
--- a/patches/chromium/skip_atk_toolchain_check.patch
+++ b/patches/chromium/skip_atk_toolchain_check.patch
@@ -21,11 +21,11 @@ See //ui/accessibility/BUILD.gn:297:20: which caused the file to be included.
which we don't build
diff --git a/build/config/linux/atk/BUILD.gn b/build/config/linux/atk/BUILD.gn
-index bc8e27894732a6d3e834d6b21f00441eca02dd63..f7381c1d5b5842521e0c35476ae468ab508c0fea 100644
+index 92baff2a9b6eea1bcfaa53a9e70b4857b68cea77..8fd6031dda6afa42e9ed0742ccc4e71a93df7583 100644
--- a/build/config/linux/atk/BUILD.gn
+++ b/build/config/linux/atk/BUILD.gn
-@@ -12,7 +12,7 @@ import("//build/config/ui.gni")
- assert(!is_chromeos_ash)
+@@ -11,7 +11,7 @@ import("//build/config/ui.gni")
+ assert(!is_chromeos)
# These packages should _only_ be expected when building for a target.
-assert(current_toolchain == default_toolchain)
diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch
index ffeef6b603f2..c19d3e1f990d 100644
--- a/patches/chromium/support_mixed_sandbox_with_zygote.patch
+++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch
@@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it
does touch a security-sensitive class.
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
-index fdad49451e9dcdab8d2b532c90c784faf2e5aeba..85e3dd76f528b3e60b86bef6a9231135ef2bc0f5 100644
+index f354e09e070591017510ddf2f96785584da937b1..65c5fa70ee04fe5285979a93ab67449137dae304 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -427,10 +427,18 @@ class RendererSandboxedProcessLauncherDelegate
diff --git a/patches/chromium/ui_gtk_public_header.patch b/patches/chromium/ui_gtk_public_header.patch
index 72fdf5111391..1ccb205924ba 100644
--- a/patches/chromium/ui_gtk_public_header.patch
+++ b/patches/chromium/ui_gtk_public_header.patch
@@ -6,7 +6,7 @@ Subject: ui_gtk_public_header.patch
Allow electron to depend on //ui/gtk/gtk_util.h
diff --git a/ui/gtk/BUILD.gn b/ui/gtk/BUILD.gn
-index 7bdb5a0e439ab931d0656265cedf298ca4a34d13..a0098d0ca4256f22138f857fad920725853f998d 100644
+index bef73bd7a6dfc8db07f4ee4e03b0c02b9f81b515..cd3b1f629ca591882dd19e6ffbc47b4b44c402d2 100644
--- a/ui/gtk/BUILD.gn
+++ b/ui/gtk/BUILD.gn
@@ -39,7 +39,7 @@ generate_stubs("gtk_stubs") {
diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch
index e20d48d89d67..b7bd805551f4 100644
--- a/patches/chromium/web_contents.patch
+++ b/patches/chromium/web_contents.patch
@@ -9,10 +9,10 @@ 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 69ea4796e62fc492a3444a92e7dfc14a9e079ce3..115afedc169c767cb4297d34fbdc0792f4472c08 100644
+index 0d18a4b79f72a8b8ad93aecb1ee4fe49a2699aaf..ffffc4521b9707956a063819a726eac92e87c1aa 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -2923,6 +2923,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2926,6 +2926,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
frame_tree_.Init(site_instance.get(), params.renderer_initiated_creation,
params.main_frame_name);
@@ -25,7 +25,7 @@ index 69ea4796e62fc492a3444a92e7dfc14a9e079ce3..115afedc169c767cb4297d34fbdc0792
WebContentsViewDelegate* delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
-@@ -2933,6 +2939,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2936,6 +2942,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
view_.reset(CreateWebContentsView(this, delegate,
&render_view_host_delegate_view_));
}
@@ -34,7 +34,7 @@ index 69ea4796e62fc492a3444a92e7dfc14a9e079ce3..115afedc169c767cb4297d34fbdc0792
CHECK(view_.get());
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
-index eff5a1b759bcfd6f775413080d5cdc9de148a547..41943c884912ee34b1f588f404a085683588a549 100644
+index 43105b1caf9a3ee81ae0ecf5b9f13165b7d72222..4d6ba5102935330abc6f2354f4c442ad3a045e09 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -85,10 +85,13 @@ class BrowserContext;
diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch
index 44483526b7d8..e8449923d7ce 100644
--- a/patches/chromium/webview_fullscreen.patch
+++ b/patches/chromium/webview_fullscreen.patch
@@ -14,10 +14,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 5c16a9ee9bbf461c24456613ff709f4f608e3441..4e4d1fdf50e2d480e099c9af71a45fc864d2cf56 100644
+index 6dfd547b9e6c4e345af79d4875be95fb6a6d8bb0..66bf5aea4d53e72e9b1f6fb0d7a64290db6c14b7 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -5520,6 +5520,15 @@ void RenderFrameHostImpl::EnterFullscreen(
+@@ -5661,6 +5661,15 @@ void RenderFrameHostImpl::EnterFullscreen(
notified_instances.insert(parent_site_instance);
}
diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch
index 351e6648d282..48dfd20b880f 100644
--- a/patches/chromium/worker_context_will_destroy.patch
+++ b/patches/chromium/worker_context_will_destroy.patch
@@ -55,7 +55,7 @@ index cb8770a47a808279d7c1999245d19eae3c941a4e..523a489b89735d77a2d44b5f5d327b20
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 7691e1e8b3289774f89830fd850c6f6d155dec24..e311411dc9b7074290cff0551fc3ae8043218538 100644
+index cd2ebc947ed03690d7954b4bf6c1d20ebcfaa81b..401bae87ccfdde9a73c42c6e7a3787734c443190 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -728,6 +728,7 @@ class BLINK_PLATFORM_EXPORT Platform {
diff --git a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch
index 7ffd551c8d9b..b0b707c926e9 100644
--- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch
+++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch
@@ -65,7 +65,7 @@ index 523a489b89735d77a2d44b5f5d327b20dcbab3fb..842890143c2bc79f2acbf1d6f17cd8ea
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 e311411dc9b7074290cff0551fc3ae8043218538..3a1f06e9b7d8522dd8ed7fbfb61f3899cde24808 100644
+index 401bae87ccfdde9a73c42c6e7a3787734c443190..b6edfa6c34e5519e1fcda6a6d402d807f2a26719 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -728,6 +728,8 @@ class BLINK_PLATFORM_EXPORT Platform {
diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch
index 78a12f9c0b38..3f952192417e 100644
--- a/patches/v8/build_gn.patch
+++ b/patches/v8/build_gn.patch
@@ -9,10 +9,10 @@ necessary for native modules to load.
Also, some fixes relating to mksnapshot on ARM.
diff --git a/BUILD.gn b/BUILD.gn
-index 31c77a650d0fdc2cb3b0cf23815623b0962c6f40..2025fee23f0a11eaa0573c19b762280f8dcbae6a 100644
+index 6189f4e0105c381df05856ceedc6d036baf470a7..4d76cf090c3f3c9add0f1104833642963d4ddbc2 100644
--- a/BUILD.gn
+++ b/BUILD.gn
-@@ -544,7 +544,7 @@ config("internal_config") {
+@@ -545,7 +545,7 @@ config("internal_config") {
":cppgc_header_features",
]
@@ -21,7 +21,7 @@ index 31c77a650d0fdc2cb3b0cf23815623b0962c6f40..2025fee23f0a11eaa0573c19b762280f
defines += [ "BUILDING_V8_SHARED" ]
}
}
-@@ -5286,7 +5286,7 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -5292,7 +5292,7 @@ if (current_toolchain == v8_generator_toolchain) {
"src/interpreter/bytecodes.h",
]
@@ -30,7 +30,7 @@ index 31c77a650d0fdc2cb3b0cf23815623b0962c6f40..2025fee23f0a11eaa0573c19b762280f
deps = [
":v8_libbase",
-@@ -5324,6 +5324,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
+@@ -5330,6 +5330,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
configs = [ ":internal_config" ]
diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch
index 95e588055372..58cb7bad7049 100644
--- a/patches/v8/dcheck.patch
+++ b/patches/v8/dcheck.patch
@@ -6,7 +6,7 @@ Subject: dcheck.patch
https://github.com/auchenberg/volkswagen
diff --git a/src/api/api.cc b/src/api/api.cc
-index 5880ca6e4806c8fefde88e94bea79314261a3fcb..f48c9fdfd8022eb32c73149945ab88822ef00f75 100644
+index 944535a4748921bfbf9bdcb2e3cc2aa8048e5278..875d238c1da429cc4ba007c7e90a2d1e07196169 100644
--- a/src/api/api.cc
+++ b/src/api/api.cc
@@ -8788,7 +8788,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
@@ -19,10 +19,10 @@ index 5880ca6e4806c8fefde88e94bea79314261a3fcb..f48c9fdfd8022eb32c73149945ab8882
isolate->default_microtask_queue()->PerformCheckpoint(this);
}
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
-index 3252e14c78e4803e109960de36498066af9fe8ca..c0a5acd2c6c7dbfae08c6910ae6519e3c8afd326 100644
+index 05dda00b56740b3ca0d5f5ced276cbbb6abe9f22..509e1f6a67f5b17df0e6e65e807c92a00abe00d5 100644
--- a/src/heap/heap.cc
+++ b/src/heap/heap.cc
-@@ -5865,9 +5865,9 @@ void Heap::DeinitSharedSpaces() {
+@@ -5874,9 +5874,9 @@ void Heap::DeinitSharedSpaces() {
void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
GCType gc_type, void* data) {
DCHECK_NOT_NULL(callback);
diff --git a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch
index 3fc2b74e474e..5a31548e51ac 100644
--- a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch
+++ b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch
@@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
contain any standard C++ library exports (e.g. `std::ostringstream`).
diff --git a/BUILD.gn b/BUILD.gn
-index 5656954cb57f0e49d55bace7e9b2129398b22394..3a0f6a5f083a5691ad5e28cfa8e38748e133eeff 100644
+index 321212be9127b1f892a30a51c6a0c3fe3d7ca394..ab5c79ec47ca24fb87fa76cb1c020a6177ce7dca 100644
--- a/BUILD.gn
+++ b/BUILD.gn
-@@ -544,6 +544,10 @@ config("internal_config") {
+@@ -545,6 +545,10 @@ config("internal_config") {
":cppgc_header_features",
]
diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch
index f9f6cf4aae77..0033553ebfea 100644
--- a/patches/v8/expose_mksnapshot.patch
+++ b/patches/v8/expose_mksnapshot.patch
@@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
Needed in order to target mksnapshot for mksnapshot zip.
diff --git a/BUILD.gn b/BUILD.gn
-index 2025fee23f0a11eaa0573c19b762280f8dcbae6a..5656954cb57f0e49d55bace7e9b2129398b22394 100644
+index 4d76cf090c3f3c9add0f1104833642963d4ddbc2..321212be9127b1f892a30a51c6a0c3fe3d7ca394 100644
--- a/BUILD.gn
+++ b/BUILD.gn
-@@ -5298,7 +5298,6 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -5304,7 +5304,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") {
diff --git a/script/nan-spec-runner.js b/script/nan-spec-runner.js
index 5bd0faa6da5e..32db5fda7d38 100644
--- a/script/nan-spec-runner.js
+++ b/script/nan-spec-runner.js
@@ -38,7 +38,7 @@ async function main () {
const cxxflags = [
'-std=c++14',
'-nostdinc++',
- `-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++')}"`,
+ '-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS', // needed by next line
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++', 'trunk', 'include')}"`,
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++abi', 'trunk', 'include')}"`,
'-fPIC'
diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc
index ca6451785367..6e2d19835da9 100644
--- a/shell/browser/api/electron_api_web_contents.cc
+++ b/shell/browser/api/electron_api_web_contents.cc
@@ -813,14 +813,14 @@ void WebContents::InitWithSessionAndOptions(
#if defined(OS_LINUX) || defined(OS_WIN)
// Update font settings.
- static const base::NoDestructor params(
+ static const gfx::FontRenderParams params(
gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), nullptr));
- prefs->should_antialias_text = params->antialiasing;
- prefs->use_subpixel_positioning = params->subpixel_positioning;
- prefs->hinting = params->hinting;
- prefs->use_autohinter = params->autohinter;
- prefs->use_bitmaps = params->use_bitmaps;
- prefs->subpixel_rendering = params->subpixel_rendering;
+ prefs->should_antialias_text = params.antialiasing;
+ prefs->use_subpixel_positioning = params.subpixel_positioning;
+ prefs->hinting = params.hinting;
+ prefs->use_autohinter = params.autohinter;
+ prefs->use_bitmaps = params.use_bitmaps;
+ prefs->subpixel_rendering = params.subpixel_rendering;
#endif
// Honor the system's cursor blink rate settings
diff --git a/shell/browser/extensions/electron_extensions_browser_client.cc b/shell/browser/extensions/electron_extensions_browser_client.cc
index a6678e3bf39b..ba0584fffd20 100644
--- a/shell/browser/extensions/electron_extensions_browser_client.cc
+++ b/shell/browser/extensions/electron_extensions_browser_client.cc
@@ -311,7 +311,7 @@ void ElectronExtensionsBrowserClient::BroadcastEventToRenderers(
}
auto event = std::make_unique(histogram_value, event_name,
- args->TakeList());
+ std::move(*args).TakeList());
auto& context_map = ElectronBrowserContext::browser_context_map();
for (auto const& entry : context_map) {
if (entry.second) {
diff --git a/shell/browser/ui/views/frameless_view.cc b/shell/browser/ui/views/frameless_view.cc
index 734896a66ee5..e457a1969e8f 100644
--- a/shell/browser/ui/views/frameless_view.cc
+++ b/shell/browser/ui/views/frameless_view.cc
@@ -50,7 +50,7 @@ int FramelessView::ResizingBorderHitTest(const gfx::Point& point) {
int resize_border = frame_->IsMaximized() || frame_->IsFullscreen()
? 0
: kResizeInsideBoundsSize;
- return GetHTComponentForFrame(point, resize_border, resize_border,
+ return GetHTComponentForFrame(point, gfx::Insets(resize_border),
kResizeAreaCornerSize, kResizeAreaCornerSize,
can_ever_resize);
}
diff --git a/shell/common/api/electron_api_clipboard.cc b/shell/common/api/electron_api_clipboard.cc
index 83ad6108c55c..3021afde13f3 100644
--- a/shell/common/api/electron_api_clipboard.cc
+++ b/shell/common/api/electron_api_clipboard.cc
@@ -40,6 +40,8 @@ bool Clipboard::Has(const std::string& format_string,
ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
ui::ClipboardFormatType format(
ui::ClipboardFormatType::GetType(format_string));
+ if (format.GetName().empty())
+ format = ui::ClipboardFormatType::GetCustomPlatformType(format_string);
return clipboard->IsFormatAvailable(format, GetClipboardBuffer(args),
/* data_dst = */ nullptr);
}
@@ -47,7 +49,7 @@ bool Clipboard::Has(const std::string& format_string,
std::string Clipboard::Read(const std::string& format_string) {
ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
ui::ClipboardFormatType format(
- ui::ClipboardFormatType::GetType(format_string));
+ ui::ClipboardFormatType::GetCustomPlatformType(format_string));
std::string data;
clipboard->ReadData(format, /* data_dst = */ nullptr, &data);
diff --git a/shell/renderer/api/context_bridge/object_cache.h b/shell/renderer/api/context_bridge/object_cache.h
index e40cd89d5b2a..0bf6a623d1e0 100644
--- a/shell/renderer/api/context_bridge/object_cache.h
+++ b/shell/renderer/api/context_bridge/object_cache.h
@@ -5,6 +5,7 @@
#ifndef SHELL_RENDERER_API_CONTEXT_BRIDGE_OBJECT_CACHE_H_
#define SHELL_RENDERER_API_CONTEXT_BRIDGE_OBJECT_CACHE_H_
+#include
#include
#include
diff --git a/spec/api-clipboard-spec.js b/spec/api-clipboard-spec.js
index 243e38fa2916..d52e7c0aaf1f 100644
--- a/spec/api-clipboard-spec.js
+++ b/spec/api-clipboard-spec.js
@@ -1,19 +1,14 @@
const { expect } = require('chai');
const path = require('path');
const { Buffer } = require('buffer');
+const { ifdescribe } = require('./spec-helpers');
const { clipboard, nativeImage } = require('electron');
-describe('clipboard module', () => {
+// FIXME(zcbenz): Clipboard tests are failing on WOA.
+ifdescribe(process.platform !== 'win32' || process.arch !== 'arm64')('clipboard module', () => {
const fixtures = path.resolve(__dirname, 'fixtures');
- // FIXME(zcbenz): Clipboard tests are failing on WOA.
- beforeEach(function () {
- if (process.platform === 'win32' && process.arch === 'arm64') {
- this.skip();
- }
- });
-
describe('clipboard.readImage()', () => {
it('returns NativeImage instance', () => {
const p = path.join(fixtures, 'assets', 'logo.png');
@@ -115,13 +110,13 @@ describe('clipboard module', () => {
describe('clipboard.readBuffer(format)', () => {
it('writes a Buffer for the specified format', function () {
const buffer = Buffer.from('writeBuffer', 'utf8');
- clipboard.writeBuffer('public.utf8-plain-text', buffer);
- expect(buffer.equals(clipboard.readBuffer('public.utf8-plain-text'))).to.equal(true);
+ clipboard.writeBuffer('public/utf8-plain-text', buffer);
+ expect(buffer.equals(clipboard.readBuffer('public/utf8-plain-text'))).to.equal(true);
});
it('throws an error when a non-Buffer is specified', () => {
expect(() => {
- clipboard.writeBuffer('public.utf8-plain-text', 'hello');
+ clipboard.writeBuffer('public/utf8-plain-text', 'hello');
}).to.throw(/buffer must be a node Buffer/);
});
});