aboutsummaryrefslogtreecommitdiffstats
path: root/community/chromium
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2019-11-11 14:57:06 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2019-11-11 14:58:01 +0000
commit4906c1cf1625dcb125a2d0937a7893c3adcf0fd0 (patch)
tree41318429a675a7789868ffae36270b72ae7ce70b /community/chromium
parent22de9094d1563a5a3e7a50bae8ee9280e3791cfb (diff)
downloadaports-4906c1cf1625dcb125a2d0937a7893c3adcf0fd0.tar.bz2
aports-4906c1cf1625dcb125a2d0937a7893c3adcf0fd0.tar.xz
community/chromium: upgrade to 78.0.3904.97
Diffstat (limited to 'community/chromium')
-rw-r--r--community/chromium/APKBUILD24
-rw-r--r--community/chromium/chromium-77.0.3865.75-harfbuzz-subset.patch49
-rw-r--r--community/chromium/chromium-77.0.3865.90-linked-hash-set.patch130
-rw-r--r--community/chromium/llvm-remove-unsupported-compiler-warnings.patch40
-rw-r--r--community/chromium/no-mallinfo.patch11
-rw-r--r--community/chromium/one_euro_filter-build-fix.patch13
-rw-r--r--community/chromium/resolver.patch10
-rw-r--r--community/chromium/upstream-dns_util-make-DohUpgradeEntry-non-const.patch86
-rw-r--r--community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch45
9 files changed, 196 insertions, 212 deletions
diff --git a/community/chromium/APKBUILD b/community/chromium/APKBUILD
index 8c1bca7e45..6b846ef607 100644
--- a/community/chromium/APKBUILD
+++ b/community/chromium/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=chromium
-pkgver=77.0.3865.120
-pkgrel=1
+pkgver=78.0.3904.97
+pkgrel=0
pkgdesc="chromium web browser"
url="http://www.chromium.org/"
arch="x86_64 aarch64 armv7"
@@ -99,6 +99,9 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn
resolver.patch
swiftshader.patch
secure_getenv.patch
+ llvm-remove-unsupported-compiler-warnings.patch
+ upstream-dns_util-make-DohUpgradeEntry-non-const.patch
+ upstream-fix-shutdown-crash-in-ProfileManager.patch
chromium-use-alpine-target.patch
media-base.patch
@@ -110,9 +113,6 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn
gcc-arm.patch
musl-arm-limits.patch
aarch64-fixes.patch
- one_euro_filter-build-fix.patch
- chromium-77.0.3865.75-harfbuzz-subset.patch
- chromium-77.0.3865.90-linked-hash-set.patch
"
builddir="$srcdir"/$pkgname-$pkgver
@@ -338,7 +338,7 @@ chromedriver() {
mv "$pkgdir"/usr/bin/chromedriver "$subpkgdir"/usr/bin
}
-sha512sums="4c72c9e9cd9a5d7f89e33c52d117018418ce0f5d23a57341b26ce47c8f90fa55f52a0c976b6959026dc273d5b37aa57306253a9b533172cd133a815edc7bccb4 chromium-77.0.3865.120.tar.xz
+sha512sums="e29312fe5c15eb6888a2e4d7e197c710d53feeecdf4e534c59f3db26973fee13f48880b46a7c3b132bb9989eb617db9c6138b809c3cb762332a9db25ad6d33dc chromium-78.0.3904.97.tar.xz
a3bb959c65944ae2fb765725cedcffd743a58bc0c2cd1f1999d15fe79801d00f3474b08b4ed7b48859ed921eb57093d0ad09d90f201d729ed9b8a419a591ed29 pstables-2.8.h
b9a810416dd7a8ffc3a5ced85ad9acebda1665bd08a57eec7b189698cc5f74d2c3fd69044e20fcb83297a43214b2772a1312b2c6122ea0eb716abacf39524d60 chromium-launcher.sh
f6d962b9e4c22dd42183df3db5d3202dab33eccecafb1bf63ca678147289581262db1e5e64cbe8f9c212beefb0a6717bb8d311e497f56b55fe95b8bab2db493f chromium.conf
@@ -351,10 +351,13 @@ ef31809702ef020e02445ac36857c621cf852dea14c2fdf291ea0700b6fc6d94e3704726a051e95d
95ead57f7338649351948d100e32e5ec1eeadb02bffa136ff15c6c515eceb8013c444be092d777c1b62b945bfb83b97778ba4d3a0ccc2d7c2c9a0a8cd8ee0f01 musl-libc++.patch
5bb41c9a17545e2504cbfd760a1c138897ae9241a03ae0fe54632ddff679c273ec61e80946a4cd70ff79f237d1a442ca9e6ff4d2f5b0f6458db9239de2d1d3d7 musl-sandbox.patch
83b4cc042d501bd94ce953d1bc94361adf9d6f0d1fa71c04c5d3688c0befb81fdb6ccf31e6cab6a22d0057db309b473bc6af75535675c61d167035e36dd1d6c6 no-execinfo.patch
-db7f676d3476820c29f234b1f8f17a74e82b72d67fc727c715307734fd238e3cb0f99d8b5320d45f820b62c01163283c4829caa37afd6a9ca7592a54d3c65819 no-mallinfo.patch
-81c590942e73a62027290684c56030796e4bb953dd5007db787733ba84a505326a65001267b820ac3f44212c7e903c102809961f8e4ad42c57e21c44ad41cfe6 resolver.patch
+396be05301adad9f9c9bb7a807ecb206deef901e4420206f41f74a660a8c0f300a1f210b1d379bed5519cf68bff8ce7c1a9e155651c478e11469c3d253e12155 no-mallinfo.patch
+3e424b9bf8e819e7759a76fe6f849f93e6b83de5c8b47cce21984611a69906a50cb4a498b0e69ef71d3f81f556914e6e5a6803ebfd81b42eb62177c654b10215 resolver.patch
84732900f50799ee8d4c9a572a8703c1cd67c6a3b8f8dcf97f308319dcef6ac3d41ea5ddfb2ef4d695bdebdae691e30d5631a8d04e59b931935ba188b0308a61 swiftshader.patch
7f9b816ff9088f84929dc9853ab8cf0c705ef95fedb9e9c3e85bc50c8befb76e39ecf5e754fa3fc8b34b42397875ec41c0729f880a642262b675ebf79901810a secure_getenv.patch
+8b7e10bca16951fde06da4155d507f2c047e4720b63570af1bbf2d2fd8d02d1d088df2e747fd9700088e6cdf0b23fd84fa86af1c68606506611205f5fbb432ba llvm-remove-unsupported-compiler-warnings.patch
+bd2e937016a2ec3ded9b87ea0bab4683658a7ccad1e445478c9f4343d4a766c6c3b1188337ff556cac7b5f75b640103feba587fc9dbe8d57a402c62ca4d48f84 upstream-dns_util-make-DohUpgradeEntry-non-const.patch
+2ecd3b441ff71ed6373fcd0cef60c105f3b99a4057defb99f3e8bc2fe45ada349ffe6a51e306b5c5d8fdd55dfc570bb0c045024c09c0f4a3375f5a346ff11ac5 upstream-fix-shutdown-crash-in-ProfileManager.patch
50e2c78bc2e7f343ed97d348bbe34350439ede6a15bf8ea1017eb13c391d4718b00a51db9c2eb40d8398d9733bf1925db42011f3bcbdd7d83329b1c7d534032b chromium-use-alpine-target.patch
589a7acf149d44db081da2dd24a7769f2b9572a8cc64d2aad78577a64768d3b6fb2bfa02292b5260acd2c4a28c3ae9b82847ff901ce8a21baeca0b46dcda0ca9 media-base.patch
05c1af43038f76014f5f8b605085310414242f2bfad0e3258ddb29a08e7f4307de31b2d551b0a291986cc7d5a01cf3a003ac864216877195bb4310fd33193f0f musl-crashpad.patch
@@ -363,7 +366,4 @@ db7f676d3476820c29f234b1f8f17a74e82b72d67fc727c715307734fd238e3cb0f99d8b5320d45f
bb0f3dc1ade429a398d487ae190a278948533398c4a1085aeb35ff57fefb90a1e598008ba839423ca0acd30ba4c992950f395dba3b9994d3c7187fe68b9a93d7 gcc-fno-delete-null-pointer-checks.patch
91296fcbdfc4b35899e2af949024c7041d85cc64644cf5fe73c8e46a0523b09d1fb8849f315bd212c1ac25caf57553e933cb4eeb8d1856960441d24b2dd20e27 gcc-arm.patch
3bcffb36f28a01d8bb91f1c1ee1e327caebb1e139d4e8772ad15460ee69cb5ea3307a235dc83184a9e09b687882d9617f3a3ce1a7b07cbd6e11b0a5d6a6ace81 musl-arm-limits.patch
-f0a0fa663fd7a88346d69675a96dfd864364f6ba41d19a5adfbfb0f13fd784b194a60cd2c63edfcc21d6b049628eade690ff803f787dbdd29d84cd8312be4d4a aarch64-fixes.patch
-739eaab1d9e4ab73e9ae79c8315122751ada5a45a716853667b69f0c6d268a580afeef969fff4f64dfdf6574309d0148d338c5850d3e6de2400771685b74c104 one_euro_filter-build-fix.patch
-009261f10d12fad86eb0c1d6b543d2b0c2a9ccca28cb85ea3b4b08c4ecc968df0dc62e18c56ae0d36fce99271ba80e34ba39d2022023c265edf2b71e41d445c8 chromium-77.0.3865.75-harfbuzz-subset.patch
-8dd33aa2ffaff63477e164c744bd40840304939fba97201bc1c221e64e58fd00032095dd83a70c19e9dca3190115b3954ab155b870eacf935b71eb8e4e4a8d35 chromium-77.0.3865.90-linked-hash-set.patch"
+f0a0fa663fd7a88346d69675a96dfd864364f6ba41d19a5adfbfb0f13fd784b194a60cd2c63edfcc21d6b049628eade690ff803f787dbdd29d84cd8312be4d4a aarch64-fixes.patch"
diff --git a/community/chromium/chromium-77.0.3865.75-harfbuzz-subset.patch b/community/chromium/chromium-77.0.3865.75-harfbuzz-subset.patch
deleted file mode 100644
index fff75e76d2..0000000000
--- a/community/chromium/chromium-77.0.3865.75-harfbuzz-subset.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
-Date: Mon, 29 Jul 2019 10:54:28 +0000
-Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true
-
-When building HarfBuzz as part of Chromium, there is a single source set
-with all the files we need in the build.
-
-Upstream HarfBuzz, on the other hand, produces a few different libraries:
-harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is
-true, we were only looking for (and using) harfbuzz.pc with pkg-config even
-though we also use symbols from libharfbuzz-subset.so. This resulted in
-errors when linking:
-
- ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp<SkData>, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)':
- SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail'
- ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set'
- ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids'
- ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints'
- ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset'
- ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy'
-
-as reported in
-https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ
-
-Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288
-Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
-Commit-Queue: Dominik Röttsches <drott@chromium.org>
-Reviewed-by: Dominik Röttsches <drott@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#681760}
----
-
-diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn
-index 37d8e33..72013eb1d 100644
---- ./third_party/harfbuzz-ng/BUILD.gn
-+++ ./third_party/harfbuzz-ng/BUILD.gn
-@@ -16,7 +16,10 @@
- "//third_party:freetype_harfbuzz",
- "//third_party/freetype:freetype_source",
- ]
-- packages = [ "harfbuzz" ]
-+ packages = [
-+ "harfbuzz",
-+ "harfbuzz-subset",
-+ ]
- }
- } else {
- config("harfbuzz_config") {
diff --git a/community/chromium/chromium-77.0.3865.90-linked-hash-set.patch b/community/chromium/chromium-77.0.3865.90-linked-hash-set.patch
deleted file mode 100644
index adb626f6fd..0000000000
--- a/community/chromium/chromium-77.0.3865.90-linked-hash-set.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001
-From: Jeremy Roman <jbroman@chromium.org>
-Date: Wed, 07 Aug 2019 13:26:48 +0000
-Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad.
-
-Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits.
-
-Bug: 980025
-Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948
-Reviewed-by: Kentaro Hara <haraken@chromium.org>
-Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
-Commit-Queue: Jeremy Roman <jbroman@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#684731}
----
-
-diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h
-index 0efc8fb..90063cb 100644
---- ./third_party/blink/renderer/platform/fonts/font_cache_key.h
-+++ ./third_party/blink/renderer/platform/fonts/font_cache_key.h
-@@ -133,6 +133,10 @@
-
- struct FontCacheKeyTraits : WTF::SimpleClassHashTraits<FontCacheKey> {
- STATIC_ONLY(FontCacheKeyTraits);
-+
-+ // std::string's empty state need not be zero in all implementations,
-+ // and it is held within FontFaceCreationParams.
-+ static const bool kEmptyValueIsZero = false;
- };
-
- } // namespace blink
-diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
-index b35b6e9..77e524c 100644
---- ./third_party/blink/renderer/platform/wtf/linked_hash_set.h
-+++ ./third_party/blink/renderer/platform/wtf/linked_hash_set.h
-@@ -146,6 +146,11 @@
- LinkedHashSetNodeBase* next)
- : LinkedHashSetNodeBase(prev, next), value_(value) {}
-
-+ LinkedHashSetNode(ValueArg&& value,
-+ LinkedHashSetNodeBase* prev,
-+ LinkedHashSetNodeBase* next)
-+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {}
-+
- LinkedHashSetNode(LinkedHashSetNode&& other)
- : LinkedHashSetNodeBase(std::move(other)),
- value_(std::move(other.value_)) {}
-@@ -445,10 +450,13 @@
-
- // The slot is empty when the next_ field is zero so it's safe to zero
- // the backing.
-- static const bool kEmptyValueIsZero = true;
-+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero;
-
- static const bool kHasIsEmptyValueFunction = true;
- static bool IsEmptyValue(const Node& node) { return !node.next_; }
-+ static Node EmptyValue() {
-+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr);
-+ }
-
- static const int kDeletedValue = -1;
-
-diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
-index 4c3f899..cd1be00 100644
---- ./third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
-+++ ./third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
-@@ -487,6 +487,7 @@
- };
-
- struct Complicated {
-+ Complicated() : Complicated(0) {}
- Complicated(int value) : simple_(value) { objects_constructed_++; }
-
- Complicated(const Complicated& other) : simple_(other.simple_) {
-@@ -495,9 +496,6 @@
-
- Simple simple_;
- static int objects_constructed_;
--
-- private:
-- Complicated() = delete;
- };
-
- int Complicated::objects_constructed_ = 0;
-@@ -731,4 +729,45 @@
-
- } // anonymous namespace
-
-+// A unit type which objects to its state being initialized wrong.
-+struct InvalidZeroValue {
-+ InvalidZeroValue() = default;
-+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {}
-+ ~InvalidZeroValue() { CHECK(ok_); }
-+ bool IsHashTableDeletedValue() const { return deleted_; }
-+
-+ bool ok_ = true;
-+ bool deleted_ = false;
-+};
-+
-+template <>
-+struct HashTraits<InvalidZeroValue> : SimpleClassHashTraits<InvalidZeroValue> {
-+ static const bool kEmptyValueIsZero = false;
-+};
-+
-+template <>
-+struct DefaultHash<InvalidZeroValue> {
-+ struct Hash {
-+ static unsigned GetHash(const InvalidZeroValue&) { return 0; }
-+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) {
-+ return true;
-+ }
-+ };
-+};
-+
-+template <typename Set>
-+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {};
-+
-+using InvalidZeroValueSetTypes =
-+ testing::Types<ListHashSet<InvalidZeroValue>,
-+ ListHashSet<InvalidZeroValue, 1>,
-+ LinkedHashSet<InvalidZeroValue>>;
-+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes);
-+
-+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) {
-+ using Set = TypeParam;
-+ Set set;
-+ set.insert(InvalidZeroValue());
-+}
-+
- } // namespace WTF
diff --git a/community/chromium/llvm-remove-unsupported-compiler-warnings.patch b/community/chromium/llvm-remove-unsupported-compiler-warnings.patch
new file mode 100644
index 0000000000..4de8aea9f5
--- /dev/null
+++ b/community/chromium/llvm-remove-unsupported-compiler-warnings.patch
@@ -0,0 +1,40 @@
+--- build/config/compiler/BUILD.gn 2019-10-24 11:01:40.459910040 -0400
++++ build/config/compiler/BUILD.gn 2019-10-24 11:04:19.690063743 -0400
+@@ -1492,37 +1492,6 @@
+ # Currently goma can not handle case sensitiveness for windows well.
+ cflags += [ "-Wno-nonportable-include-path" ]
+ }
+-
+- if (current_toolchain == host_toolchain || !use_xcode_clang) {
+- # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
+- # recognize.
+- cflags += [
+- # Ignore warnings about MSVC optimization pragmas.
+- # TODO(thakis): Only for no_chromium_code? http://crbug.com/912662
+- "-Wno-ignored-pragma-optimize",
+-
+- # TODO(https://crbug.com/989932): Evaluate and possibly enable.
+- "-Wno-implicit-int-float-conversion",
+-
+- # TODO(https://crbug.com/995200): Clean up and enable.
+- "-Wno-xor-used-as-pow",
+-
+- # TODO(https://crbug.com/999871): Decide if we want to clean up the
+- # codebase or just disable this. Doesn't seem super useful, but
+- # also fires in only 4 files.
+- "-Wno-c99-designator",
+-
+- # This is a side effect of -Wc99-designator; easier to clean up.
+- "-Wno-reorder-init-list",
+-
+- # TODO(https://crbug.com/999886): Clean up, enable.
+- "-Wno-final-dtor-non-final-class",
+- ]
+- cflags_c += [
+- # TODO(https://crbug.com/995993): Clean up and enable.
+- "-Wno-implicit-fallthrough",
+- ]
+- }
+ }
+ }
+ }
diff --git a/community/chromium/no-mallinfo.patch b/community/chromium/no-mallinfo.patch
index 2c2112d056..0045bd4bd0 100644
--- a/community/chromium/no-mallinfo.patch
+++ b/community/chromium/no-mallinfo.patch
@@ -13,20 +13,23 @@ diff --git a/base/process/process_metrics_posix.cc b/base/process/process_metric
index 0eb5c1f..8af7799 100644
--- base/process/process_metrics_posix.cc
+++ base/process/process_metrics_posix.cc
-@@ -94,14 +94,14 @@ size_t ProcessMetrics::GetMallocUsage() {
+@@ -110,17 +110,16 @@
malloc_statistics_t stats = {0};
malloc_zone_statistics(nullptr, &stats);
return stats.size_in_use;
-#elif defined(OS_LINUX) || defined(OS_ANDROID)
+#elif defined(__GLIBC__) || defined(OS_ANDROID)
struct mallinfo minfo = mallinfo();
- #if defined(USE_TCMALLOC)
+ #if BUILDFLAG(USE_TCMALLOC)
return minfo.uordblks;
#else
return minfo.hblkhd + minfo.arena;
#endif
-#elif defined(OS_FUCHSIA)
-+#else
++#endif
// TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
return 0;
- #endif
+-#endif
+ }
+
+ } // namespace base
diff --git a/community/chromium/one_euro_filter-build-fix.patch b/community/chromium/one_euro_filter-build-fix.patch
deleted file mode 100644
index 827358ed57..0000000000
--- a/community/chromium/one_euro_filter-build-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/third_party/one_euro_filter/src/one_euro_filter.h b/third_party/one_euro_filter/src/one_euro_filter.h
-index 7f8d15b..a8cd0ab 100644
---- ./third_party/one_euro_filter/src/one_euro_filter.h
-+++ ./third_party/one_euro_filter/src/one_euro_filter.h
-@@ -1,6 +1,8 @@
- #ifndef ONE_EURO_ONE_EURO_FILTER_H_
- #define ONE_EURO_ONE_EURO_FILTER_H_
-
-+#include <memory>
-+
- #include "low_pass_filter.h"
-
- namespace one_euro_filter {
diff --git a/community/chromium/resolver.patch b/community/chromium/resolver.patch
index da9028f6c7..bcf32995cf 100644
--- a/community/chromium/resolver.patch
+++ b/community/chromium/resolver.patch
@@ -16,13 +16,13 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
index 3c75dde..c748d94 100644
--- ./net/dns/host_resolver_manager.cc
+++ ./net/dns/host_resolver_manager.cc
-@@ -2266,8 +2266,7 @@ HostResolverManager::HostResolverManager(const Options& options,
- NetworkChangeNotifier::AddIPAddressObserver(this);
+@@ -2386,8 +2386,7 @@ HostResolverManager::HostResolverManager(const Options& options,
NetworkChangeNotifier::AddConnectionTypeObserver(this);
- NetworkChangeNotifier::AddDNSObserver(this);
+ if (system_dns_config_notifier_)
+ system_dns_config_notifier_->AddObserver(this);
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
- !defined(OS_ANDROID)
-+#if defined(__GLIBC__)
++#if defined(OS_POSIX) && defined(__GLIBC__)
EnsureDnsReloaderInit();
#endif
@@ -40,3 +40,5 @@ index 90d9958..71d9b4a 100644
DnsReloaderMaybeReload();
#endif
int err = getaddrinfo(host.c_str(), nullptr, &hints, &ai);
+--- ./net/dns/host_resolver_manager.cc.orig
++++ ./net/dns/host_resolver_manager.cc
diff --git a/community/chromium/upstream-dns_util-make-DohUpgradeEntry-non-const.patch b/community/chromium/upstream-dns_util-make-DohUpgradeEntry-non-const.patch
new file mode 100644
index 0000000000..4fa4bedc1f
--- /dev/null
+++ b/community/chromium/upstream-dns_util-make-DohUpgradeEntry-non-const.patch
@@ -0,0 +1,86 @@
+From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Date: Mon, 16 Sep 2019 17:05:42 +0000
+Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with
+ std::vector<>
+
+This fixes the build with libstdc++ (with most other standard libraries
+other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH
+during automatic mode"):
+
+../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same<typename remove_cv<const DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type"
+ static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
+ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >' requested here
+ alignas(T) char storage_[sizeof(T)];
+ ^
+../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor<std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> > >' requested here
+ upgradable_servers({
+ ^
+../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin' function available
+ for (const auto& upgrade_entry : upgradable_servers) {
+ ^ ~~~~~~~~~~~~~~~~~~
+
+The C++ standard forbids containers of const elements. Callers of
+GetDohUpgradeList() use it in a safe way anyway, and most of
+DohUpgradeEntry's members are const.
+
+Bug: 957519
+Change-Id: I826a51823edb1184c0fae27105101e2894efe568
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Commit-Queue: Eric Orth <ericorth@chromium.org>
+Reviewed-by: Eric Orth <ericorth@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#696834}
+---
+ net/dns/dns_util.cc | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
+index d83ff7c150..14997c48b2 100644
+--- net/dns/dns_util.cc
++++ net/dns/dns_util.cc
+@@ -139,11 +139,11 @@ struct DohUpgradeEntry {
+ const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
+ };
+
+-const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
++const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
+ // The provider names in these entries should be kept in sync with the
+ // DohProviderId histogram suffix list in
+ // tools/metrics/histograms/histograms.xml.
+- static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
++ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
+ upgradable_servers({
+ DohUpgradeEntry(
+ "CleanBrowsingAdult",
+@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
+ std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
+ const std::vector<IPEndPoint>& dns_servers,
+ const std::vector<std::string>& excluded_providers) {
+- const std::vector<const DohUpgradeEntry>& upgradable_servers =
+- GetDohUpgradeList();
++ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
+ std::vector<const DohUpgradeEntry*> entries;
+
+ for (const auto& server : dns_servers) {
+@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig>
+ GetDohUpgradeServersFromDotHostname(
+ const std::string& dot_server,
+ const std::vector<std::string>& excluded_providers) {
+- const std::vector<const DohUpgradeEntry>& upgradable_servers =
+- GetDohUpgradeList();
++ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
+ std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers;
+
+ if (dot_server.empty())
+@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers(
+
+ std::string GetDohProviderIdForHistogramFromDohConfig(
+ const DnsConfig::DnsOverHttpsServerConfig& doh_server) {
+- const std::vector<const DohUpgradeEntry>& upgradable_servers =
+- GetDohUpgradeList();
++ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
+ for (const auto& upgrade_entry : upgradable_servers) {
+ if (doh_server.server_template ==
+ upgrade_entry.dns_over_https_config.server_template) {
diff --git a/community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch b/community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch
new file mode 100644
index 0000000000..553ca34a7d
--- /dev/null
+++ b/community/chromium/upstream-fix-shutdown-crash-in-ProfileManager.patch
@@ -0,0 +1,45 @@
+From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
+From: Evan Stade <estade@chromium.org>
+Date: Wed, 16 Oct 2019 16:01:32 +0000
+Subject: [PATCH] Fix shutdown crash in ProfileManager.
+
+OnProfileMarkedForPermanentDeletion should move from
+ProfileManagerObserver to ProfileObserver, which would also
+fix this bug. However, changing the order of members is the
+quickest and most cherry-pick-able way to avoid the crash.
+
+Bug: 1005244
+Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863518
+Auto-Submit: Evan Stade <estade@chromium.org>
+Reviewed-by: David Roger <droger@chromium.org>
+Commit-Queue: Evan Stade <estade@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#706467}
+---
+ chrome/browser/profiles/profile_manager.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
+index b60df76d59..7d02af7f8f 100644
+--- chrome/browser/profiles/profile_manager.h
++++ chrome/browser/profiles/profile_manager.h
+@@ -410,6 +410,10 @@ class ProfileManager : public content::NotificationObserver,
+ const base::FilePath& profile_dir);
+ #endif // !defined(OS_ANDROID)
+
++ // Destroy after |profile_info_cache_| since Profile destruction may trigger
++ // some observers to unregister themselves.
++ base::ObserverList<ProfileManagerObserver> observers_;
++
+ // Object to cache various information about profiles. Contains information
+ // about every profile which has been created for this instance of Chrome,
+ // if it has not been explicitly deleted. It must be destroyed after
+@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver,
+ // Controls whether to initialize some services. Only disabled for testing.
+ bool do_final_services_init_ = true;
+
+- base::ObserverList<ProfileManagerObserver> observers_;
+-
+ // TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc
+ // should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for
+ // consistency with surrounding code in the same file but that wasn't trivial