mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
extra/chromium to 78.0.3904.70-1
This commit is contained in:
parent
0ae5daf70e
commit
5e5c641dae
10 changed files with 216 additions and 302 deletions
|
@ -13,9 +13,10 @@
|
|||
|
||||
buildarch=12
|
||||
highmem=1
|
||||
noautobuild=1
|
||||
|
||||
pkgname=chromium
|
||||
pkgver=77.0.3865.120
|
||||
pkgver=78.0.3904.70
|
||||
pkgrel=1
|
||||
_launcher_ver=6
|
||||
pkgdesc="A web browser built for speed, simplicity, and security"
|
||||
|
@ -27,30 +28,30 @@ depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
|
|||
'desktop-file-utils' 'hicolor-icon-theme')
|
||||
makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git'
|
||||
'pipewire' 'clang' 'lld' 'gn' 'java-runtime-headless' 'distcc-clang')
|
||||
optdepends=('kdialog: needed for file dialogs in KDE'
|
||||
'pipewire: WebRTC desktop sharing under Wayland'
|
||||
optdepends=('pipewire: WebRTC desktop sharing under Wayland'
|
||||
'kdialog: needed for file dialogs in KDE'
|
||||
'gnome-keyring: for storing passwords in GNOME keyring'
|
||||
'kwallet: for storing passwords in KWallet')
|
||||
install=chromium.install
|
||||
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
|
||||
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
|
||||
include-memory-in-one_euro_filter.h.patch
|
||||
link-against-harfbuzz-subset.patch
|
||||
fix-wrong-string-initialization-in-LinkedHashSet.patch
|
||||
include-limits-in-web_time_range.cc.patch
|
||||
add-missing-include-for-unique_ptr.patch
|
||||
dns_util-make-DohUpgradeEntry-non-const.patch
|
||||
fix-shutdown-crash-in-ProfileManager.patch
|
||||
chromium-system-icu.patch
|
||||
chromium-system-zlib.patch
|
||||
fix-spammy-unique-font-matching-log.patch
|
||||
chromium-widevine.patch
|
||||
chromium-skia-harmony.patch
|
||||
0001-crashpad-include-limits.patch)
|
||||
sha256sums=('d792f9b09b1dcfd64e68f47a611c540dd1383dd9abd78ca1e06b2a7e2ff06af8'
|
||||
sha256sums=('ddc5794097d65ba19c1ae359c2057b08921e7b38b7afe9d5ec45f5e8b9a87462'
|
||||
'04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
|
||||
'33a5bcd1df2cc7aa7467fa882790ef143a4497d2b704c9e1ea86c8ede90c2d90'
|
||||
'ab986e4b723dfcedab1bc8dcada07526facae28a8a7ff3345f658532c1d99987'
|
||||
'840f555020751ec284dca35b9317a9dd7dc69fcb910ea1cae2dd7cc9b237dfb7'
|
||||
'd3dfe3c86901a11636972a774ed6c941ac76e38c9e4a384f458043a0a03291a9'
|
||||
'49052e8aa630c4aa57bf46823edc32b7b309493275163c3bb3f9fd390c73356e'
|
||||
'69694ab12a5ced389916c0c5e8c7bdc191544f576b134ddfb2fe9d4ed9ec4494'
|
||||
'4f81612c28957987f7344d8ce2b95a4a63136a8319c9751819436b11c62df057'
|
||||
'e73cc2ee8d3ea35aab18c478d76fdfc68ca4463e1e10306fa1e738c03b3f26b5'
|
||||
'0f7ba6882844542a7226b419dfefc5b6a16b5b7882698bd773b5ee9148aa6e87'
|
||||
'eb67eda4945a89c3b90473fa8dc20637511ca4dcb58879a8ed6bf403700ca9c8'
|
||||
'6fbffe59b886195b92c9a55137cef83021c16593f49714acb20023633e3ebb19'
|
||||
'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b'
|
||||
'771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1'
|
||||
'df99f49ad58b70c9a3e1827d7e80b62e4363419334ed83373cf55b79c17b6f10')
|
||||
|
@ -67,7 +68,7 @@ declare -gA _system_libs=(
|
|||
[libdrm]=
|
||||
[libjpeg]=libjpeg
|
||||
#[libpng]=libpng # https://crbug.com/752403#c10
|
||||
[libvpx]=libvpx
|
||||
#[libvpx]=libvpx # https://github.com/webmproject/libvpx/commit/5a0242ba5c
|
||||
[libwebp]=libwebp
|
||||
[libxml]=libxml2
|
||||
[libxslt]=libxslt
|
||||
|
@ -113,22 +114,22 @@ prepare() {
|
|||
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
|
||||
third_party/libxml/chromium/libxml_utils.cc
|
||||
|
||||
# https://crbug.com/819294
|
||||
patch -Np1 -i ../include-memory-in-one_euro_filter.h.patch
|
||||
# Missing include in third_party/blink/public/platform/web_rtc_rtp_source.h
|
||||
patch -Np1 -i ../add-missing-include-for-unique_ptr.patch
|
||||
|
||||
# https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ
|
||||
patch -Np1 -i ../link-against-harfbuzz-subset.patch
|
||||
# https://crbug.com/957519#c23
|
||||
patch -Np1 -i ../dns_util-make-DohUpgradeEntry-non-const.patch
|
||||
|
||||
# https://crbug.com/980025
|
||||
patch -Np1 -i ../fix-wrong-string-initialization-in-LinkedHashSet.patch
|
||||
|
||||
# https://crbug.com/992832
|
||||
patch -Np1 -i ../include-limits-in-web_time_range.cc.patch
|
||||
# https://crbug.com/1005244
|
||||
patch -Np1 -i ../fix-shutdown-crash-in-ProfileManager.patch
|
||||
|
||||
# Fixes from Gentoo
|
||||
patch -Np1 -i ../chromium-system-icu.patch
|
||||
patch -Np1 -i ../chromium-system-zlib.patch
|
||||
|
||||
# https://crbug.com/1005508
|
||||
patch -Np1 -i ../fix-spammy-unique-font-matching-log.patch
|
||||
|
||||
# Load Widevine CDM if available
|
||||
patch -Np1 -i ../chromium-widevine.patch
|
||||
|
||||
|
@ -201,14 +202,18 @@ build() {
|
|||
"google_default_client_secret=\"${_google_default_client_secret}\""
|
||||
)
|
||||
|
||||
if check_option strip y; then
|
||||
_flags+=('symbol_level=0')
|
||||
fi
|
||||
|
||||
# Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
|
||||
CFLAGS+=' -Wno-builtin-macro-redefined'
|
||||
CXXFLAGS+=' -Wno-builtin-macro-redefined'
|
||||
CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__='
|
||||
|
||||
if check_option strip y; then
|
||||
_flags+=('symbol_level=0')
|
||||
fi
|
||||
# Do not warn about unknown warning options
|
||||
CFLAGS+=' -Wno-unknown-warning-option'
|
||||
CXXFLAGS+=' -Wno-unknown-warning-option'
|
||||
|
||||
gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2
|
||||
ninja -C out/Release chrome chrome_sandbox chromedriver
|
||||
|
|
30
extra/chromium/add-missing-include-for-unique_ptr.patch
Normal file
30
extra/chromium/add-missing-include-for-unique_ptr.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
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"
|
||||
|
|
@ -1,25 +1,13 @@
|
|||
From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001
|
||||
From: Your Name <you@example.com>
|
||||
Date: Fri, 28 Jun 2019 15:56:23 +0000
|
||||
Subject: [PATCH] update zlib
|
||||
|
||||
---
|
||||
third_party/perfetto/gn/BUILD.gn | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn
|
||||
index c951f5f..297eee3 100644
|
||||
index 3bc618a..e0ddf6d 100644
|
||||
--- a/third_party/perfetto/gn/BUILD.gn
|
||||
+++ b/third_party/perfetto/gn/BUILD.gn
|
||||
@@ -200,7 +200,7 @@ group("zlib") {
|
||||
@@ -244,7 +244,7 @@ if (enable_perfetto_trace_processor || perfetto_build_standalone ||
|
||||
"//buildtools:zlib",
|
||||
]
|
||||
} else if (build_with_chromium) {
|
||||
} else {
|
||||
- public_configs = [ "//third_party/zlib:zlib_config" ]
|
||||
+ public_configs = [ "//third_party/zlib:system_zlib" ]
|
||||
public_deps = [
|
||||
"//third_party/zlib",
|
||||
]
|
||||
--
|
||||
2.21.0
|
||||
|
||||
|
|
86
extra/chromium/dns_util-make-DohUpgradeEntry-non-const.patch
Normal file
86
extra/chromium/dns_util-make-DohUpgradeEntry-non-const.patch
Normal file
|
@ -0,0 +1,86 @@
|
|||
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) {
|
45
extra/chromium/fix-shutdown-crash-in-ProfileManager.patch
Normal file
45
extra/chromium/fix-shutdown-crash-in-ProfileManager.patch
Normal file
|
@ -0,0 +1,45 @@
|
|||
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
|
13
extra/chromium/fix-spammy-unique-font-matching-log.patch
Normal file
13
extra/chromium/fix-spammy-unique-font-matching-log.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
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,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,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") {
|
Loading…
Reference in a new issue