@@ -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>
|
||||
+35
@@ -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 {
|
||||
|
||||
|
||||
+50
@@ -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;
|
||||
}
|
||||
|
||||
-135
@@ -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.
|
||||
+62
@@ -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>
|
||||
+33
@@ -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;
|
||||
}
|
||||
|
||||
+64
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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-->
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user