aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chromium/chromium/chromium-gcc9-permissive.patch33
-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-gcc9-r742632.patch35
-rw-r--r--chromium/chromium/chromium-gcc9-r742834.patch45
-rw-r--r--chromium/chromium/chromium-nacl-llvm-ar.patch26
-rw-r--r--chromium/chromium/chromium-pulseaudio-12.99.patch47
-rw-r--r--chromium/chromium/chromium-unbundle-libxml.patch130
-rw-r--r--chromium/chromium/chromium-unbundle-zlib.patch13
-rw-r--r--chromium/chromium/chromium.spec56
11 files changed, 102 insertions, 598 deletions
diff --git a/chromium/chromium/chromium-gcc9-permissive.patch b/chromium/chromium/chromium-gcc9-permissive.patch
deleted file mode 100644
index c7aef49..0000000
--- a/chromium/chromium/chromium-gcc9-permissive.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-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-r723499.patch b/chromium/chromium/chromium-gcc9-r723499.patch
deleted file mode 100644
index 5c620a7..0000000
--- a/chromium/chromium/chromium-gcc9-r723499.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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
deleted file mode 100644
index ba57aca..0000000
--- a/chromium/chromium/chromium-gcc9-r725070.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-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
deleted file mode 100644
index 0fe8211..0000000
--- a/chromium/chromium/chromium-gcc9-r732437.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-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-gcc9-r742632.patch b/chromium/chromium/chromium-gcc9-r742632.patch
new file mode 100644
index 0000000..fbe1aaf
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r742632.patch
@@ -0,0 +1,35 @@
+From c9b108ac880f898c21617734de2e1ab45c5c24f3 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09@googlemail.com>
+Date: Wed, 19 Feb 2020 15:21:27 +0000
+Subject: [PATCH] GCC: remove noexcept on definition of operator= in
+ PaintPreviewClient
+
+GCC throws an error if noexcept is specified on declaration and
+definition. Specifing on declaration is enough.
+
+Bug: 819294
+Change-Id: I89f03cf3ee73e63b3f711082315a67f93ccc9dbe
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2059999
+Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
+Commit-Queue: Mehran Mahmoudi <mahmoudi@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#742632}
+---
+ components/paint_preview/browser/paint_preview_client.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/components/paint_preview/browser/paint_preview_client.cc b/components/paint_preview/browser/paint_preview_client.cc
+index a02605adbdf3..abe0e3ac5ff1 100644
+--- a/components/paint_preview/browser/paint_preview_client.cc
++++ b/components/paint_preview/browser/paint_preview_client.cc
+@@ -98,7 +98,7 @@ PaintPreviewClient::PaintPreviewData::PaintPreviewData() = default;
+ PaintPreviewClient::PaintPreviewData::~PaintPreviewData() = default;
+
+ PaintPreviewClient::PaintPreviewData& PaintPreviewClient::PaintPreviewData::
+-operator=(PaintPreviewData&& rhs) noexcept = default;
++operator=(PaintPreviewData&& rhs) = default;
+ PaintPreviewClient::PaintPreviewData::PaintPreviewData(
+ PaintPreviewData&& other) noexcept = default;
+
+--
+2.25.2
+
diff --git a/chromium/chromium/chromium-gcc9-r742834.patch b/chromium/chromium/chromium-gcc9-r742834.patch
new file mode 100644
index 0000000..7ab8f6d
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r742834.patch
@@ -0,0 +1,45 @@
+From e2c7f4b29abf55db20d957616e3691ae69c279d0 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jdapena@igalia.com>
+Date: Wed, 19 Feb 2020 22:29:56 +0000
+Subject: [PATCH] GCC: SizeBounds setters cannot be constexpr
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+As base::Optional move assignment operator is not constexpr, the
+setters using it cannot be constexpr either.
+
+Bug: 819294
+Change-Id: I0c6e0325728f05ff9d6d892a3508ebb1b21a85c3
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2041611
+Reviewed-by: Allen Bauer <kylixrd@chromium.org>
+Commit-Queue: José Dapena Paz <jdapena@igalia.com>
+Cr-Commit-Position: refs/heads/master@{#742834}
+---
+ ui/views/layout/layout_types.h | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/ui/views/layout/layout_types.h b/ui/views/layout/layout_types.h
+index 13ef5f915478..9670138eaa86 100644
+--- a/ui/views/layout/layout_types.h
++++ b/ui/views/layout/layout_types.h
+@@ -45,14 +45,10 @@ class VIEWS_EXPORT SizeBounds {
+ ~SizeBounds() = default;
+
+ constexpr const base::Optional<int>& width() const { return width_; }
+- constexpr void set_width(base::Optional<int> width) {
+- width_ = std::move(width);
+- }
++ void set_width(base::Optional<int> width) { width_ = std::move(width); }
+
+ constexpr const base::Optional<int>& height() const { return height_; }
+- constexpr void set_height(base::Optional<int> height) {
+- height_ = std::move(height);
+- }
++ void set_height(base::Optional<int> height) { height_ = std::move(height); }
+
+ // Enlarges (or shrinks, if negative) each upper bound that is present by the
+ // specified amounts.
+--
+2.25.2
+
diff --git a/chromium/chromium/chromium-nacl-llvm-ar.patch b/chromium/chromium/chromium-nacl-llvm-ar.patch
deleted file mode 100644
index 9b3f67c..0000000
--- a/chromium/chromium/chromium-nacl-llvm-ar.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index ca6ff2b13809..e96b04df99fe 100644
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -1708,7 +1708,7 @@ config("thin_archive") {
- # have a "thin archive" mode (it does accept -T, but it means truncating
- # archive names to 16 characters, which is not what we want).
- if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
-- arflags = [ "-T" ]
-+ arflags = [ "T" ]
- } else if (is_win && use_lld) {
- arflags = [ "/llvmlibthin" ]
- }
-diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni
-index 7326a840dc58..01927b126d1b 100644
---- a/build/toolchain/gcc_toolchain.gni
-+++ b/build/toolchain/gcc_toolchain.gni
-@@ -377,7 +377,7 @@ template("gcc_toolchain") {
- } else {
- rspfile = "{{output}}.rsp"
- rspfile_content = "{{inputs}}"
-- command = "\"$ar\" {{arflags}} -r -c -s -D {{output}} @\"$rspfile\""
-+ command = "\"$ar\" rcsD{{arflags}} {{output}} @\"$rspfile\""
- }
-
- # Remove the output file first so that ar doesn't try to modify the
diff --git a/chromium/chromium/chromium-pulseaudio-12.99.patch b/chromium/chromium/chromium-pulseaudio-12.99.patch
deleted file mode 100644
index d4e2b46..0000000
--- a/chromium/chromium/chromium-pulseaudio-12.99.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs
---- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change 2019-08-14 23:18:59.624627870 +0200
-+++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 23:19:41.258104998 +0200
-@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info
- pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
- pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
- pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
--pa_context_state_t pa_context_get_state(pa_context* c);
-+pa_context_state_t pa_context_get_state(const pa_context* c);
- pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
- pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
- void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
--pa_operation_state_t pa_operation_get_state(pa_operation* o);
-+pa_operation_state_t pa_operation_get_state(const pa_operation* o);
- void pa_context_unref(pa_context* c);
- void pa_operation_unref(pa_operation* o);
- int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
-@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream*
- int pa_stream_disconnect(pa_stream* s);
- int pa_stream_drop(pa_stream *p);
- pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
--uint32_t pa_stream_get_device_index(pa_stream* s);
-+uint32_t pa_stream_get_device_index(const pa_stream* s);
- int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
--pa_stream_state_t pa_stream_get_state(pa_stream* p);
-+pa_stream_state_t pa_stream_get_state(const pa_stream* p);
- pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
- pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
- pa_proplist* pa_proplist_new(void);
--int pa_proplist_contains(pa_proplist* p, const char* key);
-+int pa_proplist_contains(const pa_proplist* p, const char* key);
- void pa_proplist_free(pa_proplist* p);
--const char* pa_proplist_gets(pa_proplist* p, const char* key);
-+const char* pa_proplist_gets(const pa_proplist* p, const char* key);
- int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
--size_t pa_stream_readable_size(pa_stream *p);
-+size_t pa_stream_readable_size(const pa_stream *p);
- int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
- void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
- void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
- int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
- void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
- void pa_stream_unref(pa_stream* s);
--int pa_context_errno(pa_context *c);
-+int pa_context_errno(const pa_context *c);
- const char* pa_strerror(int error);
- pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
diff --git a/chromium/chromium/chromium-unbundle-libxml.patch b/chromium/chromium/chromium-unbundle-libxml.patch
deleted file mode 100644
index 23cc8ff..0000000
--- a/chromium/chromium/chromium-unbundle-libxml.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-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-unbundle-zlib.patch b/chromium/chromium/chromium-unbundle-zlib.patch
deleted file mode 100644
index 951a2ad..0000000
--- a/chromium/chromium/chromium-unbundle-zlib.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn
-index 3bc618a..e0ddf6d 100644
---- a/third_party/perfetto/gn/BUILD.gn
-+++ b/third_party/perfetto/gn/BUILD.gn
-@@ -244,7 +244,7 @@ if (enable_perfetto_trace_processor || perfetto_build_standalone ||
- "//buildtools:zlib",
- ]
- } else {
-- public_configs = [ "//third_party/zlib:zlib_config" ]
-+ public_configs = [ "//third_party/zlib:system_zlib" ]
- public_deps = [
- "//third_party/zlib",
- ]
diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec
index a35bbcb..555d8dd 100644
--- a/chromium/chromium/chromium.spec
+++ b/chromium/chromium/chromium.spec
@@ -46,16 +46,12 @@
# Disabled by default becaue gcc is the system compiler
%bcond_with clang
-# Allow disabling unconditional build dependency on clang
-# Enabled by default because nacl always uses clang to compile some files
-%bcond_without require_clang
-
# Allow using compilation flags set by Fedora RPM macros
# Disabled by default because it causes out-of-memory error on Fedora Copr
%bcond_with fedora_compilation_flags
Name: chromium
-Version: 80.0.3987.163
+Version: 81.0.4044.92
Release: 100%{?dist}
Summary: A WebKit (Blink) powered web browser
@@ -101,9 +97,6 @@ Patch1: chromium-certificate-transparency-google.patch
# Don't require static libstdc++
Patch2: chromium-gn-no-static-libstdc++.patch
-# Fix llvm-ar command usage
-Patch10: chromium-nacl-llvm-ar.patch
-
# Don't use unversioned python commands. This patch is based on
# https://src.fedoraproject.org/rpms/chromium/c/7048e95ab61cd143
# https://src.fedoraproject.org/rpms/chromium/c/cb0be2c990fc724e
@@ -115,30 +108,25 @@ 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
# 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-unbundle-libxml.patch
Patch51: chromium-quiche-gcc9.patch
-Patch52: chromium-gcc9-r723499.patch
-Patch53: chromium-gcc9-r725070.patch
-Patch54: chromium-gcc9-r732437.patch
+Patch52: chromium-gcc9-r742632.patch
+Patch53: chromium-gcc9-r742834.patch
# I don't have time to test whether it work on other architectures
ExclusiveArch: x86_64
-# Chromium 54 requires clang to enable nacl support
-# Chromium 59 requires llvm-ar to enable nacl support
-%if %{with clang} || %{with require_clang}
-BuildRequires: clang, llvm
-%endif
# Basic tools and libraries
+%if %{with clang}
+BuildRequires: clang
+%else
+BuildRequires: gcc, gcc-c++
+%endif
BuildRequires: ninja-build, nodejs, java-headless, bison, gperf, hwdata
BuildRequires: libgcc(x86-32), glibc(x86-32), libatomic
BuildRequires: libcap-devel, cups-devel, alsa-lib-devel
@@ -147,7 +135,7 @@ BuildRequires: minizip-compat-devel
%else
BuildRequires: minizip-devel
%endif
-BuildRequires: mesa-libGL-devel, mesa-libEGL-devel
+BuildRequires: mesa-libGL-devel, mesa-libEGL-devel, mesa-libgbm-devel
BuildRequires: pkgconfig(gtk+-2.0), pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libexif), pkgconfig(nss)
BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
@@ -270,6 +258,7 @@ find -type f -exec \
third_party/angle/src/third_party/compiler \
third_party/angle/src/third_party/libXNVCtrl \
third_party/angle/src/third_party/trace_event \
+ third_party/angle/src/third_party/volk \
third_party/angle/third_party/glslang \
third_party/angle/third_party/spirv-headers \
third_party/angle/third_party/spirv-tools \
@@ -316,6 +305,8 @@ find -type f -exec \
third_party/depot_tools \
third_party/devscripts \
third_party/devtools-frontend \
+ third_party/devtools-frontend/src/front_end/third_party/fabricjs \
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser \
third_party/devtools-frontend/src/third_party \
third_party/dom_distiller_js \
third_party/emoji-segmenter \
@@ -403,7 +394,7 @@ find -type f -exec \
%endif
third_party/rnnoise \
third_party/s2cellid \
- third_party/sfntly \
+ third_party/simplejson \
third_party/skia \
third_party/skia/include/third_party/skcms \
third_party/skia/include/third_party/vulkan \
@@ -442,7 +433,7 @@ find -type f -exec \
third_party/yasm/run_yasm.py \
third_party/zlib/google \
tools/grit/third_party/six \
- tools/gn/base/third_party/icu \
+ tools/gn/src/base/third_party/icu \
url/third_party/mozilla \
v8/src/third_party/siphash \
v8/src/third_party/valgrind \
@@ -479,9 +470,6 @@ find -type f -exec \
yasm \
zlib
-./build/download_nacl_toolchains.py --packages \
- nacl_x86_glibc,nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract
-
sed -i 's|//third_party/usb_ids|/usr/share/hwdata|g' \
services/device/public/cpp/usb/BUILD.gn
@@ -536,7 +524,7 @@ gn_args=(
rtc_use_pipewire=true
rtc_link_pipewire=true
enable_hangout_services_extension=false
- enable_nacl=true
+ enable_nacl=false
fatal_linker_warnings=false
treat_warnings_as_errors=false
linux_use_bundled_binutils=false
@@ -550,7 +538,7 @@ gn_args=(
)
gn_args+=(
-%if %{with clang} || %{with require_clang}
+%if %{with clang}
'clang_base_path="/usr"'
%endif
)
@@ -610,9 +598,6 @@ install -m 755 out/Release/chromedriver %{buildroot}%{chromiumdir}/
%if !%{with system_libicu}
install -m 644 out/Release/icudtl.dat %{buildroot}%{chromiumdir}/
%endif
-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/v8_context_snapshot.bin %{buildroot}%{chromiumdir}/
install -m 644 out/Release/*.pak %{buildroot}%{chromiumdir}/
install -m 644 out/Release/locales/*.pak %{buildroot}%{chromiumdir}/locales/
@@ -670,9 +655,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%if !%{with system_libicu}
%{chromiumdir}/icudtl.dat
%endif
-%{chromiumdir}/nacl_helper
-%{chromiumdir}/nacl_helper_bootstrap
-%{chromiumdir}/nacl_irt_x86_64.nexe
%{chromiumdir}/v8_context_snapshot.bin
%{chromiumdir}/*.pak
%dir %{chromiumdir}/locales
@@ -687,6 +669,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Sat Apr 11 2020 - Ting-Wei Lan <lantw44@gmail.com> - 81.0.4044.92-100
+- Update to 81.0.4044.92
+- Disable NaCl because of build failures and being deprecated for a long time
+- Building without Internet access becomes possible because we no longer have to
+ download NaCl toolchains in prep stage
+
* Sat Apr 04 2020 - Ting-Wei Lan <lantw44@gmail.com> - 80.0.3987.163-100
- Update to 80.0.3987.163