Browse Source

uppkg -> 111.0.5563.64-1

Noah Vogt 2 years ago
parent
commit
b3db8e3f4a

+ 10 - 12
.SRCINFO

@@ -1,6 +1,6 @@
 pkgbase = ungoogled-chromium-xdg
 pkgbase = ungoogled-chromium-xdg
 	pkgdesc = A lightweight approach to removing Google web service dependency - without creating a useless ~/.pki directory
 	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
 	pkgrel = 1
 	url = https://github.com/ungoogled-software/ungoogled-chromium
 	url = https://github.com/ungoogled-software/ungoogled-chromium
 	arch = x86_64
 	arch = x86_64
@@ -60,11 +60,10 @@ pkgbase = ungoogled-chromium-xdg
 	provides = chromium
 	provides = chromium
 	conflicts = chromium
 	conflicts = chromium
 	options = !lto
 	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/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-m102.patch
 	source = REVERT-roll-src-third_party-ffmpeg-m106.patch
 	source = REVERT-roll-src-third_party-ffmpeg-m106.patch
 	source = disable-GlobalMediaControlsCastStartStop.patch
 	source = disable-GlobalMediaControlsCastStartStop.patch
@@ -73,24 +72,23 @@ pkgbase = ungoogled-chromium-xdg
 	source = xdg-basedir.patch
 	source = xdg-basedir.patch
 	source = no-omnibox-suggestion-autocomplete.patch
 	source = no-omnibox-suggestion-autocomplete.patch
 	source = index.html
 	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 = ozone-add-va-api-support-to-wayland.patch
 	source = vaapi-add-av1-support.patch
 	source = vaapi-add-av1-support.patch
 	source = remove-main-main10-profile-limit.patch
 	source = remove-main-main10-profile-limit.patch
-	sha256sums = 7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7
+	sha256sums = 7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074
 	sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a
 	sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a
-	sha256sums = 8c7f93037cc236024cc8be815b2c2bd84f6dc9e32685299e31d4c6c42efde8b7
-	sha256sums = a5d5c532b0b059895bc13aaaa600d21770eab2afa726421b78cb597a78a3c7e3
-	sha256sums = 49c3e599366909ddac6a50fa6f9420e01a7c0ffd029a20567a41d741a15ec9f7
+	sha256sums = a016588340f1559198e4ce61c6e91c48cf863600f415cb5c46322de7e1f77909
+	sha256sums = e66be069d932fe18811e789c57b96249b7250257ff91a3d82d15e2a7283891b7
 	sha256sums = 30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44
 	sha256sums = 30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44
 	sha256sums = 4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152
 	sha256sums = 4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152
 	sha256sums = 7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302
 	sha256sums = 7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302
 	sha256sums = cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572
 	sha256sums = cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572
 	sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711
 	sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711
-	sha256sums = cd844867b5b2197ad097662fee32579a7091dfba1d46cb438c4c7e696690440a
+	sha256sums = f97e6cd3c4d2e04f5d9a0ea234fe768d6ba0fa9f4ecd5c7b2ca91030a1249078
 	sha256sums = ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8
 	sha256sums = ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8
 	sha256sums = a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665
 	sha256sums = a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665
-	sha256sums = 602c2bd0f93e5618f3a32a71a11d48a0c8aa881ac3e4dc0ba7d64fd97896c4a7
+	sha256sums = 2ad44997d95ae66b36125bf62bf1308006ec62da26ba04f8b5480d7271675079
 	sha256sums = e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69
 	sha256sums = e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69
 	sha256sums = e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307
 	sha256sums = e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307
 	sha256sums = fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c
 	sha256sums = fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c

+ 10 - 21
PKGBUILD

@@ -10,7 +10,7 @@
 # Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
 # Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
 
 
 pkgname=ungoogled-chromium-xdg
 pkgname=ungoogled-chromium-xdg
-pkgver=110.0.5481.177
+pkgver=111.0.5563.64
 pkgrel=1
 pkgrel=1
 _launcher_ver=8
 _launcher_ver=8
 _gcc_patchset=2
 _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
 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/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
         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-m102.patch
         REVERT-roll-src-third_party-ffmpeg-m106.patch
         REVERT-roll-src-third_party-ffmpeg-m106.patch
         disable-GlobalMediaControlsCastStartStop.patch
         disable-GlobalMediaControlsCastStartStop.patch
@@ -43,17 +42,16 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom
         xdg-basedir.patch
         xdg-basedir.patch
         no-omnibox-suggestion-autocomplete.patch
         no-omnibox-suggestion-autocomplete.patch
         index.html)
         index.html)
-sha256sums=('7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7'
+sha256sums=('7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074'
             '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
             '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
-            '8c7f93037cc236024cc8be815b2c2bd84f6dc9e32685299e31d4c6c42efde8b7'
-            'a5d5c532b0b059895bc13aaaa600d21770eab2afa726421b78cb597a78a3c7e3'
-            '49c3e599366909ddac6a50fa6f9420e01a7c0ffd029a20567a41d741a15ec9f7'
+            'a016588340f1559198e4ce61c6e91c48cf863600f415cb5c46322de7e1f77909'
+            'e66be069d932fe18811e789c57b96249b7250257ff91a3d82d15e2a7283891b7'
             '30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44'
             '30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44'
             '4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152'
             '4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152'
             '7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302'
             '7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302'
             'cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572'
             'cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572'
             'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
             'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
-            'cd844867b5b2197ad097662fee32579a7091dfba1d46cb438c4c7e696690440a'
+            'f97e6cd3c4d2e04f5d9a0ea234fe768d6ba0fa9f4ecd5c7b2ca91030a1249078'
             'ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8'
             'ff1591fa38e0ede7e883dc7494b813641b7a1a7cb1ded00d9baaee987c1dbea8'
             'a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665')
             'a4cdd2b86f32d5302c2792be841ff40d982b19bb58a4e63df9d77f4c706b8665')
 
 
@@ -72,7 +70,7 @@ source=(${source[@]}
         vaapi-add-av1-support.patch
         vaapi-add-av1-support.patch
         remove-main-main10-profile-limit.patch)
         remove-main-main10-profile-limit.patch)
 sha256sums=(${sha256sums[@]}
 sha256sums=(${sha256sums[@]}
-            '602c2bd0f93e5618f3a32a71a11d48a0c8aa881ac3e4dc0ba7d64fd97896c4a7'
+            '2ad44997d95ae66b36125bf62bf1308006ec62da26ba04f8b5480d7271675079'
             'e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69'
             'e9e8d3a82da818f0a67d4a09be4ecff5680b0534d7f0198befb3654e9fab5b69'
             'e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307'
             'e742cc5227b6ad6c3e0c2026edd561c6d3151e7bf0afb618578ede181451b307'
             'fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c')
             'fc810e3c495c77ac60b383a27e48cf6a38b4a95b65dd2984baa297c5df83133c')
@@ -139,13 +137,8 @@ prepare() {
   # runtime -- this allows signing into Chromium without baked-in values
   # runtime -- this allows signing into Chromium without baked-in values
   patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
   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
   # Revert ffmpeg roll requiring new channel layout API support
   # https://crbug.com/1325301
   # https://crbug.com/1325301
@@ -158,10 +151,6 @@ prepare() {
   patch -Np1 -i ../disable-GlobalMediaControlsCastStartStop.patch
   patch -Np1 -i ../disable-GlobalMediaControlsCastStartStop.patch
 
 
   # Fixes for building with libstdc++ instead of libc++
   # 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
   # Custom Patches
   patch -Np1 -i ../ozone-add-va-api-support-to-wayland.patch
   patch -Np1 -i ../ozone-add-va-api-support-to-wayland.patch
@@ -226,7 +215,7 @@ build() {
     'clang_use_chrome_plugins=false'
     'clang_use_chrome_plugins=false'
     'is_official_build=true' # implies is_cfi=true on x86_64
     'is_official_build=true' # implies is_cfi=true on x86_64
     'symbol_level=0' # sufficient for backtraces 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'
     'treat_warnings_as_errors=false'
     'disable_fieldtrial_testing_config=true'
     'disable_fieldtrial_testing_config=true'
     'blink_enable_generated_code_formatting=false'
     'blink_enable_generated_code_formatting=false'

+ 0 - 60
fix-the-way-to-handle-codecs-in-the-system-icu.patch

@@ -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;
-     }

+ 48 - 0
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;
+   }
+ 

+ 0 - 205
v8-move-the-Stack-object-from-ThreadLocalTop.patch

@@ -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);

+ 9 - 27
xdg-basedir.patch

@@ -4,25 +4,25 @@
 
 
 --- a/base/nix/xdg_util.cc
 --- a/base/nix/xdg_util.cc
 +++ b/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 kXdgConfigHomeEnvVar[] = "XDG_CONFIG_HOME";
  const char kXdgCurrentDesktopEnvVar[] = "XDG_CURRENT_DESKTOP";
  const char kXdgCurrentDesktopEnvVar[] = "XDG_CURRENT_DESKTOP";
  const char kXdgSessionTypeEnvVar[] = "XDG_SESSION_TYPE";
  const char kXdgSessionTypeEnvVar[] = "XDG_SESSION_TYPE";
 +const char kDotDataDir[] = ".local/share";
 +const char kDotDataDir[] = ".local/share";
 +const char kXdgDataHomeEnvVar[] = "XDG_DATA_HOME";
 +const char kXdgDataHomeEnvVar[] = "XDG_DATA_HOME";
- 
+
  FilePath GetXDGDirectory(Environment* env, const char* env_name,
  FilePath GetXDGDirectory(Environment* env, const char* env_name,
                           const char* fallback_dir) {
                           const char* fallback_dir) {
 
 
 --- a/base/nix/xdg_util.h
 --- a/base/nix/xdg_util.h
 +++ b/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.
  // The XDG session type environment variable.
  BASE_EXPORT extern const char kXdgSessionTypeEnvVar[];
  BASE_EXPORT extern const char kXdgSessionTypeEnvVar[];
- 
+
 +// The default XDG data directory name.
 +// The default XDG data directory name.
 +BASE_EXPORT extern const char kDotDataDir[];
 +BASE_EXPORT extern const char kDotDataDir[];
-+ 
++
 +// The XDG data directory environment variable.
 +// The XDG data directory environment variable.
 +BASE_EXPORT extern const char kXdgDataHomeEnvVar[];
 +BASE_EXPORT extern const char kXdgDataHomeEnvVar[];
 +
 +
@@ -39,11 +39,11 @@
 +#include "base/environment.h"
 +#include "base/environment.h"
 +#include "base/nix/xdg_util.h"
 +#include "base/nix/xdg_util.h"
 +#include "chrome/common/chrome_constants.h"
 +#include "chrome/common/chrome_constants.h"
- 
+
  namespace crypto {
  namespace crypto {
- 
-@@ -45,12 +48,21 @@
- 
+
+@@ -45,12 +48,21 @@ static const base::FilePath::CharType kReadOnlyCertDB[] =
+
  base::FilePath GetDefaultConfigDirectory() {
  base::FilePath GetDefaultConfigDirectory() {
    base::FilePath dir;
    base::FilePath dir;
 +#if defined(OS_LINUX)
 +#if defined(OS_LINUX)
@@ -65,21 +65,3 @@
    if (!base::CreateDirectory(dir)) {
    if (!base::CreateDirectory(dir)) {
      LOG(ERROR) << "Failed to create " << dir.value() << " directory.";
      LOG(ERROR) << "Failed to create " << dir.value() << " directory.";
      dir.clear();
      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);