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.
This commit is contained in:
parent
a1cafeb212
commit
88464d1272
8 changed files with 108 additions and 448 deletions
|
@ -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 @@
|
||||
|
|
|
@ -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",
|
||||
- ]
|
||||
-
|
||||
if (is_fuchsia) {
|
||||
cflags += [
|
||||
# TODO(https://crbug.com/999871): Clean up, enable.
|
||||
- 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_chromeos || default_toolchain != "//build/toolchain/cros:target") {
|
||||
- cflags += [
|
||||
- "-Wno-enum-enum-conversion",
|
||||
- "-Wno-enum-float-conversion",
|
||||
- ]
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,35 +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 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 <algorithm>
|
||||
+#include <cmath>
|
||||
#include <iterator>
|
||||
|
||||
#include "base/i18n/case_conversion.h"
|
|
@ -1,127 +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 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 <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 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 <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 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 <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) {}
|
||||
|
|
@ -1,237 +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 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 <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 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 <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.
|
|
@ -1,28 +0,0 @@
|
|||
From eb997db5527c01fd12c321a6abc52b7cff882e50 Mon Sep 17 00:00:00 2001
|
||||
From: Mohamed Amir Yosef <mamir@chromium.org>
|
||||
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 <mamir@chromium.org>
|
||||
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
|
||||
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
|
||||
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",
|
51
srcpkgs/chromium/patches/upstream-vaapi-build-fix.patch
Normal file
51
srcpkgs/chromium/patches/upstream-vaapi-build-fix.patch
Normal file
|
@ -0,0 +1,51 @@
|
|||
From 5b2ff215473e0526b5b24aeff4ad90d369b21c75 Mon Sep 17 00:00:00 2001
|
||||
From: Julien Isorce <julien.isorce@chromium.org>
|
||||
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 <thomasanderson@chromium.org>
|
||||
Reviewed-by: Miguel Casas <mcasas@chromium.org>
|
||||
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
|
||||
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 =
|
|
@ -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 <gottox@voidlinux.org>"
|
|||
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)"
|
||||
|
|
Loading…
Reference in a new issue