diff --git a/chromium-72.0.3626.119-widevine.patch b/chromium-72.0.3626.119-widevine.patch deleted file mode 100644 index 1a1a3f2..0000000 --- a/chromium-72.0.3626.119-widevine.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -upr chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc chromium-71.0.3578.80/chrome/common/chrome_content_client.cc ---- chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc 2018-12-03 20:16:43.000000000 +0000 -+++ chromium-71.0.3578.80/chrome/common/chrome_content_client.cc 2018-12-04 21:34:28.658206942 +0000 -@@ -99,7 +99,7 @@ - // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is - // bundled and not a component. When the Widevine CDM is a component, it is - // registered in widevine_cdm_component_installer.cc. --#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) -+#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) - #define REGISTER_BUNDLED_WIDEVINE_CDM - #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck - // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support -diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h ---- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-03 20:18:01.000000000 +0000 -+++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-04 21:37:45.635374949 +0000 -@@ -12,4 +12,6 @@ - // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available - // as a string, e.g., "1.0.123.456"). - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" -+ - #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch b/chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch deleted file mode 100644 index 9321a98..0000000 --- a/chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/content/child/child_process_sandbox_support_impl_linux.cc b/content/child/child_process_sandbox_support_impl_linux.cc -index 0a57543eb5..fe2ee491a2 100644 ---- a/content/child/child_process_sandbox_support_impl_linux.cc -+++ b/content/child/child_process_sandbox_support_impl_linux.cc -@@ -78,8 +78,6 @@ void WebSandboxSupportLinux::MatchFontByPostscriptNameOrFullFontName( - std::string family_name; - if (!font_loader_->MatchFontByPostscriptNameOrFullFontName(font_unique_name, - &font_identity)) { -- LOG(ERROR) << "FontService unique font name matching request did not " -- "receive a response."; - return; - } - diff --git a/chromium-79.0.3945.79-include-algorithm-to-use-std-lower_bound.patch b/chromium-79.0.3945.79-include-algorithm-to-use-std-lower_bound.patch new file mode 100644 index 0000000..dc37632 --- /dev/null +++ b/chromium-79.0.3945.79-include-algorithm-to-use-std-lower_bound.patch @@ -0,0 +1,49 @@ +From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +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)::)’ + }); + ^ +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 _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 +Reviewed-by: Alexei Svitkine +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 21367fd7297..92b159e13d1 100644 +--- a/ui/gfx/font.cc ++++ b/ui/gfx/font.cc +@@ -4,6 +4,8 @@ + + #include "ui/gfx/font.h" + ++#include ++ + #include "base/strings/utf_string_conversions.h" + #include "build/build_config.h" + #include "ui/gfx/platform_font.h" diff --git a/chromium-79.0.3945.79-launch_manager.h-uses-std-vector.patch b/chromium-79.0.3945.79-launch_manager.h-uses-std-vector.patch new file mode 100644 index 0000000..72abe9b --- /dev/null +++ b/chromium-79.0.3945.79-launch_manager.h-uses-std-vector.patch @@ -0,0 +1,36 @@ +From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +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 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 GetLaunchFilesFromCommandLine( + ^~~~~~ + +Bug: 819294 +Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289 +Reviewed-by: Alexey Baskakov +Commit-Queue: José Dapena Paz +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 00aeb9d9c2a..76570ead0f9 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 ++#include + + #include "base/macros.h" + diff --git a/chromium-79.0.3945.79-system-hb.patch b/chromium-79.0.3945.79-system-hb.patch new file mode 100644 index 0000000..83e0621 --- /dev/null +++ b/chromium-79.0.3945.79-system-hb.patch @@ -0,0 +1,19 @@ +diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc +index a218d63..6a5bdae 100644 +--- a/components/paint_preview/common/subset_font.cc ++++ b/components/paint_preview/common/subset_font.cc +@@ -10,11 +10,12 @@ + #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" + ++#include ++#include ++ + namespace paint_preview { + + namespace { diff --git a/chromium-79.0.3945.79-widevine.patch b/chromium-79.0.3945.79-widevine.patch new file mode 100644 index 0000000..32f0ae2 --- /dev/null +++ b/chromium-79.0.3945.79-widevine.patch @@ -0,0 +1,13 @@ +diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn +index ed0e2f5208b..5b431a030d5 100644 +--- a/third_party/widevine/cdm/BUILD.gn ++++ b/third_party/widevine/cdm/BUILD.gn +@@ -14,7 +14,7 @@ buildflag_header("buildflags") { + + flags = [ + "ENABLE_WIDEVINE=$enable_widevine", +- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm", ++ "BUNDLE_WIDEVINE_CDM=true", + "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component", + ] + } diff --git a/chromium-80.0.3987.106-Include-cmath-for-std-pow.patch b/chromium-80.0.3987.106-Include-cmath-for-std-pow.patch new file mode 100644 index 0000000..410b968 --- /dev/null +++ b/chromium-80.0.3987.106-Include-cmath-for-std-pow.patch @@ -0,0 +1,35 @@ +From 8273f4d3130e06fd8b6bef87b07c936304b971d9 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Tue, 10 Dec 2019 20:59:57 +0000 +Subject: [PATCH] [cros search service]: Include 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 +Reviewed-by: Jia Meng +Commit-Queue: Raphael Kubo da Costa +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 8351fa701e4..884ef638c61 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 ++#include + #include + + #include "base/i18n/case_conversion.h" diff --git a/chromium-80.0.3987.106-fix-building-with-system-zlib.patch b/chromium-80.0.3987.106-fix-building-with-system-zlib.patch new file mode 100644 index 0000000..26e22c7 --- /dev/null +++ b/chromium-80.0.3987.106-fix-building-with-system-zlib.patch @@ -0,0 +1,13 @@ +--- chromium-80.0.3987.106/build/linux/unbundle/zlib.gn.orig 2020-02-13 20:46:32.000000000 +0100 ++++ chromium-80.0.3987.106/build/linux/unbundle/zlib.gn 2020-02-15 12:20:58.634000000 +0100 +@@ -13,6 +13,10 @@ + defines = [ "USE_SYSTEM_ZLIB=1" ] + } + ++config("zlib_config") { ++ configs = [ ":system_zlib" ] ++} ++ + source_set("zlib") { + deps = [ + ":zlib_shim", diff --git a/chromium-80.0.3987.106-fix-building-with-unbundled-libxml.patch b/chromium-80.0.3987.106-fix-building-with-unbundled-libxml.patch new file mode 100644 index 0000000..7b93437 --- /dev/null +++ b/chromium-80.0.3987.106-fix-building-with-unbundled-libxml.patch @@ -0,0 +1,127 @@ +From d3afade220ddb307e16a6dd4f2b0ec88b2af91e7 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +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 +Reviewed-by: Daniel Cheng +Reviewed-by: Nico Weber +Commit-Queue: Robert Sesek +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 c481bd3547b..3587881eea8 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 ff969fab540..8b2383f9c8b 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 ++#include + +-#include "third_party/libxml/src/include/libxml/xmlreader.h" ++#include + + // 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 92464f4cbcc..899ccefb7c8 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 ++ + #include + + #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 51fce8ebeb1..7c58031fe2d 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 ++ + #include "third_party/libxml/chromium/libxml_utils.h" +-#include "third_party/libxml/src/include/libxml/xmlwriter.h" + + XmlWriter::XmlWriter() : writer_(nullptr), buffer_(nullptr) {} + diff --git a/chromium-80.0.3987.106-move-RemoteTreeNode-declaration.patch b/chromium-80.0.3987.106-move-RemoteTreeNode-declaration.patch new file mode 100644 index 0000000..50fc78c --- /dev/null +++ b/chromium-80.0.3987.106-move-RemoteTreeNode-declaration.patch @@ -0,0 +1,237 @@ +From cdf3e81ff49b200213d67d65558f2919222b60ab Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +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, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>' requested here + : std::aligned_storage + ^ +/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, 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, 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, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true>' requested here + rebind_traits; + ^ +/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, 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::pair, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, std::allocator, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >, std::__detail::_Select1st, std::equal_to >, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__deta +il::_Hashtable_traits >' requested here + _Hashtable _M_h; + ^ +../../components/sync_bookmarks/bookmark_model_merger.h:146:22: note: in instantiation of template class 'std::unordered_map, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode, std::hash, std::equal_to >, std::allocator, 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 +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 +Reviewed-by: Mikel Astiz +Auto-Submit: Raphael Kubo da Costa +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 eae153eff95..579848ee664 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 +-#include + #include + #include + #include +@@ -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 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& 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* +- 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* ++ 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 update_; +- std::vector 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 9b592000dc5..bf0783ecf8e 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 + #include + #include + #include +@@ -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; ++ ++ 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 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& 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* ++ guid_to_remote_node_map) const; ++ ++ private: ++ static bool UniquePositionLessThan(const RemoteTreeNode& lhs, ++ const RemoteTreeNode& rhs); ++ ++ RemoteTreeNode(); ++ ++ std::unique_ptr update_; ++ std::vector 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. diff --git a/chromium-80.0.3987.87-remove-verbose-logging-in-local-unique-font-matching.patch b/chromium-80.0.3987.87-remove-verbose-logging-in-local-unique-font-matching.patch new file mode 100644 index 0000000..a882861 --- /dev/null +++ b/chromium-80.0.3987.87-remove-verbose-logging-in-local-unique-font-matching.patch @@ -0,0 +1,33 @@ +From 8500a125e9fba8bb84d185542155747ee7157ff8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dominik=20R=C3=B6ttsches?= +Date: Tue, 28 Jan 2020 13:48:07 +0000 +Subject: [PATCH] Remove verbose logging in local unique font matching on Linux +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixed: 1005508 +Change-Id: I97f5340c6d1881798ba51effc4a9e5c07de12e52 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2023552 +Commit-Queue: Dominik Röttsches +Commit-Queue: Kentaro Hara +Auto-Submit: Dominik Röttsches +Reviewed-by: Kentaro Hara +Cr-Commit-Position: refs/heads/master@{#735854} +--- + content/child/child_process_sandbox_support_impl_linux.cc | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/content/child/child_process_sandbox_support_impl_linux.cc b/content/child/child_process_sandbox_support_impl_linux.cc +index 693ead7f7a5..c97c8fa197b 100644 +--- a/content/child/child_process_sandbox_support_impl_linux.cc ++++ b/content/child/child_process_sandbox_support_impl_linux.cc +@@ -76,8 +76,6 @@ bool WebSandboxSupportLinux::MatchFontByPostscriptNameOrFullFontName( + std::string family_name; + if (!font_loader_->MatchFontByPostscriptNameOrFullFontName(font_unique_name, + &font_identity)) { +- LOG(ERROR) << "FontService unique font name matching request did not " +- "receive a response."; + return false; + } + diff --git a/chromium.spec b/chromium.spec index 81b05d1..35276aa 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1,6 +1,6 @@ Name: chromium Epoch: 3 -Version: 78.0.3904.108 +Version: 80.0.3987.106 Release: 1mamba Summary: An open-source browser project that aims to build a safer, faster, and more stable way to experience the web Group: Graphical Desktop/Applications/Internet @@ -43,50 +43,70 @@ Patch24: chromium-53.0.2785.143-undef_MADV_FREE.patch Patch25: chromium-55.0.2883.75-ffmpeg-3.2.2.patch Patch26: chromium-55.0.2883.75-upstream-buildfix.patch Patch27: chromium-59.0.3071.86-blink-gcc-6.2.patch -Patch28: chromium-72.0.3626.119-widevine.patch +Patch28: chromium-79.0.3945.79-widevine.patch Patch38: chromium-76.0.3809.100-x86-openh264-add-fPIC.patch Patch41: chromium-77.0.3865.90-system-icu.patch Patch44: chromium-78.0.3904.70-system-zlib.patch Patch45: chromium-78.0.3904.70-webrtc-missing-include.patch Patch46: chromium-78.0.3904.70-dns_util-make-DohUpgradeEntry-non-const.patch Patch47: chromium-78.0.3904.70-fix-shutdown-crash-in-profilemanager.patch -Patch48: chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch +Patch48: chromium-80.0.3987.87-remove-verbose-logging-in-local-unique-font-matching.patch +Patch49: chromium-79.0.3945.79-launch_manager.h-uses-std-vector.patch +Patch50: chromium-79.0.3945.79-include-algorithm-to-use-std-lower_bound.patch +Patch51: chromium-79.0.3945.79-system-hb.patch +Patch52: chromium-80.0.3987.106-fix-building-with-unbundled-libxml.patch +Patch53: chromium-80.0.3987.106-fix-building-with-system-zlib.patch +Patch54: chromium-80.0.3987.106-Include-cmath-for-std-pow.patch +Patch55: chromium-80.0.3987.106-move-RemoteTreeNode-declaration.patch License: BSD ## AUTOBUILDREQ-BEGIN -BuildRequires: libGConf-devel BuildRequires: glibc-devel +BuildRequires: libX11-devel +BuildRequires: libXScrnSaver-devel +BuildRequires: libXcomposite-devel +BuildRequires: libXcursor-devel +BuildRequires: libXdamage-devel +BuildRequires: libXext-devel +BuildRequires: libXfixes-devel +BuildRequires: libXi-devel +BuildRequires: libXrandr-devel +BuildRequires: libXrender-devel +BuildRequires: libXtst-devel BuildRequires: libalsa-devel +BuildRequires: libat-spi2-atk-devel +BuildRequires: libat-spi2-core-devel BuildRequires: libatk-devel -BuildRequires: libbzip2-devel +BuildRequires: libavcodec-ffmpeg-devel +BuildRequires: libavformat-ffmpeg-devel +BuildRequires: libavutil-ffmpeg-devel BuildRequires: libcairo-devel BuildRequires: libcups-devel BuildRequires: libdbus-devel -BuildRequires: libevent-devel BuildRequires: libexpat-devel BuildRequires: libflac-devel BuildRequires: libfontconfig-devel BuildRequires: libfreetype-devel BuildRequires: libgcc -BuildRequires: libgcrypt-devel BuildRequires: libgdk-pixbuf-devel BuildRequires: libglib-devel -BuildRequires: libgtk2-devel +BuildRequires: libgtk-devel +BuildRequires: libharfbuzz-devel +BuildRequires: libicu-devel +BuildRequires: libjpeg-devel +BuildRequires: libminizip-devel BuildRequires: libnspr-devel BuildRequires: libnss-devel +BuildRequires: libopus-devel BuildRequires: libpango-devel -BuildRequires: libpng-devel -BuildRequires: libspeex-devel +BuildRequires: libpulseaudio-devel +BuildRequires: libre2-devel +BuildRequires: libsnappy-devel BuildRequires: libstdc++6-devel -BuildRequires: libX11-devel -BuildRequires: libXcomposite-devel -BuildRequires: libXext-devel -BuildRequires: libXfixes-devel +BuildRequires: libwebp-devel +BuildRequires: libxcb-devel BuildRequires: libxml2-devel -BuildRequires: libXrender-devel -BuildRequires: libXScrnSaver-devel BuildRequires: libxslt-devel -BuildRequires: libudev-devel -BuildRequires: xdg-utils +BuildRequires: libz-devel ## AUTOBUILDREQ-END BuildRequires: libpthread-stubs-devel BuildRequires: libgnome-keyring-devel @@ -113,7 +133,6 @@ BuildRequires: libXcursor-devel BuildRequires: libicu-devel BuildRequires: libpci-devel BuildRequires: libexif-devel -BuildRequires: clang-devel BuildRequires: libXtst-devel BuildRequires: libjpeg-devel BuildRequires: libre2-devel @@ -121,6 +140,8 @@ BuildRequires: libminizip-devel BuildRequires: llvm BuildRequires: llvm-tools BuildRequires: gn +BuildRequires: clang +BuildRequires: compiler-rt Requires(post): %{__install_info} Requires: xdg-utils Requires: libvdpau-Mesa @@ -138,9 +159,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. %prep -%setup -q -#-D -T -#:<< _EOF +%setup -q -D -T +:<< _EOF %patch19 -p1 %patch28 -p1 %ifarch %{ix86} @@ -148,10 +168,17 @@ Chromium is an open-source browser project that aims to build a safer, faster, a %endif %patch41 -p1 %patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 +#%patch45 -p1 +#%patch46 -p1 +#%patch47 -p1 %patch48 -p1 +#%patch49 -p1 +#%patch50 -p1 +#%patch51 -p1 +%patch52 -p1 +%patch53 -p1 +%patch54 -p1 +%patch55 -p1 # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ @@ -223,11 +250,12 @@ sed -i \ build/config/compiler/BUILD.gn %build +exit 1 #:<< _EOF export CC=clang export CXX=clang++ -export AR=ar -export NM=nm +export AR=llvm-ar +export NM=llvm-nm # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) CFLAGS+=' -Wno-builtin-macro-redefined -Wno-unknown-warning-option' @@ -269,10 +297,11 @@ chromium_conf=( 'google_default_client_secret="Pcdh5bzXx3nsECO_AlMlPXXk"' 'symbol_level=0' 'is_debug=false' -%ifarch %{ix86} - 'use_lld=false' -%endif + 'icu_use_data_file=false' ) +#%ifarch %{ix86} +# 'use_lld=false' +#%endif # 'rtc_link_pipewire=true' @@ -282,7 +311,9 @@ chromium_conf=( # 'remove_webcore_debug_symbols=true' gn gen out/Release --args="${chromium_conf[*]}" \ - --script-executable=/usr/bin/python2 --fail-on-unused-args + --script-executable=/usr/bin/python2 + +# --fail-on-unused-args ninja -C out/Release chrome chrome_sandbox chromedriver @@ -311,36 +342,21 @@ cp -a out/Release/locales %{buildroot}%{_libdir}/chromium/ #ln -s %{_libdir}/chromium/chrome-wrapper %{buildroot}%{_bindir}/chromium -mkdir -p %{buildroot}%{_datadir}/applications -cat > %{buildroot}%{_datadir}/applications/chromium.desktop << EOF -[Desktop Entry] -Name=Chromium Browser -Name[it]=Browser Chromium -GenericName=Web Browser -GenericName[it]=Browser Web -Comment=An open-source browser to help move the web forward -Comment[it]=Un browser open source pensato per un web più moderno -Exec=chromium --password-store=detect --ignore-gpu-blacklist %u -Type=Application -Terminal=0 -Icon=%{_datadir}/pixmaps/chromium.png -Categories=Network; -MimeType=text/html; -X-KDE-StartupNotify=true -EOF +install -Dm644 chrome/installer/linux/common/desktop.template %{buildroot}%{_datadir}/applications/chromium.desktop -#cat > %{buildroot}%{_datadir}/applications/chromium-accelerated.desktop << EOF +#mkdir -p %{buildroot}%{_datadir}/applications +#cat > %{buildroot}%{_datadir}/applications/chromium.desktop << EOF #[Desktop Entry] -#Name=Chromium Browser (not GPU accelerated) -#Name[it]=Browser Chromium (senza accelerazioni GPU) +#Name=Chromium Browser +#Name[it]=Browser Chromium #GenericName=Web Browser #GenericName[it]=Browser Web #Comment=An open-source browser to help move the web forward #Comment[it]=Un browser open source pensato per un web più moderno -#Exec=chromium --password-store=detect %u +#Exec=chromium --password-store=detect --ignore-gpu-blacklist %u #Type=Application #Terminal=0 -#Icon=/usr/share/pixmaps/chrome.png +#Icon=%{_datadir}/pixmaps/chromium.png #Categories=Network; #MimeType=text/html; #X-KDE-StartupNotify=true @@ -368,23 +384,23 @@ chmod 755 %{buildroot}%{_bindir}/chromium ln -s %{_libdir}/chromium/chromedriver %{buildroot}%{_bindir}/chromedriver -# legacy favorites symlink -ln -s chromium.desktop %{buildroot}%{_datadir}/applications/chromium-devel.desktop +## legacy favorites symlink +#ln -s chromium.desktop %{buildroot}%{_datadir}/applications/chromium-devel.desktop %post /sbin/ldconfig -if [ $1 -ge 1 ]; then - [ -e %{_kde4_bindir}/kickoffcfg ] && \ - %{_kde4_bindir}/kickoffcfg --add-favorite %{_datadir}/applications/chromium.desktop -fi +#if [ $1 -ge 1 ]; then +# [ -e %{_kde4_bindir}/kickoffcfg ] && \ +# %{_kde4_bindir}/kickoffcfg --add-favorite %{_datadir}/applications/chromium.desktop +#fi : %postun /sbin/ldconfig -if [ $1 -eq 0 ]; then - [ -e %{_kde4_bindir}/kickoffcfg ] && \ - %{_kde4_bindir}/kickoffcfg --del-favorite %{_datadir}/applications/chromium.desktop -fi +#if [ $1 -eq 0 ]; then +# [ -e %{_kde4_bindir}/kickoffcfg ] && \ +# %{_kde4_bindir}/kickoffcfg --del-favorite %{_datadir}/applications/chromium.desktop +#fi : %posttrans @@ -399,7 +415,7 @@ fi %{_bindir}/chromium %{_bindir}/chromedriver %{_datadir}/applications/chromium.desktop -%{_datadir}/applications/chromium-devel.desktop +#%{_datadir}/applications/chromium-devel.desktop %{_datadir}/pixmaps/chromium.png %dir %{_libdir}/chromium %{_libdir}/chromium/chromium @@ -421,6 +437,9 @@ fi #%{_mandir}/man1/chromium.1* %changelog +* Sat Feb 15 2020 Automatic Build System 80.0.3987.106-1mamba +- automatic version update by autodist + * Tue Nov 19 2019 Automatic Build System 78.0.3904.108-1mamba - automatic version update by autodist