From 4c8314c7f5ad2db2866121803ac48e0188bb701d Mon Sep 17 00:00:00 2001 From: Peter Bui Date: Sun, 12 Apr 2020 08:17:38 -0400 Subject: [PATCH 1/2] chromium: update to 81.0.4044.92. [ci skip] - Built for x86_64 and x86_64-musl. - Tested on x86_64. - Add vaapi build option (off by default). This option should allow users to turn on video acceleration using --ignore-gpu-blacklist (it is disabled by default). Tested with Intel 620 HD. --- .../files/musl-patches/musl-fixes.patch | 16 +- ...remove-unsupported-compiler-warnings.patch | 51 +++- ...ch-service-Include-cmath-for-std-pow.patch | 35 --- ...m-fix-building-with-unbundled-libxml.patch | 127 ---------- ...ream-move-RemoteTreeNode-declaration.patch | 237 ------------------ ...-sync-enable-USSPasswords-by-default.patch | 28 --- .../patches/upstream-vaapi-build-fix.patch | 51 ++++ srcpkgs/chromium/template | 11 +- 8 files changed, 108 insertions(+), 448 deletions(-) delete mode 100644 srcpkgs/chromium/patches/upstream-cros-search-service-Include-cmath-for-std-pow.patch delete mode 100644 srcpkgs/chromium/patches/upstream-fix-building-with-unbundled-libxml.patch delete mode 100644 srcpkgs/chromium/patches/upstream-move-RemoteTreeNode-declaration.patch delete mode 100644 srcpkgs/chromium/patches/upstream-sync-enable-USSPasswords-by-default.patch create mode 100644 srcpkgs/chromium/patches/upstream-vaapi-build-fix.patch diff --git a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch index 2ced673b63f..6edbcf37a77 100644 --- a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch +++ b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch @@ -76,17 +76,17 @@ // This adjusts /proc/process/oom_score_adj so the Linux OOM killer // will prefer certain process types over others. The range for the // adjustment is [-1000, 1000], with [0, 1000] being user accessible. ---- ./sandbox/linux/seccomp-bpf/trap.cc.orig -+++ ./sandbox/linux/seccomp-bpf/trap.cc -@@ -156,7 +156,7 @@ - // most versions of glibc don't include this information in siginfo_t. So, - // we need to explicitly copy it into a arch_sigsys structure. - struct arch_sigsys sigsys; +--- ./sandbox/linux/seccomp-bpf/trap.cc.orig 2020-04-12 08:26:40.184159217 -0400 ++++ ./sandbox/linux/seccomp-bpf/trap.cc 2020-04-12 08:46:16.737191222 -0400 +@@ -174,7 +174,7 @@ + // If the version of glibc doesn't include this information in + // siginfo_t (older than 2.17), we need to explicitly copy it + // into an arch_sigsys structure. - memcpy(&sigsys, &info->_sifields, sizeof(sigsys)); -+ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys)); ++ memcpy(&sigsys, &info->__sifields, sizeof(sigsys)); + #endif #if defined(__mips__) - // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the --- ./third_party/ffmpeg/libavutil/cpu.c.orig +++ ./third_party/ffmpeg/libavutil/cpu.c @@ -38,7 +38,6 @@ diff --git a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch b/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch index d2687fc5cbd..928e3783b0d 100644 --- a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch +++ b/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch @@ -1,6 +1,6 @@ ---- build/config/compiler/BUILD.gn.orig 2020-02-03 20:56:08.000000000 -0500 -+++ build/config/compiler/BUILD.gn 2020-02-06 09:48:23.578421089 -0500 -@@ -708,14 +708,6 @@ +--- build/config/compiler/BUILD.gn.orig 2020-04-03 00:11:19.000000000 -0400 ++++ build/config/compiler/BUILD.gn 2020-04-11 23:49:51.153896808 -0400 +@@ -702,14 +702,6 @@ ldflags += [ "-Wl,--no-rosegment" ] } @@ -15,10 +15,14 @@ # Pass the same C/C++ flags to the objective C/C++ compiler. cflags_objc += cflags_c cflags_objcc += cflags_cc -@@ -1516,27 +1508,6 @@ - if (current_toolchain == host_toolchain || !use_xcode_clang) { - # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not - # recognize. +@@ -1506,42 +1498,6 @@ + # Currently goma can not handle case sensitiveness for windows well. + cflags += [ "-Wno-nonportable-include-path" ] + } +- +- if (current_toolchain == host_toolchain || !use_xcode_clang) { +- # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not +- # recognize. - cflags += [ - # Ignore warnings about MSVC optimization pragmas. - # TODO(thakis): Only for no_chromium_code? http://crbug.com/912662 @@ -38,8 +42,35 @@ - - # TODO(https://crbug.com/1028110): Evaluate and possible enable. - "-Wno-deprecated-copy", +- +- # TODO(https://crbug.com/1031169): Clean up and enable. +- "-Wno-misleading-indentation", +- +- # TODO(https://crbug.com/1039697): Evaluate and possibly enable. +- "-Wno-range-loop-analysis", +- ] +- +- cflags_c += [ +- # TODO(https://crbug.com/995993): Clean up and enable. +- "-Wno-implicit-fallthrough", - ] +- } + } + } + } +--- third_party/blink/renderer/BUILD.gn.orig 2020-04-12 00:55:11.146544560 -0400 ++++ third_party/blink/renderer/BUILD.gn 2020-04-12 00:55:29.106560641 -0400 +@@ -48,13 +48,6 @@ + "-Wno-implicit-float-conversion", + "-Wno-implicit-int-conversion", + ] - - if (is_fuchsia) { - cflags += [ - # TODO(https://crbug.com/999871): Clean up, enable. +- if (!is_chromeos || default_toolchain != "//build/toolchain/cros:target") { +- cflags += [ +- "-Wno-enum-enum-conversion", +- "-Wno-enum-float-conversion", +- ] +- } + } + } + diff --git a/srcpkgs/chromium/patches/upstream-cros-search-service-Include-cmath-for-std-pow.patch b/srcpkgs/chromium/patches/upstream-cros-search-service-Include-cmath-for-std-pow.patch deleted file mode 100644 index 200478e607d..00000000000 --- a/srcpkgs/chromium/patches/upstream-cros-search-service-Include-cmath-for-std-pow.patch +++ /dev/null @@ -1,35 +0,0 @@ -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 ---- chrome/common/string_matching/fuzzy_tokenized_string_match.cc -+++ 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/srcpkgs/chromium/patches/upstream-fix-building-with-unbundled-libxml.patch b/srcpkgs/chromium/patches/upstream-fix-building-with-unbundled-libxml.patch deleted file mode 100644 index 68e8bf44d1d..00000000000 --- a/srcpkgs/chromium/patches/upstream-fix-building-with-unbundled-libxml.patch +++ /dev/null @@ -1,127 +0,0 @@ -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 build/linux/unbundle/libxml.gn build/linux/unbundle/libxml.gn -index c481bd3547b..3587881eea8 100644 ---- build/linux/unbundle/libxml.gn -+++ 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 third_party/libxml/chromium/libxml_utils.h third_party/libxml/chromium/libxml_utils.h -index ff969fab540..8b2383f9c8b 100644 ---- third_party/libxml/chromium/libxml_utils.h -+++ 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 third_party/libxml/chromium/xml_reader.cc third_party/libxml/chromium/xml_reader.cc -index 92464f4cbcc..899ccefb7c8 100644 ---- third_party/libxml/chromium/xml_reader.cc -+++ 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 third_party/libxml/chromium/xml_writer.cc third_party/libxml/chromium/xml_writer.cc -index 51fce8ebeb1..7c58031fe2d 100644 ---- third_party/libxml/chromium/xml_writer.cc -+++ 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/srcpkgs/chromium/patches/upstream-move-RemoteTreeNode-declaration.patch b/srcpkgs/chromium/patches/upstream-move-RemoteTreeNode-declaration.patch deleted file mode 100644 index 81b7b0038a8..00000000000 --- a/srcpkgs/chromium/patches/upstream-move-RemoteTreeNode-declaration.patch +++ /dev/null @@ -1,237 +0,0 @@ -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 ---- components/sync_bookmarks/bookmark_model_merger.cc -+++ 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 ---- components/sync_bookmarks/bookmark_model_merger.h -+++ 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/srcpkgs/chromium/patches/upstream-sync-enable-USSPasswords-by-default.patch b/srcpkgs/chromium/patches/upstream-sync-enable-USSPasswords-by-default.patch deleted file mode 100644 index 5f3131c9009..00000000000 --- a/srcpkgs/chromium/patches/upstream-sync-enable-USSPasswords-by-default.patch +++ /dev/null @@ -1,28 +0,0 @@ -From eb997db5527c01fd12c321a6abc52b7cff882e50 Mon Sep 17 00:00:00 2001 -From: Mohamed Amir Yosef -Date: Thu, 9 Jan 2020 21:22:19 +0000 -Subject: [PATCH] [Sync] Enable USSPasswords by default - -Change-Id: I021cd952d7a2917a8fb7203cabdac612251193df -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1963804 -Auto-Submit: Mohamed Amir Yosef -Reviewed-by: Mikel Astiz -Commit-Queue: Mohamed Amir Yosef -Cr-Commit-Position: refs/heads/master@{#729902} ---- - components/sync/driver/sync_driver_switches.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/components/sync/driver/sync_driver_switches.cc b/components/sync/driver/sync_driver_switches.cc -index ddff8b91419..999384aa68a 100644 ---- components/sync/driver/sync_driver_switches.cc -+++ components/sync/driver/sync_driver_switches.cc -@@ -55,7 +55,7 @@ const base::Feature kStopSyncInPausedState{"StopSyncInPausedState", - - // Enable USS implementation of Passwords datatype. - const base::Feature kSyncUSSPasswords{"SyncUSSPasswords", -- base::FEATURE_DISABLED_BY_DEFAULT}; -+ base::FEATURE_ENABLED_BY_DEFAULT}; - - // Enable USS implementation of Nigori datatype. - const base::Feature kSyncUSSNigori{"SyncUSSNigori", diff --git a/srcpkgs/chromium/patches/upstream-vaapi-build-fix.patch b/srcpkgs/chromium/patches/upstream-vaapi-build-fix.patch new file mode 100644 index 00000000000..cf88df4f260 --- /dev/null +++ b/srcpkgs/chromium/patches/upstream-vaapi-build-fix.patch @@ -0,0 +1,51 @@ +From 5b2ff215473e0526b5b24aeff4ad90d369b21c75 Mon Sep 17 00:00:00 2001 +From: Julien Isorce +Date: Wed, 05 Feb 2020 17:59:59 +0000 +Subject: [PATCH] Fix vaapi with GLX + +The signature of ui's gl::GLImageGLX has changed a little bit +since "mplement GpuMemoryBuffers for EGL and GLX": + https://chromium-review.googlesource.com/c/chromium/src/+/1984712 + +Bug: 1031269 +Test: build with use_vaapi=true and run with --use-gl=desktop, see +Change-Id: I80b07294b9abdfa8233aaf79f7d9ec4c58117090 +https: //chromium.googlesource.com/chromium/src.git/+/refs/heads/master/docs/gpu/vaapi.md#vaapi-on-linux +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036494 +Reviewed-by: Thomas Anderson +Reviewed-by: Miguel Casas +Commit-Queue: Julien Isorce +Cr-Commit-Position: refs/heads/master@{#738595} +--- + +diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc +index 227c31b..b42620d 100644 +--- media/gpu/vaapi/vaapi_picture_tfp.cc ++++ media/gpu/vaapi/vaapi_picture_tfp.cc +@@ -57,7 +57,7 @@ + if (make_context_current_cb_ && !make_context_current_cb_.Run()) + return false; + +- glx_image_ = new gl::GLImageGLX(size_, GL_RGB); ++ glx_image_ = new gl::GLImageGLX(size_, gfx::BufferFormat::BGRX_8888); + if (!glx_image_->Initialize(x_pixmap_)) { + // x_pixmap_ will be freed in the destructor. + DLOG(ERROR) << "Failed creating a GLX Pixmap for TFP"; +--- media/mojo/services/gpu_mojo_media_client.cc 2020-04-02 21:11:34.000000000 -0700 ++++ media/mojo/services/gpu_mojo_media_client.cc 2020-04-09 00:44:58.871366432 -0700 +@@ -158,6 +158,7 @@ + *d3d11_supported_configs_; + + #elif BUILDFLAG(USE_CHROMEOS_MEDIA_ACCELERATION) ++#if defined(OS_CHROMEOS) + if (base::FeatureList::IsEnabled(kChromeosVideoDecoder)) { + if (!cros_supported_configs_) { + cros_supported_configs_ = +@@ -167,6 +168,7 @@ + *cros_supported_configs_; + return supported_config_map; + } ++#endif //defined(OS_CHROMEOS) + #endif + + auto& default_configs = diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index 418297c4547..874bf520384 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,7 +1,7 @@ # Template file for 'chromium' pkgname=chromium # See http://www.chromium.org/developers/calendar for the latest version -version=80.0.3987.163 +version=81.0.4044.92 revision=1 archs="i686 x86_64*" short_desc="Google's attempt at creating a safer, faster, and more stable browser" @@ -9,15 +9,16 @@ maintainer="Enno Boland " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=b6ddefa9434877a9b923631b7525f7f2f80118dd986ecdac87f2c9f11f237346 +checksum=a2cf3fd07a66330b189724cdcb4549ddac72705fba6adb33020bc6444efb1a44 lib32disabled=yes nodebug=yes nopie=yes # contains tools that are not PIE, enables PIE itself -build_options="clang js_optimize" +build_options="clang js_optimize vaapi" desc_option_clang="Use clang to build" desc_option_js_optimize="Optimize the JS used for Chromium's UI" +desc_option_vaapi="Enable support for VA-API" hostmakedepends="$(vopt_if clang clang) yasm python pkgconf perl gperf bison ninja nodejs hwids libatomic-devel libevent-devel libglib-devel $(vopt_if js_optimize openjdk)" @@ -163,6 +164,10 @@ do_configure() { 'enable_hangout_services_extension=true' 'is_desktop_linux=true' ) + + conf+=( + "use_vaapi=$(vopt_if vaapi true false)" + ) conf+=( "closure_compile=$(vopt_if js_optimize true false)" From 26b825986ff4840319c475503aa382e42c8c674a Mon Sep 17 00:00:00 2001 From: Peter Bui Date: Sun, 12 Apr 2020 17:45:46 -0400 Subject: [PATCH 2/2] chromium-widevine: update to 81.0.4044.92. [ci skip] --- srcpkgs/chromium-widevine/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/chromium-widevine/template b/srcpkgs/chromium-widevine/template index a0918e5cb91..be0882da9e8 100644 --- a/srcpkgs/chromium-widevine/template +++ b/srcpkgs/chromium-widevine/template @@ -6,7 +6,7 @@ _chromeVersion="current" _channel="stable" pkgname=chromium-widevine -version=80.0.3987.163 +version=81.0.4044.92 revision=1 archs="x86_64" create_wrksrc=yes @@ -17,7 +17,7 @@ depends="chromium binutils xz" homepage="https://www.google.com/chrome" repository=nonfree distfiles="https://dl.google.com/linux/direct/google-chrome-${_channel}_${_chromeVersion}_amd64.deb" -checksum=b90bf1c12c448cd747b52748d153bd656a989c47222cf19dedb1aedeb68940cf +checksum=e2b8dcb8aa9249b00c5f2cef5e755152a249b891bd38d7a0eb814375594ae8c5 do_extract() { :