summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoah Vogt2023-03-11 07:28:23 +0100
committerNoah Vogt2023-03-11 07:28:23 +0100
commitb3db8e3f4a949099c54a3890d1bdad8fdf3fcc9e (patch)
treeb2457647e76208bc27164c7ca152cd4b92358568
parent9bc1a89a2361f9c4aa797b401d6fc6ff85688503 (diff)
downloadaur-b3db8e3f4a949099c54a3890d1bdad8fdf3fcc9e.tar.gz
uppkg -> 111.0.5563.64-1
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD31
-rw-r--r--fix-the-way-to-handle-codecs-in-the-system-icu.patch60
-rw-r--r--sql-relax-constraints-on-VirtualCursor-layout.patch48
-rw-r--r--v8-move-the-Stack-object-from-ThreadLocalTop.patch205
-rw-r--r--xdg-basedir.patch36
6 files changed, 77 insertions, 325 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 30a05c96d07f..b310a6d37cb9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = ungoogled-chromium-xdg
pkgdesc = A lightweight approach to removing Google web service dependency - without creating a useless ~/.pki directory
- pkgver = 110.0.5481.177
+ pkgver = 111.0.5563.64
pkgrel = 1
url = https://github.com/ungoogled-software/ungoogled-chromium
arch = x86_64
@@ -60,11 +60,10 @@ pkgbase = ungoogled-chromium-xdg
provides = chromium
conflicts = chromium
options = !lto
- source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-110.0.5481.177.tar.xz
+ source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-111.0.5563.64.tar.xz
source = https://github.com/foutrelis/chromium-launcher/archive/v8/chromium-launcher-8.tar.gz
- source = https://github.com/stha09/chromium-patches/releases/download/chromium-110-patchset-2/chromium-110-patchset-2.tar.xz
- source = fix-the-way-to-handle-codecs-in-the-system-icu.patch
- source = v8-move-the-Stack-object-from-ThreadLocalTop.patch
+ source = https://github.com/stha09/chromium-patches/releases/download/chromium-111-patchset-2/chromium-111-patchset-2.tar.xz
+ source = sql-relax-constraints-on-VirtualCursor-layout.patch
source = REVERT-roll-src-third_party-ffmpeg-m102.patch
source = REVERT-roll-src-third_party-ffmpeg-m106.patch
source = disable-GlobalMediaControlsCastStartStop.patch
@@ -73,24 +72,23 @@ pkgbase = ungoogled-chromium-xdg
source = xdg-basedir.patch
source = no-omnibox-suggestion-autocomplete.patch
source = index.html
- source = ungoogled-chromium-110.0.5481.177-1.tar.gz::https://github.com/ungoogled-software/ungoogled-chromium/archive/110.0.5481.177-1.tar.gz
+ source = ungoogled-chromium-111.0.5563.64-1.tar.gz::https://github.com/ungoogled-software/ungoogled-chromium/archive/111.0.5563.64-1.tar.gz
source = ozone-add-va-api-support-to-wayland.patch
source = vaapi-add-av1-support.patch
source = remove-main-main10-profile-limit.patch
- sha256sums = 7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7
+ sha256sums = 7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074
sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a
- sha256sums = 8c7f93037cc236024cc8be815b2c2bd84f6dc9e32685299e31d4c6c42efde8b7
- sha256sums = a5d5c532b0b059895bc13aaaa600d21770eab2afa726421b78cb597a78a3c7e3
- sha256sums = 49c3e599366909ddac6a50fa6f9420e01a7c0ffd029a20567a41d741a15ec9f7
+ sha256sums = a016588340f1559198e4ce61c6e91c48cf863600f415cb5c46322de7e1f77909
+ sha256sums = e66be069d932fe18811e789c57b96249b7250257ff91a3d82d15e2a7283891b7
sha256sums = 30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44
sha256sums = 4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152
sha256sums = 7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302
sha256sums = cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572
sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711
- sha256sums = cd844867b5b2197ad097662fee32579a7091dfba1d46cb438c4c7e696690440a
+ sha256sums = f97e6cd3c4d2e04f5d9a0ea234fe768d6ba0fa9f4ecd5c7b2ca91030a1249078
sha256sums = ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8
sha256sums = a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665
- sha256sums = 602c2bd0f93e5618f3a32a71a11d48a0c8aa881ac3e4dc0ba7d64fd97896c4a7
+ sha256sums = 2ad44997d95ae66b36125bf62bf1308006ec62da26ba04f8b5480d7271675079
sha256sums = e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69
sha256sums = e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307
sha256sums = fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c
diff --git a/PKGBUILD b/PKGBUILD
index 994cfa8c8194..20d09dc232db 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,7 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=ungoogled-chromium-xdg
-pkgver=110.0.5481.177
+pkgver=111.0.5563.64
pkgrel=1
_launcher_ver=8
_gcc_patchset=2
@@ -33,8 +33,7 @@ options=('!lto') # Chromium adds its own flags for ThinLTO
source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
- fix-the-way-to-handle-codecs-in-the-system-icu.patch
- v8-move-the-Stack-object-from-ThreadLocalTop.patch
+ sql-relax-constraints-on-VirtualCursor-layout.patch
REVERT-roll-src-third_party-ffmpeg-m102.patch
REVERT-roll-src-third_party-ffmpeg-m106.patch
disable-GlobalMediaControlsCastStartStop.patch
@@ -43,17 +42,16 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom
xdg-basedir.patch
no-omnibox-suggestion-autocomplete.patch
index.html)
-sha256sums=('7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7'
+sha256sums=('7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074'
'213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
- '8c7f93037cc236024cc8be815b2c2bd84f6dc9e32685299e31d4c6c42efde8b7'
- 'a5d5c532b0b059895bc13aaaa600d21770eab2afa726421b78cb597a78a3c7e3'
- '49c3e599366909ddac6a50fa6f9420e01a7c0ffd029a20567a41d741a15ec9f7'
+ 'a016588340f1559198e4ce61c6e91c48cf863600f415cb5c46322de7e1f77909'
+ 'e66be069d932fe18811e789c57b96249b7250257ff91a3d82d15e2a7283891b7'
'30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44'
'4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152'
'7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302'
'cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572'
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
- 'cd844867b5b2197ad097662fee32579a7091dfba1d46cb438c4c7e696690440a'
+ 'f97e6cd3c4d2e04f5d9a0ea234fe768d6ba0fa9f4ecd5c7b2ca91030a1249078'
'ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8'
'a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665')
@@ -72,7 +70,7 @@ source=(${source[@]}
vaapi-add-av1-support.patch
remove-main-main10-profile-limit.patch)
sha256sums=(${sha256sums[@]}
- '602c2bd0f93e5618f3a32a71a11d48a0c8aa881ac3e4dc0ba7d64fd97896c4a7'
+ '2ad44997d95ae66b36125bf62bf1308006ec62da26ba04f8b5480d7271675079'
'e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69'
'e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307'
'fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c')
@@ -139,13 +137,8 @@ prepare() {
# runtime -- this allows signing into Chromium without baked-in values
patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
- # Upstream fixes
- patch -Np1 -i ../fix-the-way-to-handle-codecs-in-the-system-icu.patch
-
- # https://crbug.com/v8/13630
- # https://crrev.com/c/4200636
- # https://github.com/nodejs/node/pull/46125#issuecomment-1407721276
- patch -Np1 -d v8 <../v8-move-the-Stack-object-from-ThreadLocalTop.patch
+ # Upstream fixes
+ patch -Np1 -i ../sql-relax-constraints-on-VirtualCursor-layout.patch
# Revert ffmpeg roll requiring new channel layout API support
# https://crbug.com/1325301
@@ -158,10 +151,6 @@ prepare() {
patch -Np1 -i ../disable-GlobalMediaControlsCastStartStop.patch
# Fixes for building with libstdc++ instead of libc++
- patch -Np1 -i ../patches/chromium-103-VirtualCursor-std-layout.patch
- patch -Np1 -i ../patches/chromium-110-NativeThemeBase-fabs.patch
- patch -Np1 -i ../patches/chromium-110-CredentialUIEntry-const.patch
- patch -Np1 -i ../patches/chromium-110-DarkModeLABColorSpace-pow.patch
# Custom Patches
patch -Np1 -i ../ozone-add-va-api-support-to-wayland.patch
@@ -226,7 +215,7 @@ build() {
'clang_use_chrome_plugins=false'
'is_official_build=true' # implies is_cfi=true on x86_64
'symbol_level=0' # sufficient for backtraces on x86(_64)
- #'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile
+ 'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile
'treat_warnings_as_errors=false'
'disable_fieldtrial_testing_config=true'
'blink_enable_generated_code_formatting=false'
diff --git a/fix-the-way-to-handle-codecs-in-the-system-icu.patch b/fix-the-way-to-handle-codecs-in-the-system-icu.patch
deleted file mode 100644
index 63c4cee930ea..000000000000
--- a/fix-the-way-to-handle-codecs-in-the-system-icu.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 4885090741554be61cb2ed10194cefb29bf8be64 Mon Sep 17 00:00:00 2001
-From: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
-Date: Wed, 11 Jan 2023 23:51:39 +0000
-Subject: [PATCH] Fix the way to handle codecs in the system icu.
-
-The previous code does not register codecs whose standard name is
-different from the bundled ICU. As a result, looking up such codecs
-seems to fail unexpectedly.
-
-Bug: 1382032
-Change-Id: I8a61f77d0f70104415d24dd954b3b7061ffca556
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4154277
-Reviewed-by: Kent Tamura <tkent@chromium.org>
-Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
-Cr-Commit-Position: refs/heads/main@{#1091571}
----
- .../renderer/platform/wtf/text/text_codec_icu.cc | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-index a70b359984f..33ce43f3563 100644
---- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-+++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-@@ -116,6 +116,10 @@ void TextCodecICU::RegisterEncodingNames(EncodingNameRegistrar registrar) {
- continue;
- }
- #endif
-+ // Avoid codecs supported by `TextCodecCJK`.
-+ if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) {
-+ continue;
-+ }
-
- // A number of these aliases are handled in Chrome's copy of ICU, but
- // Chromium can be compiled with the system ICU.
-@@ -144,12 +148,13 @@ void TextCodecICU::RegisterEncodingNames(EncodingNameRegistrar registrar) {
- }
- #endif
-
-- if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) {
-- continue;
-+ // Avoid registering codecs registered by
-+ // `TextCodecCJK::RegisterEncodingNames`.
-+ if (!is_text_codec_cjk_enabled ||
-+ !TextCodecCJK::IsSupported(standard_name)) {
-+ registrar(standard_name, standard_name);
- }
-
-- registrar(standard_name, standard_name);
--
- uint16_t num_aliases = ucnv_countAliases(name, &error);
- DCHECK(U_SUCCESS(error));
- if (U_SUCCESS(error))
-@@ -289,6 +294,7 @@ void TextCodecICU::RegisterCodecs(TextCodecRegistrar registrar) {
- continue;
- }
- #endif
-+ // Avoid codecs supported by `TextCodecCJK`.
- if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) {
- continue;
- }
diff --git a/sql-relax-constraints-on-VirtualCursor-layout.patch b/sql-relax-constraints-on-VirtualCursor-layout.patch
new file mode 100644
index 000000000000..d1e65ee1561c
--- /dev/null
+++ b/sql-relax-constraints-on-VirtualCursor-layout.patch
@@ -0,0 +1,48 @@
+From 7d1394bd639e3bcf68082ac3fc33eeed6a00d2e6 Mon Sep 17 00:00:00 2001
+From: Elly Fong-Jones <ellyjones@chromium.org>
+Date: Thu, 2 Mar 2023 00:15:11 +0000
+Subject: [PATCH] sql: relax constraints on VirtualCursor layout
+
+VirtualCursor::FromSqliteCursor required that VirtualCursor had a
+standard layout, but in fact VirtualCursor shouldn't have a standard
+layout, and the fact that it does with libc++ is a deviation from the
+C++ standard. This change:
+
+1. Relaxes the requirement that VirtualCursor has a standard layout, and
+2. Relaxes the requirement that the sqlite_cursor_ field has to be at
+ offset 0
+
+by use of offsetof() and pointer subtraction. This change both improves
+standards compliance and makes this code build with libstdc++.
+
+Bug: 1380656
+Change-Id: I9c47abd9197b187da0360ca5619ccf7dadab4f33
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4292313
+Reviewed-by: Austin Sullivan <asully@chromium.org>
+Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1111925}
+---
+ sql/recover_module/cursor.h | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h
+index 1970bdca8c6..4cb06557009 100644
+--- a/sql/recover_module/cursor.h
++++ b/sql/recover_module/cursor.h
+@@ -63,12 +63,10 @@ class VirtualCursor {
+ // |sqlite_cursor| must have been returned by VirtualTable::SqliteCursor().
+ static inline VirtualCursor* FromSqliteCursor(
+ sqlite3_vtab_cursor* sqlite_cursor) {
+- static_assert(std::is_standard_layout<VirtualCursor>::value,
+- "needed for the reinterpret_cast below");
+- static_assert(offsetof(VirtualCursor, sqlite_cursor_) == 0,
+- "sqlite_cursor_ must be the first member of the class");
+- VirtualCursor* result = reinterpret_cast<VirtualCursor*>(sqlite_cursor);
+- DCHECK_EQ(sqlite_cursor, &result->sqlite_cursor_);
++ VirtualCursor* result = reinterpret_cast<VirtualCursor*>(
++ (reinterpret_cast<char*>(sqlite_cursor) -
++ offsetof(VirtualCursor, sqlite_cursor_)));
++ CHECK_EQ(sqlite_cursor, &result->sqlite_cursor_);
+ return result;
+ }
+
diff --git a/v8-move-the-Stack-object-from-ThreadLocalTop.patch b/v8-move-the-Stack-object-from-ThreadLocalTop.patch
deleted file mode 100644
index a06044834249..000000000000
--- a/v8-move-the-Stack-object-from-ThreadLocalTop.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-From 7b6fbcd0a6700db498ad55db046ecda92c8ee8c1 Mon Sep 17 00:00:00 2001
-From: Nikolaos Papaspyrou <nikolaos@chromium.org>
-Date: Sun, 29 Jan 2023 17:18:08 +0100
-Subject: [PATCH] Merge: [heap] Move the Stack object from ThreadLocalTop to
- Isolate
-
-This is just for nodejs, do not backmerge to 11.0.
-(cherry picked from commit 1e4b71d99fea5ea6bb4bf6420585a7819872bb0f)
-
-> Change-Id: I026a35af3bc6999a09b21f277756d4454c086343
-> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4152476
-> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
-> Reviewed-by: Omer Katz <omerkatz@chromium.org>
-> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
-> Cr-Commit-Position: refs/heads/main@{#85445}
-
-Stack information is thread-specific and, until now, it was stored in a
-field in ThreadLocalTop. This CL moves stack information to the isolate
-and makes sure to update the stack start whenever a main thread enters
-the isolate. At the same time, the Stack object is refactored and
-simplified.
-
-As a side effect, after removing the Stack object, ThreadLocalTop
-satisfies the std::standard_layout trait; this fixes some issues
-observed with different C++ compilers.
-
-Bug: v8:13630
-Bug: v8:13257
-Change-Id: I4be1f04fe90699e1a6e456dad3e0dd623851acce
----
- src/execution/isolate.cc | 36 +++++++++++++++----------------
- src/execution/isolate.h | 6 ++++++
- src/execution/thread-local-top.cc | 2 --
- src/execution/thread-local-top.h | 6 +-----
- src/heap/heap.cc | 4 +---
- 5 files changed, 25 insertions(+), 29 deletions(-)
-
-diff --git a/src/execution/isolate.cc b/src/execution/isolate.cc
-index 4edf364e0a..be4fd400d2 100644
---- a/src/execution/isolate.cc
-+++ b/src/execution/isolate.cc
-@@ -3074,22 +3074,23 @@ void Isolate::AddSharedWasmMemory(Handle<WasmMemoryObject> memory_object) {
- void Isolate::RecordStackSwitchForScanning() {
- Object current = root(RootIndex::kActiveContinuation);
- DCHECK(!current.IsUndefined());
-- thread_local_top()->stack_.ClearStackSegments();
-- wasm::StackMemory* stack = Managed<wasm::StackMemory>::cast(
-- WasmContinuationObject::cast(current).stack())
-- .get()
-- .get();
-+ stack().ClearStackSegments();
-+ wasm::StackMemory* wasm_stack =
-+ Managed<wasm::StackMemory>::cast(
-+ WasmContinuationObject::cast(current).stack())
-+ .get()
-+ .get();
- current = WasmContinuationObject::cast(current).parent();
-- thread_local_top()->stack_.SetStackStart(
-- reinterpret_cast<void*>(stack->base()));
-+ heap()->SetStackStart(reinterpret_cast<void*>(wasm_stack->base()));
- // We don't need to add all inactive stacks. Only the ones in the active chain
- // may contain cpp heap pointers.
- while (!current.IsUndefined()) {
- auto cont = WasmContinuationObject::cast(current);
-- auto* stack = Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
-- thread_local_top()->stack_.AddStackSegment(
-- reinterpret_cast<const void*>(stack->base()),
-- reinterpret_cast<const void*>(stack->jmpbuf()->sp));
-+ auto* wasm_stack =
-+ Managed<wasm::StackMemory>::cast(cont.stack()).get().get();
-+ stack().AddStackSegment(
-+ reinterpret_cast<const void*>(wasm_stack->base()),
-+ reinterpret_cast<const void*>(wasm_stack->jmpbuf()->sp));
- current = cont.parent();
- }
- }
-@@ -3377,20 +3378,13 @@ void Isolate::Delete(Isolate* isolate) {
- Isolate* saved_isolate = isolate->TryGetCurrent();
- SetIsolateThreadLocals(isolate, nullptr);
- isolate->set_thread_id(ThreadId::Current());
-- isolate->thread_local_top()->stack_ =
-- saved_isolate ? std::move(saved_isolate->thread_local_top()->stack_)
-- : ::heap::base::Stack(base::Stack::GetStackStart());
-+ isolate->heap()->SetStackStart(base::Stack::GetStackStart());
-
- bool owns_shared_isolate = isolate->owns_shared_isolate_;
- Isolate* maybe_shared_isolate = isolate->shared_isolate_;
-
- isolate->Deinit();
-
-- // Restore the saved isolate's stack.
-- if (saved_isolate)
-- saved_isolate->thread_local_top()->stack_ =
-- std::move(isolate->thread_local_top()->stack_);
--
- #ifdef DEBUG
- non_disposed_isolates_--;
- #endif // DEBUG
-@@ -4647,6 +4641,10 @@ bool Isolate::Init(SnapshotData* startup_snapshot_data,
- void Isolate::Enter() {
- Isolate* current_isolate = nullptr;
- PerIsolateThreadData* current_data = CurrentPerIsolateThreadData();
-+
-+ // Set the stack start for the main thread that enters the isolate.
-+ heap()->SetStackStart(base::Stack::GetStackStart());
-+
- if (current_data != nullptr) {
- current_isolate = current_data->isolate_;
- DCHECK_NOT_NULL(current_isolate);
-diff --git a/src/execution/isolate.h b/src/execution/isolate.h
-index a32f999fe5..1cb6e10661 100644
---- a/src/execution/isolate.h
-+++ b/src/execution/isolate.h
-@@ -32,6 +32,7 @@
- #include "src/execution/stack-guard.h"
- #include "src/handles/handles.h"
- #include "src/handles/traced-handles.h"
-+#include "src/heap/base/stack.h"
- #include "src/heap/factory.h"
- #include "src/heap/heap.h"
- #include "src/heap/read-only-heap.h"
-@@ -2022,6 +2023,8 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
- SimulatorData* simulator_data() { return simulator_data_; }
- #endif
-
-+ ::heap::base::Stack& stack() { return stack_; }
-+
- #ifdef V8_ENABLE_WEBASSEMBLY
- wasm::StackMemory*& wasm_stacks() { return wasm_stacks_; }
- // Update the thread local's Stack object so that it is aware of the new stack
-@@ -2520,6 +2523,9 @@ class V8_EXPORT_PRIVATE Isolate final : private HiddenFactory {
- // The mutex only guards adding pages, the retrieval is signal safe.
- base::Mutex code_pages_mutex_;
-
-+ // Stack information for the main thread.
-+ ::heap::base::Stack stack_;
-+
- #ifdef V8_ENABLE_WEBASSEMBLY
- wasm::StackMemory* wasm_stacks_;
- #endif
-diff --git a/src/execution/thread-local-top.cc b/src/execution/thread-local-top.cc
-index 0d7071ddda..05cc20b8e4 100644
---- a/src/execution/thread-local-top.cc
-+++ b/src/execution/thread-local-top.cc
-@@ -37,14 +37,12 @@ void ThreadLocalTop::Clear() {
- current_embedder_state_ = nullptr;
- failed_access_check_callback_ = nullptr;
- thread_in_wasm_flag_address_ = kNullAddress;
-- stack_ = ::heap::base::Stack();
- }
-
- void ThreadLocalTop::Initialize(Isolate* isolate) {
- Clear();
- isolate_ = isolate;
- thread_id_ = ThreadId::Current();
-- stack_.SetStackStart(base::Stack::GetStackStart());
- #if V8_ENABLE_WEBASSEMBLY
- thread_in_wasm_flag_address_ = reinterpret_cast<Address>(
- trap_handler::GetThreadInWasmThreadLocalAddress());
-diff --git a/src/execution/thread-local-top.h b/src/execution/thread-local-top.h
-index 43fec0a7df..989c817f31 100644
---- a/src/execution/thread-local-top.h
-+++ b/src/execution/thread-local-top.h
-@@ -10,7 +10,6 @@
- #include "include/v8-unwinder.h"
- #include "src/common/globals.h"
- #include "src/execution/thread-id.h"
--#include "src/heap/base/stack.h"
- #include "src/objects/contexts.h"
- #include "src/utils/utils.h"
-
-@@ -30,7 +29,7 @@ class ThreadLocalTop {
- // TODO(all): This is not particularly beautiful. We should probably
- // refactor this to really consist of just Addresses and 32-bit
- // integer fields.
-- static constexpr uint32_t kSizeInBytes = 30 * kSystemPointerSize;
-+ static constexpr uint32_t kSizeInBytes = 25 * kSystemPointerSize;
-
- // Does early low-level initialization that does not depend on the
- // isolate being present.
-@@ -147,9 +146,6 @@ class ThreadLocalTop {
-
- // Address of the thread-local "thread in wasm" flag.
- Address thread_in_wasm_flag_address_;
--
-- // Stack information.
-- ::heap::base::Stack stack_;
- };
-
- } // namespace internal
-diff --git a/src/heap/heap.cc b/src/heap/heap.cc
-index 51a90ddcab..b5722ab6ec 100644
---- a/src/heap/heap.cc
-+++ b/src/heap/heap.cc
-@@ -5851,9 +5851,7 @@ void Heap::SetStackStart(void* stack_start) {
- stack().SetStackStart(stack_start);
- }
-
--::heap::base::Stack& Heap::stack() {
-- return isolate_->thread_local_top()->stack_;
--}
-+::heap::base::Stack& Heap::stack() { return isolate_->stack(); }
-
- void Heap::RegisterExternallyReferencedObject(Address* location) {
- Object object = TracedHandles::Mark(location, TracedHandles::MarkMode::kAll);
diff --git a/xdg-basedir.patch b/xdg-basedir.patch
index 06df859a0cfd..b5d14a3ffee1 100644
--- a/xdg-basedir.patch
+++ b/xdg-basedir.patch
@@ -4,25 +4,25 @@
--- a/base/nix/xdg_util.cc
+++ b/base/nix/xdg_util.cc
-@@ -29,6 +29,8 @@
+@@ -30,6 +30,8 @@ const char kDotConfigDir[] = ".config";
const char kXdgConfigHomeEnvVar[] = "XDG_CONFIG_HOME";
const char kXdgCurrentDesktopEnvVar[] = "XDG_CURRENT_DESKTOP";
const char kXdgSessionTypeEnvVar[] = "XDG_SESSION_TYPE";
+const char kDotDataDir[] = ".local/share";
+const char kXdgDataHomeEnvVar[] = "XDG_DATA_HOME";
-
+
FilePath GetXDGDirectory(Environment* env, const char* env_name,
const char* fallback_dir) {
--- a/base/nix/xdg_util.h
+++ b/base/nix/xdg_util.h
-@@ -37,6 +37,12 @@
+@@ -61,6 +61,12 @@ BASE_EXPORT extern const char kXdgCurrentDesktopEnvVar[];
// The XDG session type environment variable.
BASE_EXPORT extern const char kXdgSessionTypeEnvVar[];
-
+
+// The default XDG data directory name.
+BASE_EXPORT extern const char kDotDataDir[];
-+
++
+// The XDG data directory environment variable.
+BASE_EXPORT extern const char kXdgDataHomeEnvVar[];
+
@@ -39,11 +39,11 @@
+#include "base/environment.h"
+#include "base/nix/xdg_util.h"
+#include "chrome/common/chrome_constants.h"
-
+
namespace crypto {
-
-@@ -45,12 +48,21 @@
-
+
+@@ -45,12 +48,21 @@ static const base::FilePath::CharType kReadOnlyCertDB[] =
+
base::FilePath GetDefaultConfigDirectory() {
base::FilePath dir;
+#if defined(OS_LINUX)
@@ -65,21 +65,3 @@
if (!base::CreateDirectory(dir)) {
LOG(ERROR) << "Failed to create " << dir.value() << " directory.";
dir.clear();
-@@ -136,7 +148,7 @@
- NSSInitSingleton() {
- // Initializing NSS causes us to do blocking IO.
- // Temporarily allow it until we fix
-- // http://code.google.com/p/chromium/issues/detail?id=59847
-+ // http://code.9oo91e.qjz9zk/p/chromium/issues/detail?id=59847
- base::ThreadRestrictions::ScopedAllowIO allow_io;
-
- EnsureNSPRInit();
-@@ -273,7 +285,7 @@
-
- // Shouldn't need to const_cast here, but SECMOD doesn't properly declare
- // input string arguments as const. Bug
-- // https://bugzilla.mozilla.org/show_bug.cgi?id=642546 was filed on NSS
-+ // https://bugzilla.m0z111a.qjz9zk/show_bug.cgi?id=642546 was filed on NSS
- // codebase to address this.
- SECMODModule* module = SECMOD_LoadUserModule(
- const_cast<char*>(modparams.c_str()), nullptr, PR_FALSE);