aboutsummaryrefslogtreecommitdiffstats
path: root/chromium
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2020-02-09 15:59:49 +0800
committerTing-Wei Lan <lantw44@gmail.com>2020-02-09 15:59:49 +0800
commit1d3cc4fbf7abc276f7c11202e124116e94a8de8f (patch)
treee4838ad6b5b6d605327cf3577802998a0f09799c /chromium
parent031be8a41f727fadee01db827c8da9223d5a2186 (diff)
downloadcopr-rpm-spec-1d3cc4fbf7abc276f7c11202e124116e94a8de8f.tar
copr-rpm-spec-1d3cc4fbf7abc276f7c11202e124116e94a8de8f.tar.gz
copr-rpm-spec-1d3cc4fbf7abc276f7c11202e124116e94a8de8f.tar.bz2
copr-rpm-spec-1d3cc4fbf7abc276f7c11202e124116e94a8de8f.tar.lz
copr-rpm-spec-1d3cc4fbf7abc276f7c11202e124116e94a8de8f.tar.xz
copr-rpm-spec-1d3cc4fbf7abc276f7c11202e124116e94a8de8f.tar.zst
copr-rpm-spec-1d3cc4fbf7abc276f7c11202e124116e94a8de8f.zip
chromium: Chromium 79.0.3945.130 -> 80.0.3987.87
Diffstat (limited to 'chromium')
-rwxr-xr-xchromium/chromium/chromium-ffmpeg-clean.sh3
-rw-r--r--chromium/chromium/chromium-fix-use_system_harfbuzz-ng.patch44
-rw-r--r--chromium/chromium/chromium-gcc9-blink.patch45
-rw-r--r--chromium/chromium/chromium-gcc9-permissive.patch33
-rw-r--r--chromium/chromium/chromium-gcc9-r707329.patch86
-rw-r--r--chromium/chromium/chromium-gcc9-r709411.patch39
-rw-r--r--chromium/chromium/chromium-gcc9-r709469.patch99
-rw-r--r--chromium/chromium/chromium-gcc9-r709472.patch52
-rw-r--r--chromium/chromium/chromium-gcc9-r709569.patch47
-rw-r--r--chromium/chromium/chromium-gcc9-r723499.patch38
-rw-r--r--chromium/chromium/chromium-gcc9-r725070.patch240
-rw-r--r--chromium/chromium/chromium-gcc9-r732437.patch37
-rw-r--r--chromium/chromium/chromium-quiche-gcc9.patch38
-rw-r--r--chromium/chromium/chromium-unbundle-libxml.patch130
-rw-r--r--chromium/chromium/chromium.spec32
15 files changed, 581 insertions, 382 deletions
diff --git a/chromium/chromium/chromium-ffmpeg-clean.sh b/chromium/chromium/chromium-ffmpeg-clean.sh
index f197328..3f85ee4 100755
--- a/chromium/chromium/chromium-ffmpeg-clean.sh
+++ b/chromium/chromium/chromium-ffmpeg-clean.sh
@@ -111,6 +111,7 @@ header_files=" libavcodec/x86/inline_asm.h \
libavcodec/mdct15.c \
libavcodec/mdct15.h \
libavcodec/me_cmp.h \
+ libavcodec/mlp_parse.h \
libavcodec/motion_est.h \
libavcodec/mpeg12.h \
libavcodec/mpeg12data.h \
@@ -210,6 +211,7 @@ header_files=" libavcodec/x86/inline_asm.h \
libavutil/thread.h \
libavutil/timer.h \
libavutil/timestamp.h \
+ libavutil/tx_priv.h \
libavutil/version.h \
libswresample/swresample.h \
libswresample/version.h \
@@ -260,6 +262,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \
libavutil/fixed_dsp.c \
libavutil/float_dsp.c \
libavutil/imgutils.c \
+ libavutil/tx_template.c \
libavutil/x86/cpu.c \
libavutil/x86/float_dsp_init.c \
libavutil/x86/x86inc.asm \
diff --git a/chromium/chromium/chromium-fix-use_system_harfbuzz-ng.patch b/chromium/chromium/chromium-fix-use_system_harfbuzz-ng.patch
deleted file mode 100644
index 383aa0a..0000000
--- a/chromium/chromium/chromium-fix-use_system_harfbuzz-ng.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ea7a9bad96f921da314ab8d171b1e22ad19d49a7 Mon Sep 17 00:00:00 2001
-From: ckitagawa <ckitagawa@chromium.org>
-Date: Tue, 22 Oct 2019 14:31:41 +0000
-Subject: [PATCH] [Build] fix use_system_harfbuzz-ng
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Use <> for harfbuzz includes to support the option to build with system
-harfbuzz rather than the version in third_party.
-
-Bug: 1016158
-Change-Id: I8a85e928c010ca65e04b5ebc4909a051b4312672
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1873236
-Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
-Commit-Queue: Dominik Röttsches <drott@chromium.org>
-Reviewed-by: Dominik Röttsches <drott@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#708176}
----
- components/paint_preview/common/subset_font.cc | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
-index a218d6373350..287f5600ce9b 100644
---- a/components/paint_preview/common/subset_font.cc
-+++ b/components/paint_preview/common/subset_font.cc
-@@ -7,11 +7,12 @@
- #include <memory>
- #include <utility>
-
-+#include <hb-subset.h>
-+#include <hb.h>
-+
- #include "base/bind.h"
- #include "base/callback.h"
- #include "base/macros.h"
--#include "third_party/harfbuzz-ng/src/src/hb-subset.h"
--#include "third_party/harfbuzz-ng/src/src/hb.h"
- #include "third_party/skia/include/core/SkStream.h"
- #include "third_party/skia/include/core/SkTypeface.h"
-
---
-2.23.0
-
diff --git a/chromium/chromium/chromium-gcc9-blink.patch b/chromium/chromium/chromium-gcc9-blink.patch
new file mode 100644
index 0000000..2118b46
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-blink.patch
@@ -0,0 +1,45 @@
+../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc: In member function 'void blink::DeleteSelectionCommand::InitializePositionData(blink::EditingState*)':
+../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:256:59: error: no matching function for call to 'EnclosingNodeOfType(blink::Position&, <unresolved overloaded function type>)'
+ 256 | EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
+ | ^
+In file included from ../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:34:
+../../third_party/blink/renderer/core/editing/editing_utilities.h:112:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const Position&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
+ 112 | CORE_EXPORT Node* EnclosingNodeOfType(
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:114:12: note: no known conversion for argument 2 from '<unresolved overloaded function type>' to 'bool (*)(const blink::Node*)'
+ 114 | bool (*node_is_of_type)(const Node*),
+ | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:116:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const PositionInFlatTree&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
+ 116 | CORE_EXPORT Node* EnclosingNodeOfType(
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:117:5: note: no known conversion for argument 1 from 'blink::Position' {aka 'blink::PositionTemplate<blink::EditingAlgorithm<blink::NodeTraversal> >'} to 'const PositionInFlatTree&' {aka 'const blink::PositionTemplate<blink::EditingAlgorithm<blink::FlatTreeTraversal> >&'}
+ 117 | const PositionInFlatTree&,
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+diff --git a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
+index 6ff6906..dd531ae 100644
+--- a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
++++ b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
+@@ -224,6 +224,10 @@ static Position TrailingWhitespacePosition(const Position& position,
+ return Position();
+ }
+
++static bool IsAHTMLTableRowElement(const Node* node) {
++ return IsA<HTMLTableRowElement>(node);
++}
++
+ void DeleteSelectionCommand::InitializePositionData(
+ EditingState* editing_state) {
+ DCHECK(!GetDocument().NeedsLayoutTreeUpdate());
+@@ -253,9 +257,9 @@ void DeleteSelectionCommand::InitializePositionData(
+ end_root_ = RootEditableElementOf(end);
+
+ start_table_row_ = To<HTMLTableRowElement>(
+- EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
++ EnclosingNodeOfType(start, &IsAHTMLTableRowElement));
+ end_table_row_ = To<HTMLTableRowElement>(
+- EnclosingNodeOfType(end, &IsA<HTMLTableRowElement>));
++ EnclosingNodeOfType(end, &IsAHTMLTableRowElement));
+
+ // Don't move content out of a table cell.
+ // If the cell is non-editable, enclosingNodeOfType won't return it by
diff --git a/chromium/chromium/chromium-gcc9-permissive.patch b/chromium/chromium/chromium-gcc9-permissive.patch
new file mode 100644
index 0000000..c7aef49
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-permissive.patch
@@ -0,0 +1,33 @@
+In file included from ../../media/base/media_log_properties.h:13,
+ from ../../media/base/media_log.h:23,
+ from ../../media/filters/frame_processor.h:15,
+ from ../../media/filters/frame_processor.cc:5:
+../../media/base/media_log_properties_helper.h:86:8: error: extra qualification not allowed [-fpermissive]
+ 86 | struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ | ^~~~~~~~
+../../media/base/media_log_properties_helper.h:86:75: error: explicit specialization of non-template 'media::internal::<unnamed struct>'
+ 86 | struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ | ^
+
+diff --git a/media/base/media_log_properties_helper.h b/media/base/media_log_properties_helper.h
+index 95ff70a..549b003 100644
+--- a/media/base/media_log_properties_helper.h
++++ b/media/base/media_log_properties_helper.h
+@@ -83,7 +83,7 @@ struct MediaLogPropertyTypeConverter<std::vector<T>> {
+
+ // Specializer for sending AudioDecoderConfigs to the media tab in devtools.
+ template <>
+-struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
++struct MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ static base::Value Convert(const AudioDecoderConfig& value) {
+ base::Value result(base::Value::Type::DICTIONARY);
+ result.SetStringKey("codec", GetCodecName(value.codec()));
+@@ -114,7 +114,7 @@ struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+
+ // Specializer for sending VideoDecoderConfigs to the media tab in devtools.
+ template <>
+-struct internal::MediaLogPropertyTypeConverter<VideoDecoderConfig> {
++struct MediaLogPropertyTypeConverter<VideoDecoderConfig> {
+ static base::Value Convert(const VideoDecoderConfig& value) {
+ base::Value result(base::Value::Type::DICTIONARY);
+ result.SetStringKey("codec", GetCodecName(value.codec()));
diff --git a/chromium/chromium/chromium-gcc9-r707329.patch b/chromium/chromium/chromium-gcc9-r707329.patch
deleted file mode 100644
index 4e5f4c5..0000000
--- a/chromium/chromium/chromium-gcc9-r707329.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 528e9a3e1f25bd264549c4c7779748abfd16bb1c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan=20Wilken=20D=C3=B6rrie?= <jdoerrie@chromium.org>
-Date: Fri, 18 Oct 2019 11:45:24 +0000
-Subject: [PATCH] Reland "GCC: Fix base::internal::InvokeFuncImpl"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is a reland of 9293d5c86eec1c34fc00716645400b44a14e764e
-
-Original change's description:
-> GCC: Fix base::internal::InvokeFuncImpl
->
-> GCC doesn't like that the Value data member has no out-of-line
-> definition. The problem is triggered specifically only when compiling
->
-> components/services/leveldb/leveldb_database_impl.cc
->
-> which has lambda functions returning locally-defined classes.
->
-> The current code works as-is in C++17 mode which introduces the concept
-> of inline variables, but in C++14 we need either an explicit out-of-line
-> definition or a function member instead of a data member.
->
-> Use std::integral_constant for defining the value.
->
-> Bug: 819294
-> Change-Id: I5c68e14ce3fa9d8b4d8a2cb42d7f9b53938aabf3
-> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1862451
-> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
-> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
-> Commit-Queue: Jüri Valdmann <juri.valdmann@qt.io>
-> Cr-Commit-Position: refs/heads/master@{#706384}
-
-Bug: 819294
-Change-Id: I3d5a52ddc6815516e2239f9347c60de06bf765a2
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865212
-Reviewed-by: Daniel Cheng <dcheng@chromium.org>
-Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#707329}
----
- base/bind.h | 18 ++++++++----------
- 1 file changed, 8 insertions(+), 10 deletions(-)
-
-diff --git a/base/bind.h b/base/bind.h
-index 7a400af63fa5..1070ce6d5a8b 100644
---- a/base/bind.h
-+++ b/base/bind.h
-@@ -187,18 +187,15 @@ using MakeUnwrappedTypeList =
- // well-formed. Using `Invoker::Run` with a OnceCallback triggers a
- // static_assert, which is why the ternary expression does not compile.
- // TODO(crbug.com/752720): Remove this indirection once we have `if constexpr`.
--template <bool is_once, typename Invoker>
--struct InvokeFuncImpl;
--
- template <typename Invoker>
--struct InvokeFuncImpl<true, Invoker> {
-- static constexpr auto Value = &Invoker::RunOnce;
--};
-+constexpr auto GetInvokeFunc(std::true_type) {
-+ return Invoker::RunOnce;
-+}
-
- template <typename Invoker>
--struct InvokeFuncImpl<false, Invoker> {
-- static constexpr auto Value = &Invoker::Run;
--};
-+constexpr auto GetInvokeFunc(std::false_type) {
-+ return Invoker::Run;
-+}
-
- template <template <typename> class CallbackT,
- typename Functor,
-@@ -229,7 +226,8 @@ decltype(auto) BindImpl(Functor&& functor, Args&&... args) {
- // InvokeFuncStorage, so that we can ensure its type matches to
- // PolymorphicInvoke, to which CallbackType will cast back.
- using PolymorphicInvoke = typename CallbackType::PolymorphicInvoke;
-- PolymorphicInvoke invoke_func = InvokeFuncImpl<kIsOnce, Invoker>::Value;
-+ PolymorphicInvoke invoke_func =
-+ GetInvokeFunc<Invoker>(std::integral_constant<bool, kIsOnce>());
-
- using InvokeFuncStorage = internal::BindStateBase::InvokeFuncStorage;
- return CallbackType(BindState::Create(
---
-2.23.0
-
diff --git a/chromium/chromium/chromium-gcc9-r709411.patch b/chromium/chromium/chromium-gcc9-r709411.patch
deleted file mode 100644
index fa62088..0000000
--- a/chromium/chromium/chromium-gcc9-r709411.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Fri, 25 Oct 2019 09:27:53 +0000
-Subject: [PATCH] IWYU: launch_manager.h uses std::vector
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Add #include <vector> for using std::vector. This fixes GCC build.
-
-./../chrome/browser/apps/launch_service/launch_manager.h:46:15: error: ‘vector’ in namespace ‘std’ does not name a template type
- static std::vector<base::FilePath> GetLaunchFilesFromCommandLine(
- ^~~~~~
-
-Bug: 819294
-Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289
-Reviewed-by: Alexey Baskakov <loyso@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#709411}
----
- chrome/browser/apps/launch_service/launch_manager.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/chrome/browser/apps/launch_service/launch_manager.h b/chrome/browser/apps/launch_service/launch_manager.h
-index 00aeb9d9c2a5..76570ead0f9d 100644
---- a/chrome/browser/apps/launch_service/launch_manager.h
-+++ b/chrome/browser/apps/launch_service/launch_manager.h
-@@ -6,6 +6,7 @@
- #define CHROME_BROWSER_APPS_LAUNCH_SERVICE_LAUNCH_MANAGER_H_
-
- #include <string>
-+#include <vector>
-
- #include "base/macros.h"
-
---
-2.23.0
-
diff --git a/chromium/chromium/chromium-gcc9-r709469.patch b/chromium/chromium/chromium-gcc9-r709469.patch
deleted file mode 100644
index 0ef1d76..0000000
--- a/chromium/chromium/chromium-gcc9-r709469.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From e925deab264e5ebc3c5c13415aa3d44a746e8d45 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Fri, 25 Oct 2019 14:53:51 +0000
-Subject: [PATCH] GCC: avoid clash of WebThemeEngine::ForcedColors with
- ForcedColors enum class
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-GCC fails to build because the declaration of the enum class ForcedColors
-clashes with the GetForcedColors method.
-
-Bug: 819294
-Change-Id: I5c7647978d15c771f5372a8c70ac6aeb2284fb2f
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879452
-Reviewed-by: Kentaro Hara <haraken@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#709469}
----
- content/child/webthemeengine_impl_android.cc | 2 +-
- content/child/webthemeengine_impl_android.h | 2 +-
- content/child/webthemeengine_impl_default.cc | 2 +-
- content/child/webthemeengine_impl_default.h | 2 +-
- content/child/webthemeengine_impl_mac.cc | 2 +-
- content/child/webthemeengine_impl_mac.h | 2 +-
- third_party/blink/public/platform/web_theme_engine.h | 2 +-
- third_party/blink/renderer/core/css/media_values.cc | 2 +-
- third_party/blink/renderer/core/css/style_engine.cc | 4 ++--
- third_party/blink/renderer/core/dom/document.cc | 2 +-
- .../blink/renderer/core/testing/color_scheme_helper.cc | 2 +-
- 11 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/content/child/webthemeengine_impl_default.cc b/content/child/webthemeengine_impl_default.cc
-index bf8bd544d8f1..a126964b3e81 100644
---- a/content/child/webthemeengine_impl_default.cc
-+++ b/content/child/webthemeengine_impl_default.cc
-@@ -232,7 +232,7 @@ void WebThemeEngineDefault::cacheScrollBarMetrics(
- }
- #endif
-
--blink::ForcedColors WebThemeEngineDefault::ForcedColors() const {
-+blink::ForcedColors WebThemeEngineDefault::GetForcedColors() const {
- return ui::NativeTheme::GetInstanceForWeb()->UsesHighContrastColors()
- ? blink::ForcedColors::kActive
- : blink::ForcedColors::kNone;
-diff --git a/content/child/webthemeengine_impl_default.h b/content/child/webthemeengine_impl_default.h
-index 181223b8856f..755a6d8afe32 100644
---- a/content/child/webthemeengine_impl_default.h
-+++ b/content/child/webthemeengine_impl_default.h
-@@ -39,7 +39,7 @@ class WebThemeEngineDefault : public blink::WebThemeEngine {
- int32_t vertical_arrow_bitmap_height,
- int32_t horizontal_arrow_bitmap_width);
- #endif
-- blink::ForcedColors ForcedColors() const override;
-+ blink::ForcedColors GetForcedColors() const override;
- void SetForcedColors(const blink::ForcedColors forced_colors) override;
- };
-
-diff --git a/third_party/blink/public/platform/web_theme_engine.h b/third_party/blink/public/platform/web_theme_engine.h
-index 2b55c0b0bafa..8fba3f2f83ea 100644
---- a/third_party/blink/public/platform/web_theme_engine.h
-+++ b/third_party/blink/public/platform/web_theme_engine.h
-@@ -226,7 +226,7 @@ class WebThemeEngine {
- return base::nullopt;
- }
-
-- virtual ForcedColors ForcedColors() const { return ForcedColors::kNone; }
-+ virtual ForcedColors GetForcedColors() const { return ForcedColors::kNone; }
- virtual void SetForcedColors(const blink::ForcedColors forced_colors) {}
- };
-
-diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/blink/renderer/core/css/media_values.cc
-index 045d7937d148..f7c0484a11e3 100644
---- a/third_party/blink/renderer/core/css/media_values.cc
-+++ b/third_party/blink/renderer/core/css/media_values.cc
-@@ -221,7 +221,7 @@ bool MediaValues::CalculatePrefersReducedMotion(LocalFrame* frame) {
-
- ForcedColors MediaValues::CalculateForcedColors() {
- if (Platform::Current() && Platform::Current()->ThemeEngine())
-- return Platform::Current()->ThemeEngine()->ForcedColors();
-+ return Platform::Current()->ThemeEngine()->GetForcedColors();
- else
- return ForcedColors::kNone;
- }
-diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
-index fe3647ab4263..7d406ccb38f3 100644
---- a/third_party/blink/renderer/core/dom/document.cc
-+++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -8624,7 +8624,7 @@ void Document::ColorSchemeChanged() {
- bool Document::InForcedColorsMode() const {
- return RuntimeEnabledFeatures::ForcedColorsEnabled() && Platform::Current() &&
- Platform::Current()->ThemeEngine() &&
-- Platform::Current()->ThemeEngine()->ForcedColors() !=
-+ Platform::Current()->ThemeEngine()->GetForcedColors() !=
- ForcedColors::kNone;
- }
-
---
-2.23.0
diff --git a/chromium/chromium/chromium-gcc9-r709472.patch b/chromium/chromium/chromium-gcc9-r709472.patch
deleted file mode 100644
index 617780f..0000000
--- a/chromium/chromium/chromium-gcc9-r709472.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Fri, 25 Oct 2019 15:07:09 +0000
-Subject: [PATCH] IWYU: include algorithm to use std::lower_bound in
- ui/gfx/font.cc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fix GCC build because of missing include:
-../../ui/gfx/font.cc: In function ‘gfx::Font::Weight gfx::FontWeightFromInt(int)’:
-../../ui/gfx/font.cc:114:8: error: no matching function for call to ‘lower_bound(const gfx::Font::Weight*, const gfx::Font::Weight*, int&, gfx::FontWeightFromInt(int)::<lambda(const gfx::Font::Weight&, const int&)>)’
- });
- ^
-In file included from /usr/include/c++/8/bits/char_traits.h:39,
- from /usr/include/c++/8/string:40,
- from ../../ui/gfx/font.h:8,
- from ../../ui/gfx/font.cc:5:
-/usr/include/c++/8/bits/stl_algobase.h:984:5: note: candidate: ‘template<class _ForwardIterator, class _Tp> _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&)’
- lower_bound(_ForwardIterator __first, _ForwardIterator __last,
- ^~~~~~~~~~~
-/usr/include/c++/8/bits/stl_algobase.h:984:5: note: template argument deduction/substitution failed:
-../../ui/gfx/font.cc:114:8: note: candidate expects 3 arguments, 4 provided
- });
- ^
-
-Bug: 819294
-Change-Id: Ic59dcf3a06bdd54d1d426c08a61624873a0ff30c
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879909
-Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
-Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#709472}
----
- ui/gfx/font.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/ui/gfx/font.cc b/ui/gfx/font.cc
-index 21367fd72976..92b159e13d10 100644
---- a/ui/gfx/font.cc
-+++ b/ui/gfx/font.cc
-@@ -4,6 +4,8 @@
-
- #include "ui/gfx/font.h"
-
-+#include <algorithm>
-+
- #include "base/strings/utf_string_conversions.h"
- #include "build/build_config.h"
- #include "ui/gfx/platform_font.h"
---
-2.23.0
-
diff --git a/chromium/chromium/chromium-gcc9-r709569.patch b/chromium/chromium/chromium-gcc9-r709569.patch
deleted file mode 100644
index 32efff7..0000000
--- a/chromium/chromium/chromium-gcc9-r709569.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From af77dc4014ead3d898fdc8a7a70fe5063ac9b102 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Fri, 25 Oct 2019 19:01:29 +0000
-Subject: [PATCH] GCC: use brace-initializer for DohUpgrade vector
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Constructing NoDestructor with parenthesis constructor is ambiguous
-in GCC. Use brace-initializer to avoid that problem. This fixes this
-build error:
-
-Bug: 819294
-Change-Id: I00dda42daa1794d11e022f26ac07f92e599d106d
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879910
-Reviewed-by: Eric Orth <ericorth@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#709569}
----
- net/dns/dns_util.cc | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
-index 14997c48b23c..637b6f2bb8d3 100644
---- a/net/dns/dns_util.cc
-+++ b/net/dns/dns_util.cc
-@@ -144,7 +144,7 @@ const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
- // DohProviderId histogram suffix list in
- // tools/metrics/histograms/histograms.xml.
- static const base::NoDestructor<std::vector<DohUpgradeEntry>>
-- upgradable_servers({
-+ upgradable_servers{{
- DohUpgradeEntry(
- "CleanBrowsingAdult",
- {"185.228.168.10", "185.228.169.11", "2a0d:2a00:1::1",
-@@ -215,7 +215,7 @@ const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
- {"9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9"},
- {"dns.quad9.net", "dns9.quad9.net"} /* DoT hostname */,
- {"https://dns.quad9.net/dns-query", true /* use_post */}),
-- });
-+ }};
- return *upgradable_servers;
- }
-
---
-2.23.0
-
diff --git a/chromium/chromium/chromium-gcc9-r723499.patch b/chromium/chromium/chromium-gcc9-r723499.patch
new file mode 100644
index 0000000..5c620a7
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r723499.patch
@@ -0,0 +1,38 @@
+From 8273f4d3130e06fd8b6bef87b07c936304b971d9 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Date: Tue, 10 Dec 2019 20:59:57 +0000
+Subject: [PATCH] [cros search service]: Include <cmath> for std::pow()
+
+IWYU. Follow up to commit 2b2ea3c09b ("[cros search service] Move shared
+string matching functions to //chrome"), which broke the libstdc++ build:
+
+ ../../chrome/common/string_matching/fuzzy_tokenized_string_match.cc:199:14: error: no member named 'pow' in namespace 'std'
+ std::pow(partial_match_penalty_rate, long_start - current - 1);
+ ~~~~~^
+
+Bug: 957519
+Change-Id: I66f61cb4f93cfa0bfa3d1b00ba391ddd8f31a7fb
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960310
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Reviewed-by: Jia Meng <jiameng@chromium.org>
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Cr-Commit-Position: refs/heads/master@{#723499}
+---
+ chrome/common/string_matching/fuzzy_tokenized_string_match.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+index 8351fa701e4d..884ef638c61c 100644
+--- a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
++++ b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+@@ -5,6 +5,7 @@
+ #include "chrome/common/string_matching/fuzzy_tokenized_string_match.h"
+
+ #include <algorithm>
++#include <cmath>
+ #include <iterator>
+
+ #include "base/i18n/case_conversion.h"
+--
+2.24.1
+
diff --git a/chromium/chromium/chromium-gcc9-r725070.patch b/chromium/chromium/chromium-gcc9-r725070.patch
new file mode 100644
index 0000000..ba57aca
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r725070.patch
@@ -0,0 +1,240 @@
+From cdf3e81ff49b200213d67d65558f2919222b60ab Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Date: Mon, 16 Dec 2019 11:39:11 +0000
+Subject: [PATCH] BookmarkModelMerger: Move RemoteTreeNode declaration to
+ header.
+
+This fixes the build with libstdc++ after commit 8f5dad93e58 ("Fix CHECK
+failure due to untracked local nodes"):
+
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/stl_pair.h:215:11: error: field has incomplete type 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
+ _T2 second; /// @c second is a copy of the second object
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/ext/aligned_buffer.h:91:28: note: in instantiation of template class 'std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>' requested here
+ : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:233:43: note: in instantiation of template class '__gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
+ __gnu_cxx::__aligned_buffer<_Value> _M_storage;
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:264:39: note: in instantiation of template class 'std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
+ struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value>
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:2028:25: note: in instantiation of template class 'std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true>' requested here
+ rebind_traits<typename __node_type::value_type>;
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable.h:184:15: note: in instantiation of template class 'std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true> > >
+' requested here
+ private __detail::_Hashtable_alloc<
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/unordered_map.h:105:18: note: in instantiation of template class 'std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, std::allocator<std::pair<con
+st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__deta
+il::_Hashtable_traits<true, false, true> >' requested here
+ _Hashtable _M_h;
+ ^
+../../components/sync_bookmarks/bookmark_model_merger.h:146:22: note: in instantiation of template class 'std::unordered_map<std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode, std::hash<std::string>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<con
+st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> > >' requested here
+ const RemoteForest remote_forest_;
+ ^
+../../components/sync_bookmarks/bookmark_model_merger.h:53:9: note: forward declaration of 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
+ class RemoteTreeNode;
+ ^
+
+Essentially, the problem is that libstdc++'s std::unordered_map<T, U>
+implementation requires both T and U to be fully declared. I raised the
+problem in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92770, and GCC's
+position is that we are relying on undefined behavior according to the C++
+standard (https://eel.is/c++draft/requirements#res.on.functions-2.5).
+
+Bug: 957519
+Change-Id: Ife7e435e516932a795bfbe05b2c910c3272878f0
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960156
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Reviewed-by: Mikel Astiz <mastiz@chromium.org>
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Cr-Commit-Position: refs/heads/master@{#725070}
+---
+ .../sync_bookmarks/bookmark_model_merger.cc | 89 +++++++------------
+ .../sync_bookmarks/bookmark_model_merger.h | 48 +++++++++-
+ 2 files changed, 80 insertions(+), 57 deletions(-)
+
+diff --git a/components/sync_bookmarks/bookmark_model_merger.cc b/components/sync_bookmarks/bookmark_model_merger.cc
+index eae153eff953..579848ee664e 100644
+--- a/components/sync_bookmarks/bookmark_model_merger.cc
++++ b/components/sync_bookmarks/bookmark_model_merger.cc
+@@ -5,7 +5,6 @@
+ #include "components/sync_bookmarks/bookmark_model_merger.h"
+
+ #include <algorithm>
+-#include <memory>
+ #include <set>
+ #include <string>
+ #include <utility>
+@@ -205,66 +204,44 @@ UpdatesPerParentId GroupValidUpdatesByParentId(
+
+ } // namespace
+
+-class BookmarkModelMerger::RemoteTreeNode final {
+- public:
+- // Constructs a tree given |update| as root and recursively all descendants by
+- // traversing |*updates_per_parent_id|. |update| and |updates_per_parent_id|
+- // must not be null. All updates |*updates_per_parent_id| must represent valid
+- // updates. Updates corresponding from descendant nodes are moved away from
+- // |*updates_per_parent_id|.
+- static RemoteTreeNode BuildTree(
+- std::unique_ptr<syncer::UpdateResponseData> update,
+- UpdatesPerParentId* updates_per_parent_id);
+-
+- ~RemoteTreeNode() = default;
+-
+- // Allow moves, useful during construction.
+- RemoteTreeNode(RemoteTreeNode&&) = default;
+- RemoteTreeNode& operator=(RemoteTreeNode&&) = default;
+-
+- const syncer::EntityData& entity() const { return *update_->entity; }
+- int64_t response_version() const { return update_->response_version; }
+-
+- // Direct children nodes, sorted by ascending unique position. These are
+- // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
+- const std::vector<RemoteTreeNode>& children() const { return children_; }
+-
+- // Recursively emplaces all GUIDs (this node and descendants) into
+- // |*guid_to_remote_node_map|, which must not be null.
+- void EmplaceSelfAndDescendantsByGUID(
+- std::unordered_map<std::string, const RemoteTreeNode*>*
+- guid_to_remote_node_map) const {
+- DCHECK(guid_to_remote_node_map);
+-
+- const std::string& guid = entity().specifics.bookmark().guid();
+- if (!guid.empty()) {
+- DCHECK(base::IsValidGUID(guid));
+-
+- // Duplicate GUIDs have been sorted out before.
+- bool success = guid_to_remote_node_map->emplace(guid, this).second;
+- DCHECK(success);
+- }
++BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode() = default;
+
+- for (const RemoteTreeNode& child : children_) {
+- child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
+- }
+- }
++BookmarkModelMerger::RemoteTreeNode::~RemoteTreeNode() = default;
++
++BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode(
++ BookmarkModelMerger::RemoteTreeNode&&) = default;
++BookmarkModelMerger::RemoteTreeNode& BookmarkModelMerger::RemoteTreeNode::
++operator=(BookmarkModelMerger::RemoteTreeNode&&) = default;
++
++void BookmarkModelMerger::RemoteTreeNode::EmplaceSelfAndDescendantsByGUID(
++ std::unordered_map<std::string, const RemoteTreeNode*>*
++ guid_to_remote_node_map) const {
++ DCHECK(guid_to_remote_node_map);
++
++ const std::string& guid = entity().specifics.bookmark().guid();
++ if (!guid.empty()) {
++ DCHECK(base::IsValidGUID(guid));
+
+- private:
+- static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
+- const RemoteTreeNode& rhs) {
+- const syncer::UniquePosition a_pos =
+- syncer::UniquePosition::FromProto(lhs.entity().unique_position);
+- const syncer::UniquePosition b_pos =
+- syncer::UniquePosition::FromProto(rhs.entity().unique_position);
+- return a_pos.LessThan(b_pos);
++ // Duplicate GUIDs have been sorted out before.
++ bool success = guid_to_remote_node_map->emplace(guid, this).second;
++ DCHECK(success);
+ }
+
+- RemoteTreeNode() = default;
++ for (const RemoteTreeNode& child : children_) {
++ child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
++ }
++}
+
+- std::unique_ptr<syncer::UpdateResponseData> update_;
+- std::vector<RemoteTreeNode> children_;
+-};
++// static
++bool BookmarkModelMerger::RemoteTreeNode::UniquePositionLessThan(
++ const RemoteTreeNode& lhs,
++ const RemoteTreeNode& rhs) {
++ const syncer::UniquePosition a_pos =
++ syncer::UniquePosition::FromProto(lhs.entity().unique_position);
++ const syncer::UniquePosition b_pos =
++ syncer::UniquePosition::FromProto(rhs.entity().unique_position);
++ return a_pos.LessThan(b_pos);
++}
+
+ // static
+ BookmarkModelMerger::RemoteTreeNode
+diff --git a/components/sync_bookmarks/bookmark_model_merger.h b/components/sync_bookmarks/bookmark_model_merger.h
+index 9b592000dc59..bf0783ecf8ee 100644
+--- a/components/sync_bookmarks/bookmark_model_merger.h
++++ b/components/sync_bookmarks/bookmark_model_merger.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
+ #define COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
+
++#include <memory>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
+@@ -50,7 +51,52 @@ class BookmarkModelMerger {
+
+ private:
+ // Internal representation of a remote tree, composed of nodes.
+- class RemoteTreeNode;
++ class RemoteTreeNode final {
++ private:
++ using UpdatesPerParentId =
++ std::unordered_map<base::StringPiece,
++ syncer::UpdateResponseDataList,
++ base::StringPieceHash>;
++
++ public:
++ // Constructs a tree given |update| as root and recursively all descendants
++ // by traversing |*updates_per_parent_id|. |update| and
++ // |updates_per_parent_id| must not be null. All updates
++ // |*updates_per_parent_id| must represent valid updates. Updates
++ // corresponding from descendant nodes are moved away from
++ // |*updates_per_parent_id|.
++ static RemoteTreeNode BuildTree(
++ std::unique_ptr<syncer::UpdateResponseData> update,
++ UpdatesPerParentId* updates_per_parent_id);
++
++ ~RemoteTreeNode();
++
++ // Allow moves, useful during construction.
++ RemoteTreeNode(RemoteTreeNode&&);
++ RemoteTreeNode& operator=(RemoteTreeNode&&);
++
++ const syncer::EntityData& entity() const { return *update_->entity; }
++ int64_t response_version() const { return update_->response_version; }
++
++ // Direct children nodes, sorted by ascending unique position. These are
++ // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
++ const std::vector<RemoteTreeNode>& children() const { return children_; }
++
++ // Recursively emplaces all GUIDs (this node and descendants) into
++ // |*guid_to_remote_node_map|, which must not be null.
++ void EmplaceSelfAndDescendantsByGUID(
++ std::unordered_map<std::string, const RemoteTreeNode*>*
++ guid_to_remote_node_map) const;
++
++ private:
++ static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
++ const RemoteTreeNode& rhs);
++
++ RemoteTreeNode();
++
++ std::unique_ptr<syncer::UpdateResponseData> update_;
++ std::vector<RemoteTreeNode> children_;
++ };
+
+ // A forest composed of multiple trees where the root of each tree represents
+ // a permanent node, keyed by server-defined unique tag of the root.
+--
+2.24.1
+
diff --git a/chromium/chromium/chromium-gcc9-r732437.patch b/chromium/chromium/chromium-gcc9-r732437.patch
new file mode 100644
index 0000000..0fe8211
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r732437.patch
@@ -0,0 +1,37 @@
+From 5633ce55ffd8e3df4a2c8c29c597b48aa7676435 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Thu, 16 Jan 2020 17:22:10 +0000
+Subject: [PATCH] GCC: use scoped_refptr to return abstract VideoTrackInterface
+
+Fix compilation issue in GCC with CrossThreadCopierPassThrough and VideoTrackInterface.
+
+Bug: 819294
+Change-Id: Id453c3a7bc63fc75a0f882af450730ada5b717de
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2002512
+Reviewed-by: Chris Mumford <cmumford@google.com>
+Reviewed-by: Guido Urdaneta <guidou@chromium.org>
+Commit-Queue: Guido Urdaneta <guidou@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#732437}
+---
+ .../peerconnection/adapters/web_rtc_cross_thread_copier.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
+index 54cb7d13bff3..0d6c40f0b428 100644
+--- a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
++++ b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
+@@ -165,8 +165,9 @@ struct CrossThreadCopier<blink::MediaStreamVideoTrack>
+ };
+
+ template <>
+-struct CrossThreadCopier<webrtc::VideoTrackInterface>
+- : public CrossThreadCopierPassThrough<webrtc::VideoTrackInterface> {
++struct CrossThreadCopier<rtc::scoped_refptr<webrtc::VideoTrackInterface>>
++ : public CrossThreadCopierPassThrough<
++ rtc::scoped_refptr<webrtc::VideoTrackInterface>> {
+ STATIC_ONLY(CrossThreadCopier);
+ };
+
+--
+2.24.1
+
diff --git a/chromium/chromium/chromium-quiche-gcc9.patch b/chromium/chromium/chromium-quiche-gcc9.patch
new file mode 100644
index 0000000..8104665
--- /dev/null
+++ b/chromium/chromium/chromium-quiche-gcc9.patch
@@ -0,0 +1,38 @@
+From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001
+From: vasilvv <vasilvv@google.com>
+Date: Wed, 3 Apr 2019 13:58:53 -0700
+Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+QuicStreamSendBuffer constructor is implicitely required in the
+initialization of the vector of substreams in QuicCryptoStream.
+Though clang apparently ignores that, GCC fails to build.
+
+BUG=chromium:819294
+
+Originally submitted by José Dapena Paz <jose.dapena@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420
+
+PiperOrigin-RevId: 241800134
+Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066
+---
+ quic/core/quic_stream_send_buffer.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/quic/core/quic_stream_send_buffer.h b/quic/core/quic_stream_send_buffer.h
+index e34514b..74e9d0d 100644
+--- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
++++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
+@@ -62,7 +62,7 @@ class QUIC_EXPORT_PRIVATE QuicStreamSendBuffer {
+ public:
+ explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator);
+ QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete;
+- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete;
++ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default;
+ ~QuicStreamSendBuffer();
+
+ // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer.
+--
+2.24.1
+
diff --git a/chromium/chromium/chromium-unbundle-libxml.patch b/chromium/chromium/chromium-unbundle-libxml.patch
new file mode 100644
index 0000000..23cc8ff
--- /dev/null
+++ b/chromium/chromium/chromium-unbundle-libxml.patch
@@ -0,0 +1,130 @@
+From d3afade220ddb307e16a6dd4f2b0ec88b2af91e7 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Tue, 28 Jan 2020 18:16:54 +0000
+Subject: [PATCH] Fix building with unbundled libxml
+
+Add new targets to libxml.gn that were added in
+ https://chromium-review.googlesource.com/c/chromium/src/+/1894877
+Adjust includes to use system libxml headers too
+
+Bug: 1043042
+Change-Id: I948c063e212e49b9e7f42fed2b8bf7f4af042ca7
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2007110
+Reviewed-by: Robert Sesek <rsesek@chromium.org>
+Reviewed-by: Daniel Cheng <dcheng@chromium.org>
+Reviewed-by: Nico Weber <thakis@chromium.org>
+Commit-Queue: Robert Sesek <rsesek@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#735957}
+---
+ build/linux/unbundle/libxml.gn | 41 ++++++++++++++++++++--
+ third_party/libxml/chromium/libxml_utils.h | 4 +--
+ third_party/libxml/chromium/xml_reader.cc | 3 +-
+ third_party/libxml/chromium/xml_writer.cc | 3 +-
+ 4 files changed, 45 insertions(+), 6 deletions(-)
+
+diff --git a/build/linux/unbundle/libxml.gn b/build/linux/unbundle/libxml.gn
+index c481bd3547bb..3587881eea89 100644
+--- a/build/linux/unbundle/libxml.gn
++++ b/build/linux/unbundle/libxml.gn
+@@ -8,11 +8,48 @@ pkg_config("system_libxml") {
+ packages = [ "libxml-2.0" ]
+ }
+
+-static_library("libxml") {
++source_set("libxml") {
++ public_configs = [ ":system_libxml" ]
++}
++
++static_library("libxml_utils") {
++ # Do not expand this visibility list without first consulting with the
++ # Security Team.
++ visibility = [
++ ":xml_reader",
++ ":xml_writer",
++ "//base/test:test_support",
++ "//services/data_decoder:xml_parser_fuzzer",
++ ]
+ sources = [
+ "chromium/libxml_utils.cc",
+ "chromium/libxml_utils.h",
+ ]
+-
+ public_configs = [ ":system_libxml" ]
+ }
++
++static_library("xml_reader") {
++ # Do not expand this visibility list without first consulting with the
++ # Security Team.
++ visibility = [
++ "//base/test:test_support",
++ "//components/policy/core/common:unit_tests",
++ "//services/data_decoder:*",
++ "//tools/traffic_annotation/auditor:auditor_sources",
++ ]
++ sources = [
++ "chromium/xml_reader.cc",
++ "chromium/xml_reader.h",
++ ]
++ deps = [ ":libxml_utils" ]
++}
++
++static_library("xml_writer") {
++ # The XmlWriter is considered safe to use from any target.
++ visibility = [ "*" ]
++ sources = [
++ "chromium/xml_writer.cc",
++ "chromium/xml_writer.h",
++ ]
++ deps = [ ":libxml_utils" ]
++}
+diff --git a/third_party/libxml/chromium/libxml_utils.h b/third_party/libxml/chromium/libxml_utils.h
+index ff969fab5406..8b2383f9c8bd 100644
+--- a/third_party/libxml/chromium/libxml_utils.h
++++ b/third_party/libxml/chromium/libxml_utils.h
+@@ -5,9 +5,9 @@
+ #ifndef THIRD_PARTY_LIBXML_CHROMIUM_LIBXML_UTILS_H_
+ #define THIRD_PARTY_LIBXML_CHROMIUM_LIBXML_UTILS_H_
+
+-#include <string>
++#include <libxml/xmlreader.h>
+
+-#include "third_party/libxml/src/include/libxml/xmlreader.h"
++#include <string>
+
+ // libxml uses a global error function pointer for reporting errors.
+ // A ScopedXmlErrorFunc object lets you change the global error pointer
+diff --git a/third_party/libxml/chromium/xml_reader.cc b/third_party/libxml/chromium/xml_reader.cc
+index 92464f4cbccf..899ccefb7c8e 100644
+--- a/third_party/libxml/chromium/xml_reader.cc
++++ b/third_party/libxml/chromium/xml_reader.cc
+@@ -4,10 +4,11 @@
+
+ #include "third_party/libxml/chromium/xml_reader.h"
+
++#include <libxml/xmlreader.h>
++
+ #include <vector>
+
+ #include "third_party/libxml/chromium/libxml_utils.h"
+-#include "third_party/libxml/src/include/libxml/xmlreader.h"
+
+ using internal::XmlStringToStdString;
+
+diff --git a/third_party/libxml/chromium/xml_writer.cc b/third_party/libxml/chromium/xml_writer.cc
+index 51fce8ebeb19..7c58031fe2d2 100644
+--- a/third_party/libxml/chromium/xml_writer.cc
++++ b/third_party/libxml/chromium/xml_writer.cc
+@@ -4,8 +4,9 @@
+
+ #include "third_party/libxml/chromium/xml_writer.h"
+
++#include <libxml/xmlwriter.h>
++
+ #include "third_party/libxml/chromium/libxml_utils.h"
+-#include "third_party/libxml/src/include/libxml/xmlwriter.h"
+
+ XmlWriter::XmlWriter() : writer_(nullptr), buffer_(nullptr) {}
+
+--
+2.24.1
+
diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec
index e9245d6..bc78517 100644
--- a/chromium/chromium/chromium.spec
+++ b/chromium/chromium/chromium.spec
@@ -55,7 +55,7 @@
%bcond_with fedora_compilation_flags
Name: chromium
-Version: 79.0.3945.130
+Version: 80.0.3987.87
Release: 100%{?dist}
Summary: A WebKit (Blink) powered web browser
@@ -116,17 +116,19 @@ Patch30: chromium-webrtc-cstring.patch
# Pull patches from Gentoo
# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b7b57438d399738
# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b89e0d09ed3f133
-# http://distfiles.gentoo.org/distfiles/chromium-78-revert-noexcept-r1.patch.gz
+# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63e5fbd254535ca8
+# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ba7a983c4c70ff8
Patch40: chromium-unbundle-zlib.patch
Patch41: chromium-base-location.patch
+Patch42: chromium-gcc9-blink.patch
+Patch43: chromium-gcc9-permissive.patch
# Pull upstream patches
-Patch50: chromium-fix-use_system_harfbuzz-ng.patch
-Patch51: chromium-gcc9-r707329.patch
-Patch52: chromium-gcc9-r709411.patch
-Patch53: chromium-gcc9-r709469.patch
-Patch54: chromium-gcc9-r709472.patch
-Patch55: chromium-gcc9-r709569.patch
+Patch50: chromium-unbundle-libxml.patch
+Patch51: chromium-quiche-gcc9.patch
+Patch52: chromium-gcc9-r723499.patch
+Patch53: chromium-gcc9-r725070.patch
+Patch54: chromium-gcc9-r732437.patch
# I don't have time to test whether it work on other architectures
ExclusiveArch: x86_64
@@ -279,9 +281,6 @@ find -type f -exec \
third_party/axe-core \
third_party/boringssl \
third_party/boringssl/src/third_party/fiat \
- third_party/boringssl/src/third_party/sike \
- third_party/boringssl/linux-aarch64/crypto/third_party/sike \
- third_party/boringssl/linux-x86_64/crypto/third_party/sike \
third_party/blink \
third_party/breakpad \
third_party/breakpad/breakpad/src/third_party/curl \
@@ -316,12 +315,14 @@ find -type f -exec \
third_party/dawn \
third_party/depot_tools \
third_party/devscripts \
+ third_party/devtools-frontend \
+ third_party/devtools-frontend/src/third_party \
third_party/dom_distiller_js \
third_party/emoji-segmenter \
third_party/ffmpeg \
third_party/flatbuffers \
- third_party/flot \
third_party/freetype \
+ third_party/libgifcodec \
third_party/glslang \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
@@ -406,7 +407,6 @@ find -type f -exec \
third_party/skia \
third_party/skia/include/third_party/skcms \
third_party/skia/include/third_party/vulkan \
- third_party/skia/third_party/gif \
third_party/skia/third_party/skcms \
third_party/skia/third_party/vulkan \
third_party/smhasher \
@@ -437,6 +437,7 @@ find -type f -exec \
third_party/webrtc/rtc_base/third_party/sigslot \
third_party/widevine \
third_party/woff2 \
+ third_party/wuffs \
third_party/xdg-utils \
third_party/yasm/run_yasm.py \
third_party/zlib/google \
@@ -612,7 +613,6 @@ install -m 644 out/Release/icudtl.dat %{buildroot}%{chromiumdir}/
install -m 755 out/Release/nacl_helper %{buildroot}%{chromiumdir}/
install -m 755 out/Release/nacl_helper_bootstrap %{buildroot}%{chromiumdir}/
install -m 644 out/Release/nacl_irt_x86_64.nexe %{buildroot}%{chromiumdir}/
-install -m 644 out/Release/natives_blob.bin %{buildroot}%{chromiumdir}/
install -m 644 out/Release/v8_context_snapshot.bin %{buildroot}%{chromiumdir}/
install -m 644 out/Release/*.pak %{buildroot}%{chromiumdir}/
install -m 644 out/Release/locales/*.pak %{buildroot}%{chromiumdir}/locales/
@@ -673,7 +673,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{chromiumdir}/nacl_helper
%{chromiumdir}/nacl_helper_bootstrap
%{chromiumdir}/nacl_irt_x86_64.nexe
-%{chromiumdir}/natives_blob.bin
%{chromiumdir}/v8_context_snapshot.bin
%{chromiumdir}/*.pak
%dir %{chromiumdir}/locales
@@ -688,6 +687,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Sun Feb 09 2020 - Ting-Wei Lan <lantw44@gmail.com> - 80.0.3987.87-100
+- Update to 80.0.3987.87
+
* Sat Jan 18 2020 - Ting-Wei Lan <lantw44@gmail.com> - 79.0.3945.130-100
- Update to 79.0.3945.130