diff options
-rw-r--r-- | chromium/chromium/chromium-gcc9-permissive.patch | 33 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc9-r723499.patch | 38 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc9-r725070.patch | 240 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc9-r732437.patch | 37 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc9-r742632.patch | 35 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc9-r742834.patch | 45 | ||||
-rw-r--r-- | chromium/chromium/chromium-nacl-llvm-ar.patch | 26 | ||||
-rw-r--r-- | chromium/chromium/chromium-pulseaudio-12.99.patch | 47 | ||||
-rw-r--r-- | chromium/chromium/chromium-unbundle-libxml.patch | 130 | ||||
-rw-r--r-- | chromium/chromium/chromium-unbundle-zlib.patch | 13 | ||||
-rw-r--r-- | chromium/chromium/chromium.spec | 56 |
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 |