Date: Friday, March 5, 2021 @ 21:56:18 Author: tensor5 Revision: 882514
upgpkg: electron 12.0.0-1 Added: electron/trunk/add-ctime-for-std-time.patch electron/trunk/add-dependency-on-opus-in-webcodecs.patch electron/trunk/dcheck.patch electron/trunk/don-t-crash-on-reentrant-RunMoveLoop-call.patch Modified: electron/trunk/PKGBUILD electron/trunk/use-system-libraries-in-node.patch Deleted: electron/trunk/chromium-skia-harmony.patch electron/trunk/icu68.patch electron/trunk/v8-icu68.patch -------------------------------------------------+ PKGBUILD | 48 +- add-ctime-for-std-time.patch | 27 + add-dependency-on-opus-in-webcodecs.patch | 43 ++ chromium-skia-harmony.patch | 14 dcheck.patch | 13 don-t-crash-on-reentrant-RunMoveLoop-call.patch | 33 + icu68.patch | 421 ---------------------- use-system-libraries-in-node.patch | 5 v8-icu68.patch | 192 ---------- 9 files changed, 144 insertions(+), 652 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-03-05 21:56:13 UTC (rev 882513) +++ PKGBUILD 2021-03-05 21:56:18 UTC (rev 882514) @@ -1,19 +1,19 @@ # Maintainer: Nicola Squartini <[email protected]> pkgname=electron -pkgver=11.3.0 -_commit=1631fc9b0c0d84283105a669c98bbeb8bab39109 -_chromiumver=87.0.4280.141 +pkgver=12.0.0 +_commit=3ae63c9a06a4b5c9074572ee8b7137520fe4ba4e +_chromiumver=89.0.4389.69 pkgrel=1 pkgdesc='Build cross platform desktop apps with web technologies' arch=('x86_64') url='https://electronjs.org/' license=('MIT' 'custom') -depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libnghttp2' - 'libxslt' 'minizip' 'nss' 're2' 'snappy') -makedepends=('clang' 'git' 'gn-m87' 'gperf' 'harfbuzz-icu' 'java-runtime-headless' - 'jsoncpp' 'libnotify' 'lld' 'llvm' 'ninja' 'npm' 'pciutils' 'yarn' - 'python2' 'wget') +depends=('c-ares' 'ffmpeg' 'gtk3' 'libevent' 'libnghttp2' 'libxslt' 'minizip' + 'nss' 're2' 'snappy') +makedepends=('clang' 'git' 'gn-m87' 'gperf' 'harfbuzz-icu' 'http-parser' + 'java-runtime-headless' 'jsoncpp' 'libnotify' 'lld' 'llvm' 'ninja' + 'npm' 'pciutils' 'yarn' 'python2' 'wget') optdepends=('kde-cli-tools: file deletion support (kioclient5)' 'libappindicator-gtk3: StatusNotifierItem support' 'trash-cli: file deletion support (trash-put)' @@ -23,20 +23,22 @@ "${pkgname}.desktop" 'default_app-icon.patch' 'use-system-libraries-in-node.patch' - 'icu68.patch' - 'v8-icu68.patch' + 'add-ctime-for-std-time.patch' + 'add-dependency-on-opus-in-webcodecs.patch' 'chromium-glibc-2.33.patch' - 'chromium-skia-harmony.patch' + 'dcheck.patch' + 'don-t-crash-on-reentrant-RunMoveLoop-call.patch' ) sha256sums=('SKIP' 'SKIP' '5270db01f3f8aaa5137dec275a02caa832b7f2e37942e068cba8d28b3a29df39' 'dd2d248831dd4944d385ebf008426e66efe61d6fdf66f8932c963a12167947b4' - '0c54e488780e984c4be5879fa43d0e6fd23edc2207a7ec607c7886fca5115a12' - '38fb5218331d6e03915490dab64f7b8bf26833a581d1aaa02090437c67e9439c' - '6e919c9712d8fe6c2918778df1f8c2ee0675a87a48be5d2aaa54e320703ced4b' + 'f16103daf05713dea632b5f01e45db20ff12d1770a6539b4e8d3957a0242dd54' + '102e0c976c0d7fd1fbe2f2978ec621499a97b62457b3fde4daf84f026d1a53a7' + 'b86b11de8db438c47f0a84c7956740f648d21035f4ee46bfbd50c3348d369121' '2fccecdcd4509d4c36af873988ca9dbcba7fdb95122894a9fdf502c33a1d7a4b' - '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1' + '6eb71b2b9a94f45c2dcce8ddd1c2c8a84f7874edd133b8b2d872bac8d3d96c25' + '615f5fefc94da605957edb34b6c000f32953fb5ff6ffb321f062dab8e0fef9d3' ) _system_libs=('ffmpeg' @@ -110,10 +112,10 @@ --local_state=src/chrome/android/profiles/local.txt \ --output_name=src/chrome/android/profiles/afdo.prof \ --gs_url_base=chromeos-prebuilt/afdo-job/llvm - vpython src/tools/update_pgo_profiles.py \ - --target=linux \ - update \ - --gs-url-base=chromium-optimization-profiles/pgo_profiles + #vpython src/tools/update_pgo_profiles.py \ + # --target=linux \ + # update \ + # --gs-url-base=chromium-optimization-profiles/pgo_profiles python2 src/electron/script/apply_all_patches.py \ src/electron/patches/config.json cd src/electron @@ -121,10 +123,11 @@ cd .. echo "Applying local patches..." - patch -Np1 -i ../icu68.patch - patch -Np1 -d v8 <../v8-icu68.patch - patch -Np0 -i ../chromium-skia-harmony.patch + patch -Np1 -i ../add-ctime-for-std-time.patch + patch -Np1 -i ../add-dependency-on-opus-in-webcodecs.patch patch -Np1 -i ../chromium-glibc-2.33.patch + patch -Np1 -d net/third_party/quiche/src < ../dcheck.patch + patch -Np1 -i ../don-t-crash-on-reentrant-RunMoveLoop-call.patch patch -Np1 -i ../use-system-libraries-in-node.patch patch -Np1 -i ../default_app-icon.patch # Icon from .desktop file @@ -162,6 +165,7 @@ export CHROMIUM_BUILDTOOLS_PATH="${PWD}/buildtools" GN_EXTRA_ARGS=' blink_symbol_level = 0 + chrome_pgo_phase = 0 clang_use_chrome_plugins = false custom_toolchain = "//build/toolchain/linux/unbundle:default" host_toolchain = "//build/toolchain/linux/unbundle:default" Added: add-ctime-for-std-time.patch =================================================================== --- add-ctime-for-std-time.patch (rev 0) +++ add-ctime-for-std-time.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -0,0 +1,27 @@ +From c06ddc4935bf1394812c011ce5d93898ccc8a53a Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <[email protected]> +Date: Tue, 9 Feb 2021 19:22:57 +0000 +Subject: [PATCH] IWYU: add ctime for std::time + +Bug: None +Change-Id: I8bdae43209984242b9f5e538d74ece4409b65e3c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2679610 +Reviewed-by: Katie Dektar <[email protected]> +Commit-Queue: Katie Dektar <[email protected]> +Cr-Commit-Position: refs/heads/master@{#852287} +--- + ui/accessibility/ax_tree_serializer.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ui/accessibility/ax_tree_serializer.h b/ui/accessibility/ax_tree_serializer.h +index ddbbdcdc25c53..1790e3b791967 100644 +--- a/ui/accessibility/ax_tree_serializer.h ++++ b/ui/accessibility/ax_tree_serializer.h +@@ -8,6 +8,7 @@ + #include <stddef.h> + #include <stdint.h> + ++#include <ctime> + #include <ostream> + #include <unordered_map> + #include <unordered_set> Added: add-dependency-on-opus-in-webcodecs.patch =================================================================== --- add-dependency-on-opus-in-webcodecs.patch (rev 0) +++ add-dependency-on-opus-in-webcodecs.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -0,0 +1,43 @@ +From b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <[email protected]> +Date: Wed, 27 Jan 2021 20:31:51 +0000 +Subject: [PATCH] add dependency on opus in webcodecs + +webcodecs uses opus, but dependency is missing. With unbundled +opus library build fails, because include path is incomplete. + +Bug: 1169758 +Change-Id: I01369364327461196a81002479636cf45017669a +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2644623 +Reviewed-by: Dale Curtis <[email protected]> +Commit-Queue: Dale Curtis <[email protected]> +Cr-Commit-Position: refs/heads/master@{#847754} +--- + third_party/blink/renderer/modules/webcodecs/BUILD.gn | 1 + + third_party/blink/renderer/modules/webcodecs/DEPS | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn +index fdf4ca0fafc72..01a7bf809ffca 100644 +--- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn ++++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn +@@ -65,6 +65,7 @@ blink_modules_sources("webcodecs") { + "//media/mojo/clients", + "//media/mojo/mojom", + "//third_party/libyuv:libyuv", ++ "//third_party/opus", + ] + if (media_use_openh264) { + deps += [ "//third_party/openh264:encoder" ] +diff --git a/third_party/blink/renderer/modules/webcodecs/DEPS b/third_party/blink/renderer/modules/webcodecs/DEPS +index b8dd596da8caf..ea1919d12205a 100644 +--- a/third_party/blink/renderer/modules/webcodecs/DEPS ++++ b/third_party/blink/renderer/modules/webcodecs/DEPS +@@ -19,6 +19,7 @@ include_rules = [ + + "+third_party/libyuv", + "+third_party/openh264", ++ "+third_party/opus", + + "+ui/gfx/color_space.h", + "+ui/gfx/geometry/rect.h", Deleted: chromium-skia-harmony.patch =================================================================== --- chromium-skia-harmony.patch 2021-03-05 21:56:13 UTC (rev 882513) +++ chromium-skia-harmony.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -1,14 +0,0 @@ ---- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-07-19 11:08:34.770972665 +0000 -+++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-07-19 11:08:44.274442065 +0000 -@@ -128,9 +128,9 @@ public: - : fGetVarDesignCoordinates(nullptr) - , fGetVarAxisFlags(nullptr) - , fLibrary(nullptr) -- , fIsLCDSupported(false) -+ , fIsLCDSupported(true) - , fLightHintingIsYOnly(false) -- , fLCDExtra(0) -+ , fLCDExtra(2) - { - if (FT_New_Library(&gFTMemory, &fLibrary)) { - return; Added: dcheck.patch =================================================================== --- dcheck.patch (rev 0) +++ dcheck.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -0,0 +1,13 @@ +diff --git a/quic/core/quic_path_validator.cc b/quic/core/quic_path_validator.cc +index ee446cc..0cc387f 100644 +--- a/quic/core/quic_path_validator.cc ++++ b/quic/core/quic_path_validator.cc +@@ -68,7 +68,7 @@ + void QuicPathValidator::StartPathValidation( + std::unique_ptr<QuicPathValidationContext> context, + std::unique_ptr<ResultDelegate> result_delegate) { +- DCHECK_NE(nullptr, context); ++ DCHECK(context); + QUIC_DLOG(INFO) << "Start validating path " << *context + << " via writer: " << context->WriterToUse(); + if (path_context_ != nullptr) { Added: don-t-crash-on-reentrant-RunMoveLoop-call.patch =================================================================== --- don-t-crash-on-reentrant-RunMoveLoop-call.patch (rev 0) +++ don-t-crash-on-reentrant-RunMoveLoop-call.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -0,0 +1,33 @@ +From 4b05247f43d592ce748933963df923d9a40705f8 Mon Sep 17 00:00:00 2001 +From: Sigurdur Asgeirsson <[email protected]> +Date: Mon, 8 Feb 2021 18:36:10 +0000 +Subject: [PATCH] Don't crash on reentrant RunMoveLoop call. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Bug: 1173484 +Change-Id: Ia75b200d2826586080c26089751bef1d12c8fbce +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2680089 +Reviewed-by: Scott Violet <[email protected]> +Commit-Queue: Sigurður Ásgeirsson <[email protected]> +Cr-Commit-Position: refs/heads/master@{#851799} +--- + chrome/browser/ui/views/tabs/tab_drag_controller.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller.cc b/chrome/browser/ui/views/tabs/tab_drag_controller.cc +index 16c3c1e9df8c2..d2ccc2b965237 100644 +--- a/chrome/browser/ui/views/tabs/tab_drag_controller.cc ++++ b/chrome/browser/ui/views/tabs/tab_drag_controller.cc +@@ -1397,6 +1397,10 @@ void TabDragController::RunMoveLoop(const gfx::Vector2d& drag_offset) { + + move_loop_widget_ = GetAttachedBrowserWidget(); + DCHECK(move_loop_widget_); ++ ++ // RunMoveLoop can be called reentrantly from within another RunMoveLoop, ++ // in which case the observation is already established. ++ widget_observation_.Reset(); + widget_observation_.Observe(move_loop_widget_); + current_state_ = DragState::kDraggingWindow; + base::WeakPtr<TabDragController> ref(weak_factory_.GetWeakPtr()); Deleted: icu68.patch =================================================================== --- icu68.patch 2021-03-05 21:56:13 UTC (rev 882513) +++ icu68.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -1,421 +0,0 @@ -From 4d16e52a5e6771c4aa5f892e14486bf0e87027d1 Mon Sep 17 00:00:00 2001 -From: Frank Tang <[email protected]> -Date: Tue, 20 Oct 2020 00:11:50 +0000 -Subject: [PATCH] Prepare for landing ICU68 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In the landing process of ICU68 we found these need to be changed -since ICU68 no longer define TRUE and FALSE for UBool to -avoid C++20 problem. - -Bug: 1138555 -Change-Id: I64fd98c99864aa86b07280537a780105cb0eabbe -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2473522 -Reviewed-by: Frank Tang <[email protected]> -Reviewed-by: Colin Blundell <[email protected]> -Reviewed-by: Dominic Battré <[email protected]> -Reviewed-by: Guillaume Jenkins <[email protected]> -Reviewed-by: Jungshik Shin <[email protected]> -Reviewed-by: Mihai Sardarescu <[email protected]> -Reviewed-by: Dave Tapuska <[email protected]> -Reviewed-by: Mustafa Emre Acer <[email protected]> -Reviewed-by: Marian Fechete <[email protected]> -Reviewed-by: Matthew Denton <[email protected]> -Commit-Queue: Frank Tang <[email protected]> -Cr-Commit-Position: refs/heads/master@{#818713} ---- - base/i18n/icu_util.cc | 2 +- - base/i18n/string_compare.cc | 4 ++-- - base/i18n/time_formatting.cc | 2 +- - .../autofill/core/common/autofill_regexes.cc | 8 ++++---- - .../browser/string_conversions_util.cc | 6 +++--- - .../public/identity_manager/identity_utils.cc | 2 +- - .../renderer/spellcheck_worditerator.cc | 2 +- - .../spoof_checks/idn_spoof_checker.cc | 4 ++-- - .../spoof_checks/skeleton_generator.cc | 2 +- - content/zygote/zygote_linux.cc | 2 +- - .../time_zone_monitor_android.cc | 2 +- - .../renderer/core/exported/web_view_test.cc | 12 ++++++------ - .../blink/renderer/platform/text/locale_icu.cc | 4 ++-- - .../platform/text/text_break_iterator_icu.cc | 16 ++++++++-------- - .../renderer/platform/text/unicode_utilities.cc | 2 +- - .../renderer/platform/wtf/text/text_codec_icu.cc | 2 +- - ui/base/l10n/formatter.cc | 6 +++--- - 17 files changed, 39 insertions(+), 39 deletions(-) - -diff --git a/base/i18n/icu_util.cc b/base/i18n/icu_util.cc -index b225f1d46c0b7..20debbe655c46 100644 ---- a/base/i18n/icu_util.cc -+++ b/base/i18n/icu_util.cc -@@ -327,7 +327,7 @@ void InitializeIcuTimeZone() { - // https://ssl.icu-project.org/trac/ticket/13208 . - string16 zone_id = android::GetDefaultTimeZoneId(); - icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone( -- icu::UnicodeString(FALSE, zone_id.data(), zone_id.length()))); -+ icu::UnicodeString(false, zone_id.data(), zone_id.length()))); - #elif defined(OS_FUCHSIA) - // The platform-specific mechanisms used by ICU's detectHostTimeZone() to - // determine the default time zone will not work on Fuchsia. Therefore, -diff --git a/base/i18n/string_compare.cc b/base/i18n/string_compare.cc -index c0e83c6f7306f..e4fb687c14884 100644 ---- a/base/i18n/string_compare.cc -+++ b/base/i18n/string_compare.cc -@@ -18,8 +18,8 @@ UCollationResult CompareString16WithCollator(const icu::Collator& collator, - StringPiece16 rhs) { - UErrorCode error = U_ZERO_ERROR; - UCollationResult result = collator.compare( -- icu::UnicodeString(FALSE, lhs.data(), static_cast<int>(lhs.length())), -- icu::UnicodeString(FALSE, rhs.data(), static_cast<int>(rhs.length())), -+ icu::UnicodeString(false, lhs.data(), static_cast<int>(lhs.length())), -+ icu::UnicodeString(false, rhs.data(), static_cast<int>(rhs.length())), - error); - DCHECK(U_SUCCESS(error)); - return result; -diff --git a/base/i18n/time_formatting.cc b/base/i18n/time_formatting.cc -index c769b57d7162a..c085f5ef2448a 100644 ---- a/base/i18n/time_formatting.cc -+++ b/base/i18n/time_formatting.cc -@@ -240,7 +240,7 @@ bool TimeDurationFormatWithSeconds(const TimeDelta time, - icu::FieldPosition ignore(icu::FieldPosition::DONT_CARE); - measure_format.formatMeasures(measures, 3, formatted, ignore, status); - *out = i18n::UnicodeStringToString16(formatted); -- return U_SUCCESS(status) == TRUE; -+ return U_SUCCESS(status); - } - - string16 DateIntervalFormat(const Time& begin_time, -diff --git a/components/autofill/core/common/autofill_regexes.cc b/components/autofill/core/common/autofill_regexes.cc -index 02254fa266ac5..1cf12f310d077 100644 ---- a/components/autofill/core/common/autofill_regexes.cc -+++ b/components/autofill/core/common/autofill_regexes.cc -@@ -43,7 +43,7 @@ class AutofillRegexes { - icu::RegexMatcher* AutofillRegexes::GetMatcher(const base::string16& pattern) { - auto it = matchers_.find(pattern); - if (it == matchers_.end()) { -- const icu::UnicodeString icu_pattern(FALSE, pattern.data(), -+ const icu::UnicodeString icu_pattern(false, pattern.data(), - pattern.length()); - - UErrorCode status = U_ZERO_ERROR; -@@ -71,21 +71,21 @@ bool MatchesPattern(const base::string16& input, - base::AutoLock lock(*g_lock); - - icu::RegexMatcher* matcher = g_autofill_regexes->GetMatcher(pattern); -- icu::UnicodeString icu_input(FALSE, input.data(), input.length()); -+ icu::UnicodeString icu_input(false, input.data(), input.length()); - matcher->reset(icu_input); - - UErrorCode status = U_ZERO_ERROR; - UBool matched = matcher->find(0, status); - DCHECK(U_SUCCESS(status)); - -- if (matched == TRUE && match) { -+ if (matched && match) { - icu::UnicodeString match_unicode = - matcher->group(group_to_be_captured, status); - DCHECK(U_SUCCESS(status)); - *match = base::i18n::UnicodeStringToString16(match_unicode); - } - -- return matched == TRUE; -+ return matched; - } - - } // namespace autofill -diff --git a/components/autofill_assistant/browser/string_conversions_util.cc b/components/autofill_assistant/browser/string_conversions_util.cc -index 212bafa637288..1d00d68019fa3 100644 ---- a/components/autofill_assistant/browser/string_conversions_util.cc -+++ b/components/autofill_assistant/browser/string_conversions_util.cc -@@ -39,13 +39,13 @@ bool UnicodeToUTF8(const std::vector<UChar32>& source, std::string* target) { - // |target|. - bool AppendUnicodeToUTF8(const UChar32 source, std::string* target) { - char bytes[4]; -- UBool error = FALSE; -+ UBool error = false; - size_t offset = 0; - U8_APPEND(bytes, offset, base::size(bytes), source, error); -- if (error == FALSE) { -+ if (error == false) { - target->append(bytes, offset); - } -- return error == FALSE; -+ return !error; - } - - } // namespace autofill_assistant -diff --git a/components/signin/public/identity_manager/identity_utils.cc b/components/signin/public/identity_manager/identity_utils.cc -index 1c414e20e5de4..014d6746d95f2 100644 ---- a/components/signin/public/identity_manager/identity_utils.cc -+++ b/components/signin/public/identity_manager/identity_utils.cc -@@ -33,7 +33,7 @@ bool IsUsernameAllowedByPattern(base::StringPiece username, - - // See if the username matches the policy-provided pattern. - UErrorCode status = U_ZERO_ERROR; -- const icu::UnicodeString icu_pattern(FALSE, utf16_pattern.data(), -+ const icu::UnicodeString icu_pattern(false, utf16_pattern.data(), - utf16_pattern.length()); - icu::RegexMatcher matcher(icu_pattern, UREGEX_CASE_INSENSITIVE, status); - if (!U_SUCCESS(status)) { -diff --git a/components/spellcheck/renderer/spellcheck_worditerator.cc b/components/spellcheck/renderer/spellcheck_worditerator.cc -index ec16fefbebc91..3b1f060866021 100644 ---- a/components/spellcheck/renderer/spellcheck_worditerator.cc -+++ b/components/spellcheck/renderer/spellcheck_worditerator.cc -@@ -442,7 +442,7 @@ bool SpellcheckWordIterator::Normalize(size_t input_start, - // spellchecker and we need manual normalization as well. The normalized - // text does not have to be NUL-terminated since its characters are copied to - // string16, which adds a NUL character when we need. -- icu::UnicodeString input(FALSE, &text_[input_start], -+ icu::UnicodeString input(false, &text_[input_start], - base::checked_cast<int32_t>(input_length)); - UErrorCode status = U_ZERO_ERROR; - icu::UnicodeString output; -diff --git a/components/url_formatter/spoof_checks/idn_spoof_checker.cc b/components/url_formatter/spoof_checks/idn_spoof_checker.cc -index 6d66a7c4db885..d73192b1426a4 100644 ---- a/components/url_formatter/spoof_checks/idn_spoof_checker.cc -+++ b/components/url_formatter/spoof_checks/idn_spoof_checker.cc -@@ -368,7 +368,7 @@ IDNSpoofChecker::Result IDNSpoofChecker::SafeToDisplayAsUnicode( - return Result::kICUSpoofChecks; - } - -- icu::UnicodeString label_string(FALSE /* isTerminated */, label.data(), -+ icu::UnicodeString label_string(false /* isTerminated */, label.data(), - base::checked_cast<int32_t>(label.size())); - - // A punycode label with 'xn--' prefix is not subject to the URL -@@ -711,7 +711,7 @@ bool IDNSpoofChecker::IsWholeScriptConfusableAllowedForTLD( - base::StringPiece tld, - base::StringPiece16 tld_unicode) { - icu::UnicodeString tld_string( -- FALSE /* isTerminated */, tld_unicode.data(), -+ false /* isTerminated */, tld_unicode.data(), - base::checked_cast<int32_t>(tld_unicode.size())); - // Allow if the TLD contains any letter from the script, in which case it's - // likely to be a TLD in that script. -diff --git a/components/url_formatter/spoof_checks/skeleton_generator.cc b/components/url_formatter/spoof_checks/skeleton_generator.cc -index 9628626600df5..9a779018ebfae 100644 ---- a/components/url_formatter/spoof_checks/skeleton_generator.cc -+++ b/components/url_formatter/spoof_checks/skeleton_generator.cc -@@ -116,7 +116,7 @@ SkeletonGenerator::~SkeletonGenerator() = default; - Skeletons SkeletonGenerator::GetSkeletons(base::StringPiece16 hostname) { - Skeletons skeletons; - size_t hostname_length = hostname.length() - (hostname.back() == '.' ? 1 : 0); -- icu::UnicodeString host(FALSE, hostname.data(), hostname_length); -+ icu::UnicodeString host(false, hostname.data(), hostname_length); - // If input has any characters outside Latin-Greek-Cyrillic and [0-9._-], - // there is no point in getting rid of diacritics because combining marks - // attached to non-LGC characters are already blocked. -diff --git a/content/zygote/zygote_linux.cc b/content/zygote/zygote_linux.cc -index 95d5a82c25082..b6d8e5a29c55e 100644 ---- a/content/zygote/zygote_linux.cc -+++ b/content/zygote/zygote_linux.cc -@@ -557,7 +557,7 @@ base::ProcessId Zygote::ReadArgsAndFork(base::PickleIterator iter, - if (!iter.ReadString16(&timezone_id)) - return -1; - icu::TimeZone::adoptDefault(icu::TimeZone::createTimeZone( -- icu::UnicodeString(FALSE, timezone_id.data(), timezone_id.length()))); -+ icu::UnicodeString(false, timezone_id.data(), timezone_id.length()))); - - if (!iter.ReadInt(&numfds)) - return -1; -diff --git a/services/device/time_zone_monitor/time_zone_monitor_android.cc b/services/device/time_zone_monitor/time_zone_monitor_android.cc -index 818670a821e41..f57f9724e5d48 100644 ---- a/services/device/time_zone_monitor/time_zone_monitor_android.cc -+++ b/services/device/time_zone_monitor/time_zone_monitor_android.cc -@@ -34,7 +34,7 @@ void TimeZoneMonitorAndroid::TimeZoneChangedFromJava( - // See base/i18n/icu_util.cc:InitializeIcuTimeZone() for more information. - base::string16 zone_id = base::android::GetDefaultTimeZoneId(); - std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::createTimeZone( -- icu::UnicodeString(FALSE, zone_id.data(), zone_id.length()))); -+ icu::UnicodeString(false, zone_id.data(), zone_id.length()))); - UpdateIcuAndNotifyClients(std::move(new_zone)); - } - -diff --git a/third_party/blink/renderer/core/exported/web_view_test.cc b/third_party/blink/renderer/core/exported/web_view_test.cc -index a6b9552bb18d9..36809d914d1af 100644 ---- a/third_party/blink/renderer/core/exported/web_view_test.cc -+++ b/third_party/blink/renderer/core/exported/web_view_test.cc -@@ -4868,18 +4868,18 @@ TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeeded) { - - TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithMutateDom) { - // Test dom mutation. -- TestEachMouseEvent("mutateDom", FALSE); -+ TestEachMouseEvent("mutateDom", false); - - // Test without any DOM mutation. -- TestEachMouseEvent("none", TRUE); -+ TestEachMouseEvent("none", true); - } - - TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithMutateStyle) { - // Test style mutation. -- TestEachMouseEvent("mutateStyle", FALSE); -+ TestEachMouseEvent("mutateStyle", false); - - // Test checkbox:indeterminate style mutation. -- TestEachMouseEvent("mutateIndeterminate", FALSE); -+ TestEachMouseEvent("mutateIndeterminate", false); - - // Test click div with :active style. - Tap("style_active"); -@@ -4888,10 +4888,10 @@ TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithMutateStyle) { - - TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithPreventDefault) { - // Test swallowing. -- TestEachMouseEvent("preventDefault", FALSE); -+ TestEachMouseEvent("preventDefault", false); - - // Test without any preventDefault. -- TestEachMouseEvent("none", TRUE); -+ TestEachMouseEvent("none", true); - } - - TEST_F(ShowUnhandledTapTest, ShowUnhandledTapUIIfNeededWithNonTriggeringNodes) { -diff --git a/third_party/blink/renderer/platform/text/locale_icu.cc b/third_party/blink/renderer/platform/text/locale_icu.cc -index 92fb99e0cc027..f991b5137728c 100644 ---- a/third_party/blink/renderer/platform/text/locale_icu.cc -+++ b/third_party/blink/renderer/platform/text/locale_icu.cc -@@ -169,12 +169,12 @@ static String GetDateFormatPattern(const UDateFormat* date_format) { - return g_empty_string; - - UErrorCode status = U_ZERO_ERROR; -- int32_t length = udat_toPattern(date_format, TRUE, nullptr, 0, &status); -+ int32_t length = udat_toPattern(date_format, true, nullptr, 0, &status); - if (status != U_BUFFER_OVERFLOW_ERROR || !length) - return g_empty_string; - StringBuffer<UChar> buffer(length); - status = U_ZERO_ERROR; -- udat_toPattern(date_format, TRUE, buffer.Characters(), length, &status); -+ udat_toPattern(date_format, true, buffer.Characters(), length, &status); - if (U_FAILURE(status)) - return g_empty_string; - return String::Adopt(buffer); -diff --git a/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc b/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc -index 5bea0079dd343..0e8c60a31599e 100644 ---- a/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc -+++ b/third_party/blink/renderer/platform/text/text_break_iterator_icu.cc -@@ -312,13 +312,13 @@ static inline bool TextInChunkOrOutOfRange(UText* text, - text->chunkOffset = offset <= std::numeric_limits<int32_t>::max() - ? static_cast<int32_t>(offset) - : 0; -- is_accessible = TRUE; -+ is_accessible = true; - return true; - } - if (native_index >= native_length && - text->chunkNativeLimit == native_length) { - text->chunkOffset = text->chunkLength; -- is_accessible = FALSE; -+ is_accessible = false; - return true; - } - } else { -@@ -331,12 +331,12 @@ static inline bool TextInChunkOrOutOfRange(UText* text, - text->chunkOffset = offset <= std::numeric_limits<int32_t>::max() - ? static_cast<int32_t>(offset) - : 0; -- is_accessible = TRUE; -+ is_accessible = true; - return true; - } - if (native_index <= 0 && !text->chunkNativeStart) { - text->chunkOffset = 0; -- is_accessible = FALSE; -+ is_accessible = false; - return true; - } - } -@@ -347,7 +347,7 @@ static UBool TextLatin1Access(UText* text, - int64_t native_index, - UBool forward) { - if (!text->context) -- return FALSE; -+ return false; - int64_t native_length = TextNativeLength(text); - UBool is_accessible; - if (TextInChunkOrOutOfRange(text, native_index, native_length, forward, -@@ -371,7 +371,7 @@ static UBool TextLatin1Access(UText* text, - DCHECK_EQ(new_context, kPriorContext); - TextLatin1SwitchToPriorContext(text, native_index, native_length, forward); - } -- return TRUE; -+ return true; - } - - static const struct UTextFuncs kTextLatin1Funcs = { -@@ -511,7 +511,7 @@ static void TextUTF16SwitchToPriorContext(UText* text, - - static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) { - if (!text->context) -- return FALSE; -+ return false; - int64_t native_length = TextNativeLength(text); - UBool is_accessible; - if (TextInChunkOrOutOfRange(text, native_index, native_length, forward, -@@ -533,7 +533,7 @@ static UBool TextUTF16Access(UText* text, int64_t native_index, UBool forward) { - DCHECK_EQ(new_context, kPriorContext); - TextUTF16SwitchToPriorContext(text, native_index, native_length, forward); - } -- return TRUE; -+ return true; - } - - static const struct UTextFuncs kTextUTF16Funcs = { -diff --git a/third_party/blink/renderer/platform/text/unicode_utilities.cc b/third_party/blink/renderer/platform/text/unicode_utilities.cc -index 2cefd5390b6b0..b8c4515dc13ca 100644 ---- a/third_party/blink/renderer/platform/text/unicode_utilities.cc -+++ b/third_party/blink/renderer/platform/text/unicode_utilities.cc -@@ -300,7 +300,7 @@ void NormalizeCharactersIntoNFCForm(const UChar* characters, - DCHECK(U_SUCCESS(status)); - int32_t input_length = static_cast<int32_t>(length); - // copy-on-write. -- icu::UnicodeString normalized(FALSE, characters, input_length); -+ icu::UnicodeString normalized(false, characters, input_length); - // In the vast majority of cases, input is already NFC. Run a quick check - // to avoid normalizing the entire input unnecessarily. - int32_t normalized_prefix_length = -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 b62573550a1cb..fb8ab0530c51e 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 -@@ -327,7 +327,7 @@ void TextCodecICU::CreateICUConverter() const { - DLOG_IF(ERROR, err == U_AMBIGUOUS_ALIAS_WARNING) - << "ICU ambiguous alias warning for encoding: " << encoding_.GetName(); - if (converter_icu_) -- ucnv_setFallback(converter_icu_, TRUE); -+ ucnv_setFallback(converter_icu_, true); - } - - int TextCodecICU::DecodeToBuffer(UChar* target, -diff --git a/ui/base/l10n/formatter.cc b/ui/base/l10n/formatter.cc -index e4446d4786f49..684ead8c0a0df 100644 ---- a/ui/base/l10n/formatter.cc -+++ b/ui/base/l10n/formatter.cc -@@ -234,7 +234,7 @@ void Formatter::Format(Unit unit, - int value, - icu::UnicodeString* formatted_string) const { - DCHECK(simple_format_[unit]); -- DCHECK(formatted_string->isEmpty() == TRUE); -+ DCHECK(formatted_string->isEmpty()); - UErrorCode error = U_ZERO_ERROR; - FormatNumberInPlural(*simple_format_[unit], - value, formatted_string, &error); -@@ -250,7 +250,7 @@ void Formatter::Format(TwoUnits units, - << "Detailed() not implemented for your (format, length) combination!"; - DCHECK(detailed_format_[units][1]) - << "Detailed() not implemented for your (format, length) combination!"; -- DCHECK(formatted_string->isEmpty() == TRUE); -+ DCHECK(formatted_string->isEmpty()); - UErrorCode error = U_ZERO_ERROR; - FormatNumberInPlural(*detailed_format_[units][0], value_1, - formatted_string, &error); -@@ -283,7 +283,7 @@ std::unique_ptr<icu::MessageFormat> Formatter::InitFormat( - base::string16 pattern = l10n_util::GetStringUTF16(pluralities.id); - UErrorCode error = U_ZERO_ERROR; - std::unique_ptr<icu::MessageFormat> format(new icu::MessageFormat( -- icu::UnicodeString(FALSE, pattern.data(), pattern.length()), error)); -+ icu::UnicodeString(false, pattern.data(), pattern.length()), error)); - DCHECK(U_SUCCESS(error)); - if (format.get()) - return format; Modified: use-system-libraries-in-node.patch =================================================================== --- use-system-libraries-in-node.patch 2021-03-05 21:56:13 UTC (rev 882513) +++ use-system-libraries-in-node.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -19,19 +19,18 @@ assert(!node_use_dtrace, "node_use_dtrace not supported in GN") assert(!node_use_etw, "node_use_etw not supported in GN") -@@ -190,11 +202,8 @@ +@@ -190,10 +202,8 @@ component("node_lib") { deps = [ ":node_js2c", - "deps/cares", "deps/histogram", -- "deps/http_parser", "deps/llhttp", - "deps/nghttp2", "deps/uvwasi", "//third_party/zlib", "//third_party/brotli:dec", -@@ -210,6 +219,19 @@ +@@ -209,6 +219,19 @@ public_configs = [ ":node_lib_config" ] include_dirs = [ "src" ] libs = [] Deleted: v8-icu68.patch =================================================================== --- v8-icu68.patch 2021-03-05 21:56:13 UTC (rev 882513) +++ v8-icu68.patch 2021-03-05 21:56:18 UTC (rev 882514) @@ -1,192 +0,0 @@ -From b0a7f5691113534c2cf771f2dd3cece5e93bc7d4 Mon Sep 17 00:00:00 2001 -From: Frank Tang <[email protected]> -Date: Tue, 03 Nov 2020 23:20:37 -0800 -Subject: [PATCH] Update to ICU68-1 - -ICU68-1 change the output skeleton format. So we need to change -resolvedOptions code for 68 migration. - -Chromium roll -https://chromium-review.googlesource.com/c/chromium/src/+/2474093 - -Bug: v8:10945 -Change-Id: I3b2c7fbe8abb22df8fa51287c498ca3245b8c55b -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477431 -Commit-Queue: Frank Tang <[email protected]> -Reviewed-by: Jakob Kummerow <[email protected]> -Reviewed-by: Shu-yu Guo <[email protected]> -Cr-Commit-Position: refs/heads/master@{#70972} - -(ported to work with <ICU-68.1 -- https://bugs.gentoo.org/757606) ---- - -diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc -index 45b0eab..d18b133 100644 ---- a/src/objects/js-number-format.cc -+++ b/src/objects/js-number-format.cc -@@ -389,17 +389,20 @@ Handle<String> CurrencySignString(Isolate* isolate, - Handle<String> UnitDisplayString(Isolate* isolate, - const icu::UnicodeString& skeleton) { - // Ex: skeleton as -- // "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name" -+ // <ICU-68.1: "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name". -+ // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-full-name" - if (skeleton.indexOf("unit-width-full-name") >= 0) { - return ReadOnlyRoots(isolate).long_string_handle(); - } - // Ex: skeleton as -- // "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow". -+ // <ICU-68.1: "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow". -+ // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-narrow". - if (skeleton.indexOf("unit-width-narrow") >= 0) { - return ReadOnlyRoots(isolate).narrow_string_handle(); - } - // Ex: skeleton as -- // "measure-unit/length-foot .### rounding-mode-half-up" -+ // <ICU-68.1: "measure-unit/length-foot .### rounding-mode-half-up" -+ // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up" - return ReadOnlyRoots(isolate).short_string_handle(); - } - -@@ -422,7 +425,8 @@ Notation NotationFromSkeleton(const icu::UnicodeString& skeleton) { - return Notation::COMPACT; - } - // Ex: skeleton as -- // "measure-unit/length-foot .### rounding-mode-half-up" -+ // <ICU-68.1: "measure-unit/length-foot .### rounding-mode-half-up" -+ // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up" - return Notation::STANDARD; - } - -@@ -562,14 +566,23 @@ namespace { - - // Ex: percent .### rounding-mode-half-up - // Special case for "percent" --// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .### --// rounding-mode-half-up" should return "kilometer-per-unit". --// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return --// "year". -+// <ICU-68.1: -+// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .### -+// rounding-mode-half-up" should return "kilometer-per-unit". -+// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return -+// >=ICU-68.1: -+// Ex: "unit/milliliter-per-acre .### rounding-mode-half-up" -+// should return "milliliter-per-acre". -+// Ex: "unit/year .### rounding-mode-half-up" should return -+// "year". - std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) { - std::string str; - str = skeleton.toUTF8String<std::string>(str); -+#if U_ICU_VERSION_MAJOR_NUM < 68 - std::string search("measure-unit/"); -+#else -+ std::string search("unit/"); -+#endif - size_t begin = str.find(search); - if (begin == str.npos) { - // Special case for "percent". -@@ -578,20 +591,41 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) { - } - return ""; - } -+#if U_ICU_VERSION_MAJOR_NUM < 68 - // Skip the type (ex: "length"). - // "measure-unit/length-kilometer per-measure-unit/duration-hour" - // b - begin = str.find("-", begin + search.size()); -+#else -+ // Ex: -+ // "unit/acre .### rounding-mode-half-up" -+ // b -+ // Ex: -+ // "unit/milliliter-per-acre .### rounding-mode-half-up" -+ // b -+ begin += search.size(); -+#endif - if (begin == str.npos) { - return ""; - } -+#if U_ICU_VERSION_MAJOR_NUM < 68 - begin++; // Skip the '-'. -+#endif - // Find the end of the subtype. - size_t end = str.find(" ", begin); -- // "measure-unit/length-kilometer per-measure-unit/duration-hour" -- // b e -+ // <ICU-68.1: -+ // "measure-unit/length-kilometer per-measure-unit/duration-hour" -+ // b e -+ // >=ICU-68.1: -+ // Ex: -+ // "unit/acre .### rounding-mode-half-up" -+ // b e -+ // Ex: -+ // "unit/milliliter-per-acre .### rounding-mode-half-up" -+ // b e - if (end == str.npos) { - end = str.size(); -+#if U_ICU_VERSION_MAJOR_NUM < 68 - return str.substr(begin, end - begin); - } - // "measure-unit/length-kilometer per-measure-unit/duration-hour" -@@ -625,17 +659,36 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) { - // "measure-unit/length-kilometer per-measure-unit/duration-hour" - // [result ] b e - return result + "-per-" + str.substr(begin, end - begin); -+#else -+ } -+ return str.substr(begin, end - begin); -+#endif - } - - Style StyleFromSkeleton(const icu::UnicodeString& skeleton) { - if (skeleton.indexOf("currency/") >= 0) { - return Style::CURRENCY; - } -+#if U_ICU_VERSION_MAJOR_NUM < 68 - if (skeleton.indexOf("measure-unit/") >= 0) { - if (skeleton.indexOf("scale/100") >= 0 && - skeleton.indexOf("measure-unit/concentr-percent") >= 0) { -+#else -+ if (skeleton.indexOf("percent") >= 0) { -+ // percent precision-integer rounding-mode-half-up scale/100 -+ if (skeleton.indexOf("scale/100") >= 0) { -+#endif - return Style::PERCENT; -+#if U_ICU_VERSION_MAJOR_NUM >= 68 -+ } else { -+ return Style::UNIT; -+#endif - } -+#if U_ICU_VERSION_MAJOR_NUM >= 68 -+ } -+ // Before ICU68: "measure-unit/", since ICU68 "unit/" -+ if (skeleton.indexOf("unit/") >= 0) { -+#endif - return Style::UNIT; - } - return Style::DECIMAL; -diff --git a/src/objects/js-relative-time-format.cc b/src/objects/js-relative-time-format.cc -index 267343aaae..64d56a1c12 100644 ---- a/src/objects/js-relative-time-format.cc -+++ b/src/objects/js-relative-time-format.cc -@@ -195,9 +195,18 @@ MaybeHandle<JSRelativeTimeFormat> JSRelativeTimeFormat::New( - } - } - -+#if U_ICU_VERSION_MAJOR_NUM < 68 - icu::DecimalFormat* decimal_format = - static_cast<icu::DecimalFormat*>(number_format); - decimal_format->setMinimumGroupingDigits(-2); -+#else -+ if (number_format->getDynamicClassID() == -+ icu::DecimalFormat::getStaticClassID()) { -+ icu::DecimalFormat* decimal_format = -+ static_cast<icu::DecimalFormat*>(number_format); -+ decimal_format->setMinimumGroupingDigits(-2); -+ } -+#endif - - // Change UDISPCTX_CAPITALIZATION_NONE to other values if - // ECMA402 later include option to change capitalization.
