Merge pull request #7959 from IdrisKalp/master

firefox && chromium
This commit is contained in:
Idris Kalp
2020-02-17 21:03:35 +03:00
committed by GitHub
28 changed files with 833 additions and 567 deletions
+1
View File
@@ -15,6 +15,7 @@
<Package>libcrystalhd-devel</Package>
<Package>libnut</Package>
<Package>libnut-devel</Package>
<Package>libsoup-32bit</Package>
<Package>libfreebob</Package>
<Package>libfreebob-devel</Package>
<!-- separeted, replaced packages-->
@@ -1,30 +0,0 @@
From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001
From: David Landell <landell@vewd.com>
Date: Fri, 13 Sep 2019 12:24:13 +0000
Subject: [PATCH] Add missing include for unique_ptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803137
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696355}
---
third_party/blink/public/platform/web_rtc_rtp_source.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/blink/public/platform/web_rtc_rtp_source.h b/third_party/blink/public/platform/web_rtc_rtp_source.h
index 959440f7a5..c3fd5421aa 100644
--- a/third_party/blink/public/platform/web_rtc_rtp_source.h
+++ b/third_party/blink/public/platform/web_rtc_rtp_source.h
@@ -5,6 +5,8 @@
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
+#include <memory>
+
#include "base/optional.h"
#include "third_party/blink/public/platform/web_common.h"
@@ -0,0 +1,15 @@
<!--
Disable 10 bpc color configs; fixes VAAPI playback.
https://bugs.freedesktop.org/show_bug.cgi?id=106490
-->
<driconf>
<device>
<application name="Chromium" executable="chromium">
<option name="allow_rgb10_configs" value="false" />
</application>
</device>
</driconf>
@@ -0,0 +1,35 @@
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
--- a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+++ b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
@@ -5,6 +5,7 @@
#include "chrome/common/string_matching/fuzzy_tokenized_string_match.h"
#include <algorithm>
+#include <cmath>
#include <iterator>
#include "base/i18n/case_conversion.h"
@@ -1,86 +0,0 @@
From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 16 Sep 2019 17:05:42 +0000
Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with
std::vector<>
This fixes the build with libstdc++ (with most other standard libraries
other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH
during automatic mode"):
../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same<typename remove_cv<const DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type"
static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >' requested here
alignas(T) char storage_[sizeof(T)];
^
../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor<std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> > >' requested here
upgradable_servers({
^
../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin' function available
for (const auto& upgrade_entry : upgradable_servers) {
^ ~~~~~~~~~~~~~~~~~~
The C++ standard forbids containers of const elements. Callers of
GetDohUpgradeList() use it in a safe way anyway, and most of
DohUpgradeEntry's members are const.
Bug: 957519
Change-Id: I826a51823edb1184c0fae27105101e2894efe568
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Commit-Queue: Eric Orth <ericorth@chromium.org>
Reviewed-by: Eric Orth <ericorth@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696834}
---
net/dns/dns_util.cc | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
index d83ff7c150..14997c48b2 100644
--- a/net/dns/dns_util.cc
+++ b/net/dns/dns_util.cc
@@ -139,11 +139,11 @@ struct DohUpgradeEntry {
const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
};
-const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
+const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
// The provider names in these entries should be kept in sync with the
// DohProviderId histogram suffix list in
// tools/metrics/histograms/histograms.xml.
- static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
+ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
upgradable_servers({
DohUpgradeEntry(
"CleanBrowsingAdult",
@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
const std::vector<IPEndPoint>& dns_servers,
const std::vector<std::string>& excluded_providers) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
std::vector<const DohUpgradeEntry*> entries;
for (const auto& server : dns_servers) {
@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig>
GetDohUpgradeServersFromDotHostname(
const std::string& dot_server,
const std::vector<std::string>& excluded_providers) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers;
if (dot_server.empty())
@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers(
std::string GetDohProviderIdForHistogramFromDohConfig(
const DnsConfig::DnsOverHttpsServerConfig& doh_server) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
for (const auto& upgrade_entry : upgradable_servers) {
if (doh_server.server_template ==
upgrade_entry.dns_over_https_config.server_template) {
@@ -0,0 +1,127 @@
From d3afade220ddb307e16a6dd4f2b0ec88b2af91e7 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Tue, 28 Jan 2020 18:16:54 +0000
Subject: [PATCH] Fix building with unbundled libxml
Add new targets to libxml.gn that were added in
https://chromium-review.googlesource.com/c/chromium/src/+/1894877
Adjust includes to use system libxml headers too
Bug: 1043042
Change-Id: I948c063e212e49b9e7f42fed2b8bf7f4af042ca7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2007110
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735957}
---
build/linux/unbundle/libxml.gn | 41 ++++++++++++++++++++--
third_party/libxml/chromium/libxml_utils.h | 4 +--
third_party/libxml/chromium/xml_reader.cc | 3 +-
third_party/libxml/chromium/xml_writer.cc | 3 +-
4 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/build/linux/unbundle/libxml.gn b/build/linux/unbundle/libxml.gn
index 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 <string>
+#include <libxml/xmlreader.h>
-#include "third_party/libxml/src/include/libxml/xmlreader.h"
+#include <string>
// libxml uses a global error function pointer for reporting errors.
// A ScopedXmlErrorFunc object lets you change the global error pointer
diff --git a/third_party/libxml/chromium/xml_reader.cc b/third_party/libxml/chromium/xml_reader.cc
index 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 <libxml/xmlreader.h>
+
#include <vector>
#include "third_party/libxml/chromium/libxml_utils.h"
-#include "third_party/libxml/src/include/libxml/xmlreader.h"
using internal::XmlStringToStdString;
diff --git a/third_party/libxml/chromium/xml_writer.cc b/third_party/libxml/chromium/xml_writer.cc
index 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 <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,45 +0,0 @@
diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc
--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc 2019-09-20 01:18:30.000000000 +0300
+++ chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc 2019-09-23 03:44:32.589602845 +0300
@@ -24,6 +24,7 @@
*/
#include "third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.h"
+#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h"
#include <thread>
diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc
--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc 2019-09-20 01:18:30.000000000 +0300
+++ chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc 2019-09-22 21:07:19.163921146 +0300
@@ -24,6 +24,7 @@
*/
#include "third_party/blink/renderer/modules/webgl/oes_element_index_uint.h"
+#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h"
namespace blink {
diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/navigator_vr.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/navigator_vr.cc
--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/navigator_vr.cc 2019-09-20 01:18:30.000000000 +0300
+++ chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/navigator_vr.cc 2019-09-22 16:29:52.676841915 +0300
@@ -18,6 +18,7 @@
#include "third_party/blink/renderer/modules/xr/navigator_xr.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
+#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h"
namespace blink {
diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/vr_controller.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/vr_controller.cc
--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/vr_controller.cc 2019-09-20 01:18:30.000000000 +0300
+++ chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/vr_controller.cc 2019-09-21 20:59:54.174954333 +0300
@@ -12,6 +12,7 @@
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/modules/vr/navigator_vr.h"
#include "third_party/blink/renderer/platform/wtf/assertions.h"
+#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h"
namespace blink {
@@ -0,0 +1,50 @@
From dcad5af090528018599277dc5d7e160fb6b2d68e Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Wed, 15 Jan 2020 20:26:40 +0000
Subject: [PATCH] Fix shim header generation when unbundling ICU
listformatter.h was moved from icuuc to icui18n
Bug: 989153
Change-Id: I9fcb56f6d5af7787f34ea99b737e2ed8fe741c84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2000142
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#732114}
---
AUTHORS | 1 +
build/linux/unbundle/icu.gn | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/AUTHORS b/AUTHORS
index 7523e483aae..1618fddc633 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -891,6 +891,7 @@ Soren Dreijer <dreijerbit@gmail.com>
Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Srirama Chandra Sekhar Mogali <srirama.m@samsung.com>
Staphany Park <stapark008@gmail.com>
+Stephan Hartmann <stha09@googlemail.com>
Stephen Searles <stephen.searles@gmail.com>
Steve Sanders <steve@zanderz.com>
Steven Pennington <spenn@engr.uvic.ca>
diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
index 923bd7f5ac3..e77bc43db87 100644
--- a/build/linux/unbundle/icu.gn
+++ b/build/linux/unbundle/icu.gn
@@ -92,6 +92,7 @@ shim_headers("icui18n_shim") {
"unicode/fpositer.h",
"unicode/gender.h",
"unicode/gregocal.h",
+ "unicode/listformatter.h",
"unicode/measfmt.h",
"unicode/measunit.h",
"unicode/measure.h",
@@ -174,7 +175,6 @@ shim_headers("icuuc_shim") {
"unicode/icudataver.h",
"unicode/icuplug.h",
"unicode/idna.h",
- "unicode/listformatter.h",
"unicode/localpointer.h",
"unicode/locdspnm.h",
"unicode/locid.h",
@@ -1,45 +0,0 @@
From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
From: Evan Stade <estade@chromium.org>
Date: Wed, 16 Oct 2019 16:01:32 +0000
Subject: [PATCH] Fix shutdown crash in ProfileManager.
OnProfileMarkedForPermanentDeletion should move from
ProfileManagerObserver to ProfileObserver, which would also
fix this bug. However, changing the order of members is the
quickest and most cherry-pick-able way to avoid the crash.
Bug: 1005244
Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863518
Auto-Submit: Evan Stade <estade@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706467}
---
chrome/browser/profiles/profile_manager.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
index b60df76d59..7d02af7f8f 100644
--- a/chrome/browser/profiles/profile_manager.h
+++ b/chrome/browser/profiles/profile_manager.h
@@ -410,6 +410,10 @@ class ProfileManager : public content::NotificationObserver,
const base::FilePath& profile_dir);
#endif // !defined(OS_ANDROID)
+ // Destroy after |profile_info_cache_| since Profile destruction may trigger
+ // some observers to unregister themselves.
+ base::ObserverList<ProfileManagerObserver> observers_;
+
// Object to cache various information about profiles. Contains information
// about every profile which has been created for this instance of Chrome,
// if it has not been explicitly deleted. It must be destroyed after
@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver,
// Controls whether to initialize some services. Only disabled for testing.
bool do_final_services_init_ = true;
- base::ObserverList<ProfileManagerObserver> observers_;
-
// TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc
// should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for
// consistency with surrounding code in the same file but that wasn't trivial
@@ -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;
}
@@ -1,135 +0,0 @@
From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001
From: Jeremy Roman <jbroman@chromium.org>
Date: Wed, 7 Aug 2019 13:26:48 +0000
Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset
initialization would be bad.
Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits.
Bug: 980025
Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#684731}
---
.../renderer/platform/fonts/font_cache_key.h | 4 ++
.../renderer/platform/wtf/linked_hash_set.h | 10 ++++-
.../platform/wtf/list_hash_set_test.cc | 45 +++++++++++++++++--
3 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h
index 0efc8fb909..90063cb2ea 100644
--- a/third_party/blink/renderer/platform/fonts/font_cache_key.h
+++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h
@@ -133,6 +133,10 @@ struct FontCacheKeyHash {
struct FontCacheKeyTraits : WTF::SimpleClassHashTraits<FontCacheKey> {
STATIC_ONLY(FontCacheKeyTraits);
+
+ // std::string's empty state need not be zero in all implementations,
+ // and it is held within FontFaceCreationParams.
+ static const bool kEmptyValueIsZero = false;
};
} // namespace blink
diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
index b35b6e95f1..77e524c084 100644
--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h
+++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h
@@ -146,6 +146,11 @@ class LinkedHashSetNode : public LinkedHashSetNodeBase {
LinkedHashSetNodeBase* next)
: LinkedHashSetNodeBase(prev, next), value_(value) {}
+ LinkedHashSetNode(ValueArg&& value,
+ LinkedHashSetNodeBase* prev,
+ LinkedHashSetNodeBase* next)
+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {}
+
LinkedHashSetNode(LinkedHashSetNode&& other)
: LinkedHashSetNodeBase(std::move(other)),
value_(std::move(other.value_)) {}
@@ -445,10 +450,13 @@ struct LinkedHashSetTraits
// The slot is empty when the next_ field is zero so it's safe to zero
// the backing.
- static const bool kEmptyValueIsZero = true;
+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero;
static const bool kHasIsEmptyValueFunction = true;
static bool IsEmptyValue(const Node& node) { return !node.next_; }
+ static Node EmptyValue() {
+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr);
+ }
static const int kDeletedValue = -1;
diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
index 4c3f8990b0..cd1be0089b 100644
--- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
+++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc
@@ -487,6 +487,7 @@ struct Simple {
};
struct Complicated {
+ Complicated() : Complicated(0) {}
Complicated(int value) : simple_(value) { objects_constructed_++; }
Complicated(const Complicated& other) : simple_(other.simple_) {
@@ -495,9 +496,6 @@ struct Complicated {
Simple simple_;
static int objects_constructed_;
-
- private:
- Complicated() = delete;
};
int Complicated::objects_constructed_ = 0;
@@ -731,4 +729,45 @@ TYPED_TEST(ListOrLinkedHashSetMoveOnlyTest, MoveOnlyValue) {
} // anonymous namespace
+// A unit type which objects to its state being initialized wrong.
+struct InvalidZeroValue {
+ InvalidZeroValue() = default;
+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {}
+ ~InvalidZeroValue() { CHECK(ok_); }
+ bool IsHashTableDeletedValue() const { return deleted_; }
+
+ bool ok_ = true;
+ bool deleted_ = false;
+};
+
+template <>
+struct HashTraits<InvalidZeroValue> : SimpleClassHashTraits<InvalidZeroValue> {
+ static const bool kEmptyValueIsZero = false;
+};
+
+template <>
+struct DefaultHash<InvalidZeroValue> {
+ struct Hash {
+ static unsigned GetHash(const InvalidZeroValue&) { return 0; }
+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) {
+ return true;
+ }
+ };
+};
+
+template <typename Set>
+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {};
+
+using InvalidZeroValueSetTypes =
+ testing::Types<ListHashSet<InvalidZeroValue>,
+ ListHashSet<InvalidZeroValue, 1>,
+ LinkedHashSet<InvalidZeroValue>>;
+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes);
+
+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) {
+ using Set = TypeParam;
+ Set set;
+ set.insert(InvalidZeroValue());
+}
+
} // namespace WTF
@@ -1,49 +0,0 @@
From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
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)::<lambda(const gfx::Font::Weight&, const 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<class _ForwardIterator, class _Tp> _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 <asvitkine@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
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 <algorithm>
+
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "ui/gfx/platform_font.h"
@@ -1,31 +0,0 @@
From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001
From: Dave Tapuska <dtapuska@chromium.org>
Date: Mon, 12 Aug 2019 22:30:13 +0000
Subject: [PATCH] Fix build failure due to missing include for
std::numeric_limits usage.
Some configurations fail to build, limits should have been included.
BUG=992832
Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Mostyn Bramley-Moore <mostynb@vewd.com>
Cr-Commit-Position: refs/heads/master@{#686214}
---
third_party/blink/renderer/platform/exported/web_time_range.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc
index 384566a13e..68d83e14fe 100644
--- a/third_party/blink/renderer/platform/exported/web_time_range.cc
+++ b/third_party/blink/renderer/platform/exported/web_time_range.cc
@@ -31,6 +31,7 @@
#include "third_party/blink/public/platform/web_time_range.h"
#include <cmath>
+#include <limits>
namespace blink {
@@ -1,32 +0,0 @@
From 8c747a9c14ed4905f60f6680e2e09e33ea34163e Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Fri, 26 Jul 2019 16:18:17 +0000
Subject: [PATCH] IWYU: include <memory> in one_euro_filter.h as it uses
std::unique_ptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bug: 819294
Change-Id: Ie1530f7046b0c8eb76e26adca530fa57c67ed876
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1720637
Reviewed-by: Ella Ge <eirage@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
Cr-Commit-Position: refs/heads/master@{#681321}
---
third_party/one_euro_filter/src/one_euro_filter.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/one_euro_filter/src/one_euro_filter.h b/third_party/one_euro_filter/src/one_euro_filter.h
index 7f8d15b62a..a8cd0ab9a2 100644
--- a/third_party/one_euro_filter/src/one_euro_filter.h
+++ b/third_party/one_euro_filter/src/one_euro_filter.h
@@ -1,6 +1,8 @@
#ifndef ONE_EURO_ONE_EURO_FILTER_H_
#define ONE_EURO_ONE_EURO_FILTER_H_
+#include <memory>
+
#include "low_pass_filter.h"
namespace one_euro_filter {
@@ -1,36 +0,0 @@
From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
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 <vector> 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<base::FilePath> GetLaunchFilesFromCommandLine(
^~~~~~
Bug: 819294
Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289
Reviewed-by: Alexey Baskakov <loyso@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
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 <string>
+#include <vector>
#include "base/macros.h"
@@ -1,55 +0,0 @@
From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 29 Jul 2019 10:54:28 +0000
Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz
is true
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When building HarfBuzz as part of Chromium, there is a single source set
with all the files we need in the build.
Upstream HarfBuzz, on the other hand, produces a few different libraries:
harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is
true, we were only looking for (and using) harfbuzz.pc with pkg-config even
though we also use symbols from libharfbuzz-subset.so. This resulted in
errors when linking:
ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp<SkData>, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)':
SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset'
ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy'
as reported in
https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ
Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#681760}
---
third_party/harfbuzz-ng/BUILD.gn | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn
index 37d8e334c2..72013eb1db 100644
--- a/third_party/harfbuzz-ng/BUILD.gn
+++ b/third_party/harfbuzz-ng/BUILD.gn
@@ -16,7 +16,10 @@ if (use_system_harfbuzz) {
"//third_party:freetype_harfbuzz",
"//third_party/freetype:freetype_source",
]
- packages = [ "harfbuzz" ]
+ packages = [
+ "harfbuzz",
+ "harfbuzz-subset",
+ ]
}
} else {
config("harfbuzz_config") {
@@ -0,0 +1,237 @@
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
--- a/components/sync_bookmarks/bookmark_model_merger.cc
+++ b/components/sync_bookmarks/bookmark_model_merger.cc
@@ -5,7 +5,6 @@
#include "components/sync_bookmarks/bookmark_model_merger.h"
#include <algorithm>
-#include <memory>
#include <set>
#include <string>
#include <utility>
@@ -205,66 +204,44 @@ UpdatesPerParentId GroupValidUpdatesByParentId(
} // namespace
-class BookmarkModelMerger::RemoteTreeNode final {
- public:
- // Constructs a tree given |update| as root and recursively all descendants by
- // traversing |*updates_per_parent_id|. |update| and |updates_per_parent_id|
- // must not be null. All updates |*updates_per_parent_id| must represent valid
- // updates. Updates corresponding from descendant nodes are moved away from
- // |*updates_per_parent_id|.
- static RemoteTreeNode BuildTree(
- std::unique_ptr<syncer::UpdateResponseData> update,
- UpdatesPerParentId* updates_per_parent_id);
-
- ~RemoteTreeNode() = default;
-
- // Allow moves, useful during construction.
- RemoteTreeNode(RemoteTreeNode&&) = default;
- RemoteTreeNode& operator=(RemoteTreeNode&&) = default;
-
- const syncer::EntityData& entity() const { return *update_->entity; }
- int64_t response_version() const { return update_->response_version; }
-
- // Direct children nodes, sorted by ascending unique position. These are
- // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
- const std::vector<RemoteTreeNode>& children() const { return children_; }
-
- // Recursively emplaces all GUIDs (this node and descendants) into
- // |*guid_to_remote_node_map|, which must not be null.
- void EmplaceSelfAndDescendantsByGUID(
- std::unordered_map<std::string, const RemoteTreeNode*>*
- guid_to_remote_node_map) const {
- DCHECK(guid_to_remote_node_map);
-
- const std::string& guid = entity().specifics.bookmark().guid();
- if (!guid.empty()) {
- DCHECK(base::IsValidGUID(guid));
-
- // Duplicate GUIDs have been sorted out before.
- bool success = guid_to_remote_node_map->emplace(guid, this).second;
- DCHECK(success);
- }
+BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode() = default;
- for (const RemoteTreeNode& child : children_) {
- child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
- }
- }
+BookmarkModelMerger::RemoteTreeNode::~RemoteTreeNode() = default;
+
+BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode(
+ BookmarkModelMerger::RemoteTreeNode&&) = default;
+BookmarkModelMerger::RemoteTreeNode& BookmarkModelMerger::RemoteTreeNode::
+operator=(BookmarkModelMerger::RemoteTreeNode&&) = default;
+
+void BookmarkModelMerger::RemoteTreeNode::EmplaceSelfAndDescendantsByGUID(
+ std::unordered_map<std::string, const RemoteTreeNode*>*
+ guid_to_remote_node_map) const {
+ DCHECK(guid_to_remote_node_map);
+
+ const std::string& guid = entity().specifics.bookmark().guid();
+ if (!guid.empty()) {
+ DCHECK(base::IsValidGUID(guid));
- private:
- static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
- const RemoteTreeNode& rhs) {
- const syncer::UniquePosition a_pos =
- syncer::UniquePosition::FromProto(lhs.entity().unique_position);
- const syncer::UniquePosition b_pos =
- syncer::UniquePosition::FromProto(rhs.entity().unique_position);
- return a_pos.LessThan(b_pos);
+ // Duplicate GUIDs have been sorted out before.
+ bool success = guid_to_remote_node_map->emplace(guid, this).second;
+ DCHECK(success);
}
- RemoteTreeNode() = default;
+ for (const RemoteTreeNode& child : children_) {
+ child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
+ }
+}
- std::unique_ptr<syncer::UpdateResponseData> update_;
- std::vector<RemoteTreeNode> children_;
-};
+// static
+bool BookmarkModelMerger::RemoteTreeNode::UniquePositionLessThan(
+ const RemoteTreeNode& lhs,
+ const RemoteTreeNode& rhs) {
+ const syncer::UniquePosition a_pos =
+ syncer::UniquePosition::FromProto(lhs.entity().unique_position);
+ const syncer::UniquePosition b_pos =
+ syncer::UniquePosition::FromProto(rhs.entity().unique_position);
+ return a_pos.LessThan(b_pos);
+}
// static
BookmarkModelMerger::RemoteTreeNode
diff --git a/components/sync_bookmarks/bookmark_model_merger.h b/components/sync_bookmarks/bookmark_model_merger.h
index 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 <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.
@@ -0,0 +1,62 @@
From d10f885b9327399be9348b780967ebd6b7f2c4bc Mon Sep 17 00:00:00 2001
From: Tom Anderson <thomasanderson@chromium.org>
Date: Fri, 7 Feb 2020 22:44:54 +0000
Subject: [PATCH] Rebuild Linux frame button cache when activation state
changes
This fixes an issue where the frame buttons would always render in an
inactive state on Linux (see repro steps in bug 1049258).
Bug: 1049258
R=sky
CC=pkasting
Change-Id: Ic5af33199003e1d1cdf6cedf506e32388ea11fa9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2044538
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#739585}
---
.../ui/views/frame/desktop_linux_browser_frame_view.cc | 6 +++---
.../desktop_aura/desktop_window_tree_host_platform.cc | 3 +++
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc b/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc
index 954e776057f..4f579955675 100644
--- a/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc
+++ b/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc
@@ -22,13 +22,13 @@ DesktopLinuxBrowserFrameView::DesktopLinuxBrowserFrameView(
: OpaqueBrowserFrameView(frame, browser_view, layout),
nav_button_provider_(std::move(nav_button_provider)) {}
-DesktopLinuxBrowserFrameView::~DesktopLinuxBrowserFrameView() {}
+DesktopLinuxBrowserFrameView::~DesktopLinuxBrowserFrameView() = default;
void DesktopLinuxBrowserFrameView::Layout() {
// Calling MaybeUpdateCachedFrameButtonImages() from Layout() is sufficient to
// catch all cases that could update the appearance, since
- // DesktopWindowTreeHostPlatform::OnWindowStateChanged() does a layout any
- // time any properties change.
+ // DesktopWindowTreeHostPlatform::On{Window,Activation}StateChanged() does a
+ // layout any time the maximized and activation state changes, respectively.
MaybeUpdateCachedFrameButtonImages();
OpaqueBrowserFrameView::Layout();
}
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index 9c695d8e5b1..9662f19aa90 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -677,9 +677,12 @@ void DesktopWindowTreeHostPlatform::OnCloseRequest() {
}
void DesktopWindowTreeHostPlatform::OnActivationChanged(bool active) {
+ if (is_active_ == active)
+ return;
is_active_ = active;
aura::WindowTreeHostPlatform::OnActivationChanged(active);
desktop_native_widget_aura_->HandleActivationChanged(active);
+ ScheduleRelayout();
}
base::Optional<gfx::Size>
@@ -0,0 +1,33 @@
From 8500a125e9fba8bb84d185542155747ee7157ff8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20R=C3=B6ttsches?= <drott@chromium.org>
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 <drott@chromium.org>
Commit-Queue: Kentaro Hara <haraken@chromium.org>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
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;
}
@@ -0,0 +1,64 @@
From 5a2cd2409c7d65c019ad9f4595a4e85315857ac4 Mon Sep 17 00:00:00 2001
From: Tom Anderson <thomasanderson@chromium.org>
Date: Mon, 3 Feb 2020 23:18:46 +0000
Subject: [PATCH] Rename Relayout() in DesktopWindowTreeHostPlatform to
ScheduleRelayout()
R=sky
Bug: None
Change-Id: I680cafd25935e59a280e3b2baac754d3d5f13a35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036553
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#737974}
---
.../desktop_aura/desktop_window_tree_host_platform.cc | 6 +++---
.../widget/desktop_aura/desktop_window_tree_host_platform.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index 6c00d49eb3f..9c695d8e5b1 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -556,7 +556,7 @@ void DesktopWindowTreeHostPlatform::SetFullscreen(bool fullscreen) {
DCHECK_EQ(fullscreen, IsFullscreen());
if (IsFullscreen() == fullscreen)
- Relayout();
+ ScheduleRelayout();
// Else: the widget will be relaid out either when the window bounds change
// or when |platform_window|'s fullscreen state changes.
}
@@ -669,7 +669,7 @@ void DesktopWindowTreeHostPlatform::OnWindowStateChanged(
// Now that we have different window properties, we may need to relayout the
// window. (The windows code doesn't need this because their window change is
// synchronous.)
- Relayout();
+ ScheduleRelayout();
}
void DesktopWindowTreeHostPlatform::OnCloseRequest() {
@@ -712,7 +712,7 @@ gfx::Rect DesktopWindowTreeHostPlatform::ToPixelRect(
return gfx::ToEnclosingRect(rect_in_pixels);
}
-void DesktopWindowTreeHostPlatform::Relayout() {
+void DesktopWindowTreeHostPlatform::ScheduleRelayout() {
Widget* widget = native_widget_delegate_->AsWidget();
NonClientView* non_client_view = widget->non_client_view();
// non_client_view may be NULL, especially during creation.
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
index 89beb8d2245..75a401e02a7 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
@@ -129,7 +129,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostPlatform
gfx::Rect ToPixelRect(const gfx::Rect& rect_in_dip) const;
private:
- void Relayout();
+ void ScheduleRelayout();
Widget* GetWidget();
const Widget* GetWidget() const;
@@ -0,0 +1,28 @@
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
--- a/components/sync/driver/sync_driver_switches.cc
+++ b/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",
@@ -0,0 +1,82 @@
From 4a04af6bbd5b1a55e2e1a7c22f13f8571c2dd7ed Mon Sep 17 00:00:00 2001
From: Julien Isorce <julien.isorce@chromium.org>
Date: Fri, 24 Jan 2020 00:30:33 +0000
Subject: [PATCH] Reland "Call PreSandboxStartup after GL initialization in GpuInit"
This is a reland of d17c53b341adcfc9e2626162536a08c9f3e24017
Original change's description:
> Call PreSandboxStartup after GL initialization in GpuInit
>
> Fixes "vaInitialize failed: unknown libva error"
> on Wayland with LIBVA_DRIVER_NAME=i965
>
> VaapiWrapper relies on the GL implementation to decide
> which display to use. If the GL implementation is none,
> then VaapiWrapper is likely to do the wrong guess resulting
> in the above error.
>
> Bug: 1041229
> Change-Id: I1255a032a5e14b3aaffe3026a886de7e6d9ff0d7
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2011640
> Reviewed-by: Maggie Chen <magchen@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#733847}
Bug: 1041229
Change-Id: I8e268596a1e2a1b3da7d7e75b8943accc85dd2d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2013806
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Maggie Chen <magchen@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Cr-Commit-Position: refs/heads/master@{#734746}
---
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
index 04883fc..4e63f7a 100644
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -221,10 +221,16 @@
delayed_watchdog_enable = true;
#endif
+#if defined(OS_LINUX)
// PreSandbox is mainly for resource handling and not related to the GPU
// driver, it doesn't need the GPU watchdog. The loadLibrary may take long
// time that killing and restarting the GPU process will not help.
- sandbox_helper_->PreSandboxStartup();
+ if (gpu_preferences_.gpu_sandbox_start_early) {
+ // The sandbox will be started earlier than usual (i.e. before GL) so
+ // execute the pre-sandbox steps now.
+ sandbox_helper_->PreSandboxStartup();
+ }
+#endif
// Start the GPU watchdog only after anything that is expected to be time
// consuming has completed, otherwise the process is liable to be aborted.
@@ -320,6 +326,23 @@
}
}
+ // The ContentSandboxHelper is currently the only one implementation of
+ // gpu::GpuSandboxHelper and it has no dependency. Except on Linux where
+ // VaapiWrapper checks the GL implementation to determine which display
+ // to use. So call PreSandboxStartup after GL initialization. But make
+ // sure the watchdog is paused as loadLibrary may take a long time and
+ // restarting the GPU process will not help.
+ if (!attempted_startsandbox) {
+ if (watchdog_thread_)
+ watchdog_thread_->PauseWatchdog();
+
+ // The sandbox is not started yet.
+ sandbox_helper_->PreSandboxStartup();
+
+ if (watchdog_thread_)
+ watchdog_thread_->ResumeWatchdog();
+ }
+
bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled;
// Compute passthrough decoder status before ComputeGpuFeatureInfo below.
@@ -0,0 +1,74 @@
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
@@ -641,6 +641,7 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers(
// |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
// internal decoded frame.
if (buffer_allocation_mode_ != BufferAllocationMode::kNone &&
+ buffer_allocation_mode_ != BufferAllocationMode::kWrapVdpau &&
!vpp_vaapi_wrapper_) {
vpp_vaapi_wrapper_ = VaapiWrapper::Create(
VaapiWrapper::kVideoProcess, VAProfileNone,
@@ -665,7 +666,8 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers(
PictureBuffer buffer = buffers[i];
buffer.set_size(requested_pic_size_);
std::unique_ptr<VaapiPicture> picture = vaapi_picture_factory_->Create(
- (buffer_allocation_mode_ == BufferAllocationMode::kNone)
+ ((buffer_allocation_mode_ == BufferAllocationMode::kNone) ||
+ (buffer_allocation_mode_ == BufferAllocationMode::kWrapVdpau))
? vaapi_wrapper_
: vpp_vaapi_wrapper_,
make_context_current_cb_, bind_image_cb_, buffer);
@@ -1093,6 +1095,12 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() {
VaapiVideoDecodeAccelerator::BufferAllocationMode
VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
+ // NVIDIA blobs use VDPAU
+ if (VaapiWrapper::GetImplementationType() == VAImplementation::kNVIDIAVDPAU) {
+ LOG(INFO) << "VA-API driver on VDPAU backend";
+ return BufferAllocationMode::kWrapVdpau;
+ }
+
// TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT
// |output_mode_| as well.
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
@@ -1105,7 +1113,7 @@ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
// depends on the bitstream and sometimes it's not enough to cover the amount
// of frames needed by the client pipeline (see b/133733739).
// TODO(crbug.com/911754): Enable for VP9 Profile 2.
- if (IsGeminiLakeOrLater() &&
+ if (false && IsGeminiLakeOrLater() &&
(profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY)) {
// Add one to the reference frames for the one being currently egressed, and
// an extra allocation for both |client_| and |decoder_|, see
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.h
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.h
@@ -204,6 +204,7 @@ class MEDIA_GPU_EXPORT VaapiVideoDecodeAccelerator
// Using |client_|s provided PictureBuffers and as many internally
// allocated.
kNormal,
+ kWrapVdpau,
};
// Decides the concrete buffer allocation mode, depending on the hardware
--- a/media/gpu/vaapi/vaapi_wrapper.cc
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
@@ -131,6 +131,9 @@ media::VAImplementation VendorStringToImplementationType(
} else if (base::StartsWith(va_vendor_string, "Intel iHD driver",
base::CompareCase::SENSITIVE)) {
return media::VAImplementation::kIntelIHD;
+ } else if (base::StartsWith(va_vendor_string, "Splitted-Desktop Systems VDPAU",
+ base::CompareCase::SENSITIVE)) {
+ return media::VAImplementation::kNVIDIAVDPAU;
}
return media::VAImplementation::kOther;
}
--- a/media/gpu/vaapi/vaapi_wrapper.h
+++ b/media/gpu/vaapi/vaapi_wrapper.h
@@ -79,6 +79,7 @@ enum class VAImplementation {
kIntelIHD,
kOther,
kInvalid,
+ kNVIDIAVDPAU,
};
// This class handles VA-API calls and ensures proper locking of VA-API calls
+19 -4
View File
@@ -13,7 +13,7 @@
<IsA>app:gui</IsA>
<Summary>A WebKit powered web browser</Summary>
<Description>Chromium-browser is an open-source web browser, powered by WebKit.</Description>
<Archive type="tarxz" sha1sum="4dff5f8f552f27050a41df9de02df90bb02dfc32">http://gsdview.appspot.com/chromium-browser-official/chromium-79.0.3945.117.tar.xz</Archive>
<Archive type="tarxz" sha1sum="3a5cd472c9735582f254059bf4fbc996badfaa42">http://gsdview.appspot.com/chromium-browser-official/chromium-80.0.3987.106.tar.xz</Archive>
<BuildDependencies>
<Dependency>alsa-lib-devel</Dependency>
<Dependency>at-spi2-atk-devel</Dependency>
@@ -95,9 +95,16 @@
<Patches>
<Patch level="0">chromium-skia-harmony.patch</Patch>
<Patch level="1">chromium-widevine.patch</Patch>
<Patch level="1">include-algorithm-to-use-std-lower_bound.patch</Patch>
<Patch level="1">launch_manager.h-uses-std-vector.patch</Patch>
<Patch level="1">fix-spammy-unique-font-matching-log.patch</Patch>
<Patch level="1">cros-search-service-Include-cmath-for-std-pow.patch</Patch>
<Patch level="1">fix-building-with-unbundled-libxml.patch</Patch>
<Patch level="1">fix-shim-header-generation-when-unbundling-ICU.patch</Patch>
<Patch level="1">move-RemoteTreeNode-declaration.patch</Patch>
<Patch level="1">rebuild-Linux-frame-button-cache-when-activation.patch</Patch>
<Patch level="1">remove-verbose-logging-in-local-unique-font-matching.patch</Patch>
<Patch level="1">rename-Relayout-in-DesktopWindowTreeHostPlatform.patch</Patch>
<Patch level="1">sync-enable-USSPasswords-by-default.patch</Patch>
<Patch level="1">vaapi-fix-wayland-init.patch</Patch>
<Patch level="1">vaapi-fix.patch</Patch>
</Patches>
</Source>
@@ -169,11 +176,19 @@
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/usr/lib/chromium-browser/master_preferences" >master_preferences</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/usr/share/drirc.d/10-chromium-browser.conf" >chromium-drirc-disable-10bpc-color-configs.conf</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/chromium-browser.desktop" >chromium-browser.desktop</AdditionalFile>
</AdditionalFiles>
</Package>
<History>
<Update release="19">
<Date>2020-02-17</Date>
<Version>80.0.3987.106</Version>
<Comment>Version Bump.</Comment>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="18">
<Date>2020-01-12</Date>
<Version>79.0.3945.117</Version>
+2 -2
View File
@@ -28,7 +28,7 @@
<Dependency>yasm</Dependency>
<Dependency>nodejs</Dependency>
<Dependency>cbindgen</Dependency>
<Dependency versionFrom="58.2">icu4c-devel</Dependency>
<Dependency versionFrom="65.1">icu4c-devel</Dependency>
<Dependency>zlib-devel</Dependency>
<Dependency>gtk3-devel</Dependency>
<Dependency>gtk2-devel</Dependency>
@@ -93,7 +93,7 @@
<Dependency>sqlite</Dependency>
<Dependency>iconcan</Dependency> <!--for <ICON></ICON>-->
<Dependency>libXext</Dependency>
<Dependency versionFrom="58.2">icu4c</Dependency>
<Dependency versionFrom="65.1">icu4c</Dependency>
<Dependency>libvpx</Dependency>
<Dependency>alsa-lib</Dependency>
<!--Dependency>gconf</Dependency-->
+1 -1
View File
@@ -64,7 +64,7 @@
<Update release="14">
<Date>2020-02-17</Date>
<Version>1.41.0</Version>
<Comment>Version bump.</Comment>
<Comment>Version bump</Comment>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
+1 -1
View File
@@ -14,7 +14,7 @@
<Description>Rust koduna C bağlamaları oluşturmak için bir araç</Description>
<Archive sha1sum="d66f9c3c31d85ce4bbe7a8e9406cbfa47d5e7fed" type="targz">https://github.com/eqrion/cbindgen/archive/v0.13.1.tar.gz</Archive>
<BuildDependencies>
<Dependency versionFrom="1.40.0">rust</Dependency>
<Dependency versionFrom="1.41.0">rust</Dependency>
<Dependency>llvm</Dependency>
</BuildDependencies>
</Source>
+2 -2
View File
@@ -24,7 +24,7 @@
<BuildDependencies>
<Dependency>zlib-devel</Dependency>
<Dependency>sqlite-devel</Dependency>
<Dependency versionFrom="4.24">nspr-devel</Dependency>
<Dependency versionFrom="4.25">nspr-devel</Dependency>
</BuildDependencies>
<Patches>
<!--<Patch level="1">nss-3.18.1-standalone-1.patch</Patch>-->
@@ -41,7 +41,7 @@
<RuntimeDependencies>
<Dependency>zlib</Dependency>
<Dependency>sqlite</Dependency>
<Dependency versionFrom="4.24">nspr</Dependency>
<Dependency versionFrom="4.25">nspr</Dependency>
<Dependency>libgcc</Dependency>
</RuntimeDependencies>
<Files>