chore: bump chromium to 111.0.5544.3 (main) (#36820)

* chore: bump chromium in DEPS to 111.0.5522.0

* chore: bump chromium in DEPS to 111.0.5524.0

* chore: bump chromium in DEPS to 111.0.5526.0

* chore: bump chromium in DEPS to 111.0.5528.0

* chore: update patches/chromium/mas_avoid_usage_of_private_macos_apis.patch

Xref: 4132807

Fix simple code shear

* chore: update patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch

Xref: 4130675

Fix simple code shear

* chore: update patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch

Xref: 4144281

Fix simple code shear; applied cleanly w/patch-fuzz

* chore: update patches/chromium/disable_unload_metrics.patch

Xref: 4126173

Fix simple code shear; applied cleanly w/patch-fuzz

* chore: update patches/chromium/feat_add_data_parameter_to_processsingleton.patch

Xref: 4144281

Fix simple code shear; applied cleanly w/patch-fuzz

* chore: update patches/chromium/preconnect_manager.patch

4144281

Fix simple code shear; applied cleanly w/patch-fuzz

* chore: update patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch

3533019

Fix simple code shear; applied cleanly w/patch-fuzz

* chore: update patches

* chore: update patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch

Xref: 4128765

Upstream added a new call to HeaderContext(), whose signature we have patched

* chore: bump chromium in DEPS to 111.0.5530.0

* chore: update patches

* Move ChildProcessHost* from content/common to content/browser

Xref: Move ChildProcessHost* from content/common to content/browser

* Remove RenderViewHostChanged

Xref: 4134103
[upstream removal of RenderViewHostChanged]

Xref: 4092763
Xref: 4093234
Xref: 4133892
Xref: 4134103
[examples of upstream code adjusting to the change]

Upstream handles this change in roughly two approaches:

1. Move the code over to RenderFrameHostChanged(old_host, new_host)
   but test for new_host->IsInPrimaryMainFrame() before acting

2. Migrate to the PrimaryPageChanged(page) API and use
   page.GetMainDocument() to get the RenderFrameHost.

I've chosen 1. because electron_api_web_contents needed that pointer
to old_host to call RemoveInputEventListener(), but I may be missing
some context & would appreciate review on this commit.

* Make electron/shell/browser/relauncher_win.cc use <winternl.h>

Xref: 4129135

Many internal Windows types are now available in winternl.h
so upstrem no longer defines the types themselves.

* Move ChildProcessHost* from content/common to content/browser

Xref: 4134795

* fixup! Make electron/shell/browser/relauncher_win.cc use <winternl.h>

winternl.h does not define the field we need, so clone the struct Chromium was using into unnamed namespace

* fixup! Move ChildProcessHost* from content/common to content/browser

chore: update #includes too

* chore: bump chromium in DEPS to 111.0.5532.0

* chore: sync patches/chromium/pepper_plugin_support.patch

Xref: 4133323

manually reync patch; no code changes

* chore: sync patches/chromium/mas_no_private_api.patch

Xref: 4143865

the content/common/pseudonymization_salt.cc patch is no longer needed

* chore: sync patches/chromium/mas_disable_remote_accessibility.patch

patch-fuzz update; no manual changes

* chore: sync patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch

Xref: 4111725

manually reync patch; no code changes

* chore: sync patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch

Xref: 4133323

manually reync patch; no code changes

* chore: sync patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch

Xref: 4127230

patch-fuzz update; no manual changes

* chore: rebuild patches

* fixup! Remove RenderViewHostChanged

Use PrimaryPageChanged()

* chore: remove unused method TabsUpdateFunction::OnExecuteCodeFinished()

Xref: 4133991

This private, already-unused function showed up as a FTBFS because it
took a base::ListValue parameter and ListValue was removed upstream.

* task posting v3: remove includes of runner handles and IWYU task runners

Xref: 4133323

* chore: lint

* chore: more lint

* fixup! task posting v3: remove includes of runner handles and IWYU task runners

macOS, too

* fixup! task posting v3: remove includes of runner handles and IWYU task runners

* chore: bump chromium in DEPS to 111.0.5534.0

* chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch

Xref: 4141862

patch-fuzz update; no manual changes

* chore: sync patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch

Xref: 4153110

Sync to minor upstream changes. Add const correctness.

* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch

4141862

patch-fuzz update; no manual changes

* chore: patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch

sync 4147787

patch-fuzz update; no manual changes

* chore: update patches

* chore: bump chromium in DEPS to 111.0.5536.0

* chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch

Xref: 4141863

Sync with upstream code changes. Minor code golf for readability.

Note: upstream is laying groundwork for being able to work off of env vars
instead of switches. Doesn't affect us yet but worth being aware of.

> + // Environment variables could be supported in the future, but are not
> + // currently supported when launching with the zygote.

* chore: update patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch

Xref: 4126836

patch-fuzz update; no manual changes

* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch

Xref: 4141863

manual sync

* chore: sync electron/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch

4147788

fuzz-patch

* chore: rebuild patches

* chore: bump chromium in DEPS to 111.0.5538.0

* chore: bump chromium in DEPS to 111.0.5540.0

* chore: update patches

* Remove sdk_forward_declarations

4166680

* task posting v3: Remove task runner handles from codebase entirely

Refs 4150928

* Cleanup child_process_launcher_helper*

Refs 4141863

* fix: utilityprocess spec on macOS

* fix: build on windows

Refs 4141863

* chore: fix lint

* chore: bump chromium 111.0.5544.3

* chore: gen filenames.libcxx.gni

* Add check for Executable+Writable handles in renderer processes.

Refs 3774416

* fixup! Add check for Executable+Writable handles in renderer processes.

* 4143761: [110] Disable SwiftShader for WebGL on M1 Macs.

4143761
(cherry picked from commit 2f74db3c2139424c416f92d9169aeaa8a2f9c1ec)

* chore: bump chromium to 111.0.5555.0

* 56085: Remove hmac.h include from ssl.h.

https://boringssl-review.googlesource.com/c/boringssl/+/56085

* 4167020: Remove forwarding headers

4167020

* chore: bump chromium to 111.0.5559.0

* 4181044: Restrict WebCursor usage to RenderWidgetHostViewAura

4181044

* 4189437: views: rename ink_drop_host_view to ink_drop_host

4189437

* chore: bump chromium to 111.0.5560.0

* 4167016: win7dep: remove non aeroglass code

4167016

* fixup after rebase: Remove forwarding header

s 4167020

* 4125755: Reland "Reject getDisplayMedia calls without user activation"

4125755

* test: add workaround

* chore: update patches

* fix: alter coreModuleRegExp to prevent arm crash

* Revert "fix: alter coreModuleRegExp to prevent arm crash"

This reverts commit 7e50630c98137831a711c5abdbc8809e60cf1d73.

* 4218354: Disable the use of preserve_most on arm64 Windows

4218354

* chore: review changes

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
electron-roller[bot] 2023-02-03 12:43:42 +01:00 committed by GitHub
parent 446c7809cc
commit d02c9f8bc6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
244 changed files with 1051 additions and 927 deletions

View file

@ -10,3 +10,4 @@ revert_runtime_dhceck_terminating_exception_in_microtasks.patch
chore_disable_is_execution_terminating_dcheck.patch
force_cppheapcreateparams_to_be_noncopyable.patch
chore_allow_customizing_microtask_policy_per_context.patch
disable_the_use_of_preserve_most_on_arm64_windows.patch

View file

@ -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 9beefd69669aec5a1ce261101e3cdee782682d22..08177df285fbe928690a4906af4b129f9d473875 100644
index e1f23f17969f90df9becdcf7c0015b27cd973b4a..e689a0b35a0011ba14a94c3ab749043cddf93fb9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -667,7 +667,7 @@ config("internal_config") {
@@ -674,7 +674,7 @@ config("internal_config") {
":cppgc_header_features",
]
@ -21,7 +21,7 @@ index 9beefd69669aec5a1ce261101e3cdee782682d22..08177df285fbe928690a4906af4b129f
defines += [ "BUILDING_V8_SHARED" ]
}
@@ -6242,7 +6242,7 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -6320,7 +6320,7 @@ if (current_toolchain == v8_generator_toolchain) {
"src/interpreter/bytecodes.h",
]

View file

@ -6,10 +6,10 @@ Subject: dcheck.patch
https://github.com/auchenberg/volkswagen
diff --git a/src/api/api.cc b/src/api/api.cc
index de12398f3918bd00e6001ac0ef120011cce5937d..e5243ab4068481d542b3796901f4c5bf621df046 100644
index 81c7d1e3f9b29a82224a21abf6b2574e3547c564..9199619c4752e95eb42e11704531de8872f5c0e4 100644
--- a/src/api/api.cc
+++ b/src/api/api.cc
@@ -9496,7 +9496,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
@@ -9522,7 +9522,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
}
void Isolate::PerformMicrotaskCheckpoint() {

View file

@ -0,0 +1,44 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Clemens Backes <clemensb@chromium.org>
Date: Thu, 2 Feb 2023 14:38:14 +0100
Subject: Disable the use of preserve_most on arm64 Windows
We see crashes on arm64 on Windows. Disable the use of preserve_most
there, until we figure out (and fix) the root cause.
R=mlippautz@chromium.org
Bug: chromium:1409934
Change-Id: Ic913039d36d158fb5ad368915d95c250d8724a07
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4218354
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85634}
(cherry picked from commit e33c3a09b31af5b69286f904a378fcbfb36a726d)
diff --git a/include/v8config.h b/include/v8config.h
index fd762d87f5ebd32ccb23ff0c6383a37a5093ac78..6cffeaa5ad21826123c8dda487fc6c65b7d03ed2 100644
--- a/include/v8config.h
+++ b/include/v8config.h
@@ -346,12 +346,15 @@ path. Add it with -I<path> to the command line
# define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
# define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
# define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
-// Support for the "preserve_most" attribute is incomplete on 32-bit, and we see
-// failures in component builds. Thus only use it in 64-bit non-component builds
-// for now.
-#if (defined(_M_X64) || defined(__x86_64__) || defined(__AARCH64EL__) || \
- defined(_M_ARM64)) /* x64 or arm64 */ \
- && !defined(COMPONENT_BUILD)
+// Support for the "preserve_most" attribute is limited:
+// - 32-bit platforms do not implement it,
+// - component builds fail because _dl_runtime_resolve clobbers registers,
+// - we see crashes on arm64 on Windows (https://crbug.com/1409934), which can
+// hopefully be fixed in the future.
+#if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \
+ || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \
+ && !defined(_WIN32))) /* not on windows */ \
+ && !defined(COMPONENT_BUILD) /* no component build */
# define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most))
#endif
# define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))

View file

@ -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 a81d64a635b1a0d5ef64d9ce490705fada10fdad..8a264b9c5ee80840bc2dee3ea3e28ef628cfc6c0 100644
index de5bb0c5e7c9cd85211eeb073b828b793c8f49b3..9a3f28419a52b3c8433ca024d94b7a9445efdedb 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -667,6 +667,10 @@ config("internal_config") {
@@ -674,6 +674,10 @@ config("internal_config") {
":cppgc_header_features",
]

View file

@ -6,10 +6,10 @@ Subject: Export symbols needed for Windows build
These symbols are required to build v8 with BUILD_V8_SHARED on Windows.
diff --git a/src/objects/objects.h b/src/objects/objects.h
index 3e99ae6fec8ced55ca416afac595ffb72f2af2fb..4335c33c65574f1259827fd666ad1fdc8eb1e252 100644
index 85e1c6012a04414123cf9e4c30af20bd87764921..0ffa0002bd853a771f113a13936ec6d22baac6d8 100644
--- a/src/objects/objects.h
+++ b/src/objects/objects.h
@@ -972,7 +972,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER };
@@ -973,7 +973,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER };
// Utility superclass for stack-allocated objects that must be updated
// on gc. It provides two ways for the gc to update instances, either
// iterating or updating after gc.

View file

@ -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 08177df285fbe928690a4906af4b129f9d473875..a81d64a635b1a0d5ef64d9ce490705fada10fdad 100644
index e689a0b35a0011ba14a94c3ab749043cddf93fb9..de5bb0c5e7c9cd85211eeb073b828b793c8f49b3 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -6254,7 +6254,6 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -6332,7 +6332,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") {

View file

@ -6,11 +6,11 @@ Subject: fix: usage of c++ [[deprecated]] attribute for older msvc versions
This attribute can only be used in all contexts in Visual Studio 2019
diff --git a/include/v8config.h b/include/v8config.h
index c79cd04e0f16bcc2bb6e351f54d4d21139645ce8..900bf18ecec88d6482b0291019bdc01f6934a000 100644
index a967d92c39c1518831f60eeb443409e5284bba6c..fd762d87f5ebd32ccb23ff0c6383a37a5093ac78 100644
--- a/include/v8config.h
+++ b/include/v8config.h
@@ -503,10 +503,13 @@ path. Add it with -I<path> to the command line
# define V8_NOINLINE /* NOT SUPPORTED */
@@ -526,10 +526,13 @@ path. Add it with -I<path> to the command line
# define V8_PRESERVE_MOST /* NOT SUPPORTED */
#endif
-
@ -25,7 +25,7 @@ index c79cd04e0f16bcc2bb6e351f54d4d21139645ce8..900bf18ecec88d6482b0291019bdc01f
#else
# define V8_DEPRECATED(message)
#endif
@@ -514,7 +517,11 @@ path. Add it with -I<path> to the command line
@@ -537,7 +540,11 @@ path. Add it with -I<path> to the command line
// A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
#if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
@ -38,7 +38,7 @@ index c79cd04e0f16bcc2bb6e351f54d4d21139645ce8..900bf18ecec88d6482b0291019bdc01f
#else
# define V8_DEPRECATE_SOON(message)
#endif
@@ -548,7 +555,7 @@ path. Add it with -I<path> to the command line
@@ -571,7 +578,7 @@ path. Add it with -I<path> to the command line
END_ALLOW_USE_DEPRECATED()

View file

@ -14,7 +14,7 @@ If Electron compiles on Windows without this patch then it's no longer
needed.
diff --git a/include/v8-cppgc.h b/include/v8-cppgc.h
index 139af8fdac26c3f829886aedc18af1592a4de7ef..b361aa912c74233d2fb6feb0b00e45c1c1697496 100644
index 4a457027c9f76b5d75f8f693ebe31fd616134849..16548d3053563d2a5891fb8967a2b63a1f920f95 100644
--- a/include/v8-cppgc.h
+++ b/include/v8-cppgc.h
@@ -76,6 +76,12 @@ struct WrapperDescriptor final {
@ -28,9 +28,9 @@ index 139af8fdac26c3f829886aedc18af1592a4de7ef..b361aa912c74233d2fb6feb0b00e45c1
+};
+
struct V8_EXPORT CppHeapCreateParams {
std::vector<std::unique_ptr<cppgc::CustomSpaceBase>> custom_spaces;
WrapperDescriptor wrapper_descriptor;
@@ -91,6 +97,7 @@ struct V8_EXPORT CppHeapCreateParams {
CppHeapCreateParams(
std::vector<std::unique_ptr<cppgc::CustomSpaceBase>> custom_spaces,
@@ -100,6 +106,7 @@ struct V8_EXPORT CppHeapCreateParams {
*/
cppgc::Heap::SweepingType sweeping_support =
cppgc::Heap::SweepingType::kIncrementalAndConcurrent;

View file

@ -18,10 +18,10 @@ index f58636fee555d782e18b7521c0c4f28ed60b3a52..6b0c63b34ff09f70cb9a4fe419f3b9bb
StoreRoot(RootIndex::kCurrentMicrotask, microtask);
TNode<IntPtrT> saved_entered_context_count = GetEnteredContextCount();
diff --git a/src/codegen/code-stub-assembler.cc b/src/codegen/code-stub-assembler.cc
index 4a505cdcb882855f7467cf8f9e6e651d461b8125..dd51b8974fcd1359aab5521e3066efc9a27176d6 100644
index 7d47afa2c92c1da43657702d5a85251646d680fd..10c3ec8387522ce2e35b77a7e6eb04de22597349 100644
--- a/src/codegen/code-stub-assembler.cc
+++ b/src/codegen/code-stub-assembler.cc
@@ -6409,12 +6409,6 @@ void CodeStubAssembler::SetPendingMessage(TNode<HeapObject> message) {
@@ -6417,12 +6417,6 @@ void CodeStubAssembler::SetPendingMessage(TNode<HeapObject> message) {
StoreFullTaggedNoWriteBarrier(pending_message, message);
}
@ -35,10 +35,10 @@ index 4a505cdcb882855f7467cf8f9e6e651d461b8125..dd51b8974fcd1359aab5521e3066efc9
int type) {
return Word32Equal(instance_type, Int32Constant(type));
diff --git a/src/codegen/code-stub-assembler.h b/src/codegen/code-stub-assembler.h
index 78689c08358d0fa5b5c058a131e6047794a86608..2ac85004fb568f48bedec5afae1ca1ab38a27727 100644
index fdd6da601705f72bd5d1a9101171048bdf408b9d..496c73225f8641e78793ba74d80e2e8b1e3f5c02 100644
--- a/src/codegen/code-stub-assembler.h
+++ b/src/codegen/code-stub-assembler.h
@@ -2582,7 +2582,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
@@ -2550,7 +2550,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler
TNode<HeapObject> GetPendingMessage();
void SetPendingMessage(TNode<HeapObject> message);

View file

@ -12,10 +12,10 @@ By moving some functions out of the the arm64-assembler header file,
this error no longer seems to happen.
diff --git a/src/codegen/arm64/assembler-arm64.cc b/src/codegen/arm64/assembler-arm64.cc
index e3ca3f9535c23a0182e84abac97b67f699151509..e7c24033ab388f31c753ac891468233823650ded 100644
index 1110345f6b1aa8dff61512d211191e3389acb51b..f85fb8b4cc34eec9444743851d8714b10f277f3d 100644
--- a/src/codegen/arm64/assembler-arm64.cc
+++ b/src/codegen/arm64/assembler-arm64.cc
@@ -3616,6 +3616,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift,
@@ -3620,6 +3620,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift,
ImmMoveWide(static_cast<int>(imm)) | ShiftMoveWide(shift));
}
@ -39,10 +39,10 @@ index e3ca3f9535c23a0182e84abac97b67f699151509..e7c24033ab388f31c753ac8914682338
const Operand& operand, FlagsUpdate S, AddSubOp op) {
DCHECK_EQ(rd.SizeInBits(), rn.SizeInBits());
diff --git a/src/codegen/arm64/assembler-arm64.h b/src/codegen/arm64/assembler-arm64.h
index 1377e68ec9dda7e94bce532aee6feebda5e72e14..8b8ff183495fce2d9eeafed215031fb828521b7f 100644
index ea079a9d6af6dca46f66004d4399f49e6e8fe6d5..4b9d3a8533910bbdbd8c7b073739dbb5699ab6e8 100644
--- a/src/codegen/arm64/assembler-arm64.h
+++ b/src/codegen/arm64/assembler-arm64.h
@@ -2115,11 +2115,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
@@ -2116,11 +2116,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
return rm.code() << Rm_offset;
}
@ -55,7 +55,7 @@ index 1377e68ec9dda7e94bce532aee6feebda5e72e14..8b8ff183495fce2d9eeafed215031fb8
static Instr Ra(CPURegister ra) {
DCHECK_NE(ra.code(), kSPRegInternalCode);
@@ -2143,15 +2139,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
@@ -2144,15 +2140,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
// These encoding functions allow the stack pointer to be encoded, and
// disallow the zero register.