chromium-browser 87.0.4280.109

This commit is contained in:
Idris Kalp
2021-01-05 22:15:22 +03:00
parent 827a6a5d80
commit 8e53e58ac7
13 changed files with 634 additions and 13 deletions
+13 -6
View File
@@ -31,9 +31,12 @@ def setup():
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/libxml_utils.cc")
opt = 'use_sysroot=false \
opt = 'custom_toolchain="//build/toolchain/linux/unbundle:default" \
host_toolchain="//build/toolchain/linux/unbundle:default" \
use_sysroot=false \
enable_nacl=true \
enable_nacl_nonsfi=true \
rtc_use_pipewire=true \
use_custom_libcxx=true \
clang_use_chrome_plugins=false \
is_official_build=true \
@@ -56,21 +59,25 @@ def setup():
link_pulseaudio=true \
enable_swiftshader=false \
use_vaapi=true \
closure_compile=false'
closure_compile=false \
symbol_level=0'
#clangpath = "%s/chromium-%s/third_party/llvm-build/Release+Asserts/bin/" %(get.workDIR(), get.srcVERSION())
shelltools.export("CC", "clang" )
shelltools.export("CXX", "clang++" )
#shelltools.export("AR", "llvm-ar" )
shelltools.export("AR", "ar" )
shelltools.export("NM", "nm" )
shelltools.export("RANLIB", "ranlib" )
shelltools.export("CFLAGS", "-Wno-builtin-macro-redefined")
shelltools.export("CXXFLAGS", "-Wno-builtin-macro-redefined")
shelltools.export("CFLAGS", "-Wno-builtin-macro-redefined -Wno-unknown-warning-option")
shelltools.export("CXXFLAGS", "-Wno-builtin-macro-redefined -Wno-unknown-warning-option")
shelltools.export("LDFLAGS", " -fuse-ld=lld")
shelltools.export("CPPFLAGS", "-D__DATE__= -D__TIME__= -D__TIMESTAMP__=")
shelltools.system("/usr/bin/python3 build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract")
shelltools.system("/usr/bin/python3 tools/clang/scripts/update.py")
#shelltools.system("/usr/bin/python3 tools/clang/scripts/update.py")
shelltools.system("/usr/bin/python3 tools/gn/bootstrap/bootstrap.py --gn-gen-args '%s'"% opt)
shelltools.system("out/Release/gn gen out/Release --args='%s'"% opt)
@@ -0,0 +1,13 @@
diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h
index b5b193c..4434854 100644
--- a/third_party/protobuf/src/google/protobuf/repeated_field.h
+++ b/third_party/protobuf/src/google/protobuf/repeated_field.h
@@ -804,7 +804,7 @@ class StringTypeHandler {
// RepeatedPtrField is like RepeatedField, but used for repeated strings or
// Messages.
template <typename Element>
-class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
public:
RepeatedPtrField();
explicit RepeatedPtrField(Arena* arena);
@@ -0,0 +1,81 @@
From 5d66d5907ac3e76d1e382b8a8e8afe653bd00f4c Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Sun, 31 May 2020 13:59:15 +0000
Subject: [PATCH] Fix GCC build with PROTOBUF_USE_DLLS enabled
GCC does not allow mixing __attribute__(()) syntax and alignas()
syntax. Re-use approach from chromium base/compiler_specific.h
---
.../protobuf/src/google/protobuf/arena.h | 2 +-
.../protobuf/src/google/protobuf/port_def.inc | 29 +++++++++++++++++++
.../src/google/protobuf/port_undef.inc | 1 +
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/third_party/protobuf/src/google/protobuf/arena.h b/third_party/protobuf/src/google/protobuf/arena.h
index dedc221..a8515ce 100644
--- a/third_party/protobuf/src/google/protobuf/arena.h
+++ b/third_party/protobuf/src/google/protobuf/arena.h
@@ -245,7 +245,7 @@ struct ArenaOptions {
// well as protobuf container types like RepeatedPtrField and Map. The protocol
// is internal to protobuf and is not guaranteed to be stable. Non-proto types
// should not rely on this protocol.
-class PROTOBUF_EXPORT alignas(8) Arena final {
+class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final {
public:
// Arena constructor taking custom options. See ArenaOptions below for
// descriptions of the options available.
diff --git a/third_party/protobuf/src/google/protobuf/port_def.inc b/third_party/protobuf/src/google/protobuf/port_def.inc
index f1bd85d..6d02b53 100644
--- a/third_party/protobuf/src/google/protobuf/port_def.inc
+++ b/third_party/protobuf/src/google/protobuf/port_def.inc
@@ -528,6 +528,35 @@ PROTOBUF_EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport));
#undef IN
#endif // _MSC_VER
+// Specify memory alignment for structs, classes, etc.
+// Use like:
+// class PROTOBUF_ALIGNAS(16) MyClass { ... }
+// PROTOBUF_ALIGNAS(16) int array[4];
+//
+// In most places you can use the C++11 keyword "alignas", which is preferred.
+//
+// But compilers have trouble mixing __attribute__((...)) syntax with
+// alignas(...) syntax.
+//
+// Doesn't work in clang or gcc:
+// struct alignas(16) __attribute__((packed)) S { char c; };
+// Works in clang but not gcc:
+// struct __attribute__((packed)) alignas(16) S2 { char c; };
+// Works in clang and gcc:
+// struct alignas(16) S3 { char c; } __attribute__((packed));
+//
+// There are also some attributes that must be specified *before* a class
+// definition: visibility (used for exporting functions/classes) is one of
+// these attributes. This means that it is not possible to use alignas() with a
+// class that is marked as exported.
+#if defined(_MSC_VER)
+#define PROTOBUF_ALIGNAS(byte_alignment) __declspec(align(byte_alignment))
+#elif defined(__GNUC__)
+#define PROTOBUF_ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))
+#else
+#define PROTOBUF_ALIGNAS(byte_alignment) alignas(byte_alignment)
+#endif
+
#if defined(__clang__)
#pragma clang diagnostic push
// TODO(gerbens) ideally we cleanup the code. But a cursory try shows many
diff --git a/third_party/protobuf/src/google/protobuf/port_undef.inc b/third_party/protobuf/src/google/protobuf/port_undef.inc
index b7e67fe..ba1fffc 100644
--- a/third_party/protobuf/src/google/protobuf/port_undef.inc
+++ b/third_party/protobuf/src/google/protobuf/port_undef.inc
@@ -80,6 +80,7 @@
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport
+#undef PROTOBUF_ALIGNAS
--
2.26.2
@@ -0,0 +1,33 @@
From 08ac7188f414218ac9d764e29e7aa64a6bfc2f96 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Sun, 31 May 2020 10:02:03 +0000
Subject: [PATCH] disable clang-format for generated code in blink
For GCC builds clang-format might be not available. Additionally,
current scripts look for clang-format within chromium sources and
don't consider system clang-format.
---
.../bindings/scripts/bind_gen/codegen_utils.py | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py
index 7021f1a..33bf5bf 100644
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py
@@ -150,12 +150,4 @@ def write_code_node_to_file(code_node, filepath):
rendered_text = render_code_node(code_node)
- format_result = style_format.auto_format(rendered_text, filename=filepath)
- if not format_result.did_succeed:
- raise RuntimeError("Style-formatting failed: filename = {filename}\n"
- "---- stderr ----\n"
- "{stderr}:".format(
- filename=format_result.filename,
- stderr=format_result.error_message))
-
- web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents)
+ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text)
--
2.26.2
@@ -0,0 +1,36 @@
From c4f6e8cd34a245c3640b86a91c9694d69594d80b Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Wed, 16 Sep 2020 15:05:02 +0000
Subject: [PATCH] IWYU: ui::CursorFactory is now required independent from
Ozone
---
.../ui/views/chrome_browser_main_extra_parts_views_linux.cc | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
index 5a97d61..ccedd2a 100644
--- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
@@ -7,6 +7,7 @@
#include "chrome/browser/themes/theme_service_aura_linux.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/views/theme_profile_key.h"
+#include "ui/base/cursor/cursor_factory.h"
#include "ui/display/screen.h"
#include "ui/views/linux_ui/linux_ui.h"
@@ -15,10 +16,6 @@
#include "ui/gtk/gtk_ui_delegate.h"
#endif
-#if defined(USE_OZONE)
-#include "ui/base/cursor/cursor_factory.h"
-#endif
-
#if defined(USE_X11)
#include "ui/gfx/x/connection.h" // nogncheck
#if BUILDFLAG(USE_GTK)
--
2.26.2
@@ -0,0 +1,22 @@
Bug: https://bugs.gentoo.org/750038
Upstream bug: https://crbug.com/1135070
--- a/content/browser/service_worker/service_worker_container_host.cc
+++ b/content/browser/service_worker/service_worker_container_host.cc
@@ -626,6 +626,16 @@
int64_t registration_id) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
DCHECK(base::Contains(registration_object_hosts_, registration_id));
+
+ // ServiceWorkerRegistrationObjectHost to be deleted may have the last reference to
+ // ServiceWorkerRegistration that indirectly owns this ServiceWorkerContainerHost.
+ // If we erase the object host directly from the map, |this| could be deleted
+ // during the map operation and may crash. To avoid the case, we take the
+ // ownership of the object host from the map first, and then erase the entry
+ // from the map. See https://crbug.com/1135070 for details.
+ std::unique_ptr<ServiceWorkerRegistrationObjectHost> to_be_deleted =
+ std::move(registration_object_hosts_[registration_id]);
+ DCHECK(to_be_deleted);
registration_object_hosts_.erase(registration_id);
}
@@ -0,0 +1,178 @@
From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Thu, 1 Oct 2020 18:14:51 +0000
Subject: [PATCH] Disable various compiler configs
---
build/config/compiler/BUILD.gn | 71 ++++++++--------------------------
1 file changed, 17 insertions(+), 54 deletions(-)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 4f6461b..b5d2c77 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -254,8 +254,6 @@ config("compiler") {
configs += [
# See the definitions below.
- ":clang_revision",
- ":compiler_cpu_abi",
":compiler_codegen",
":compiler_deterministic",
]
@@ -480,36 +478,6 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
- if (is_clang && !is_nacl && !use_xcode_clang) {
- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-
- cflags += [
- # TODO(hans): Remove this once Clang generates better optimized debug info
- # by default. https://crbug.com/765793
- "-mllvm",
- "-instcombine-lower-dbg-declare=0",
- ]
-
- # Pinned clang has enable-dse-memoryssa enabled by default but it's broken,
- # so we have to force it off.
- # Trunk clang has it disabled by default but it might work, so we force it
- # on so the ToT bots can check if it works now.
- if (!llvm_force_head_revision) {
- cflags += [
- # TODO(https://crbug.com/1127713): Investigate, remove.
- "-mllvm",
- "-enable-dse-memoryssa=false",
- ]
- }
- if (llvm_force_head_revision) {
- cflags += [
- # TODO(https://crbug.com/1127713): Investigate, remove.
- "-mllvm",
- "-enable-dse-memoryssa=true",
- ]
- }
- }
-
# C11/C++11 compiler flags setup.
# ---------------------------
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
@@ -1571,7 +1539,7 @@ config("chromium_code") {
defines = [ "_HAS_NODISCARD" ]
}
} else {
- cflags = [ "-Wall" ]
+ cflags = []
if (treat_warnings_as_errors) {
cflags += [ "-Werror" ]
@@ -1580,10 +1548,6 @@ config("chromium_code") {
# well.
ldflags = [ "-Werror" ]
}
- if (is_clang) {
- # Enable extra warnings for chromium_code when we control the compiler.
- cflags += [ "-Wextra" ]
- }
# In Chromium code, we define __STDC_foo_MACROS in order to get the
# C99 macros on Mac and Linux.
@@ -1592,15 +1556,6 @@ config("chromium_code") {
"__STDC_FORMAT_MACROS",
]
- if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
- current_cpu != "s390" && current_cpu != "ppc64" &&
- current_cpu != "mips" && current_cpu != "mips64") {
- # Non-chromium code is not guaranteed to compile cleanly with
- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
- # disabled, so only do that for Release build.
- defines += [ "_FORTIFY_SOURCE=2" ]
- }
-
if (is_mac) {
cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
@@ -1998,7 +1953,8 @@ config("default_stack_frames") {
}
# Default "optimization on" config.
-config("optimize") {
+config("optimize") { }
+config("xoptimize") {
if (is_win) {
if (chrome_pgo_phase != 2) {
# Favor size over speed, /O1 must be before the common flags.
@@ -2033,7 +1989,8 @@ config("optimize") {
}
# Turn off optimizations.
-config("no_optimize") {
+config("no_optimize") { }
+config("xno_optimize") {
if (is_win) {
cflags = [
"/Od", # Disable optimization.
@@ -2073,7 +2030,8 @@ config("no_optimize") {
# Turns up the optimization level. On Windows, this implies whole program
# optimization and link-time code generation which is very expensive and should
# be used sparingly.
-config("optimize_max") {
+config("optimize_max") { }
+config("xoptimize_max") {
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
@@ -2105,7 +2063,8 @@ config("optimize_max") {
#
# TODO(crbug.com/621335) - rework how all of these configs are related
# so that we don't need this disclaimer.
-config("optimize_speed") {
+config("optimize_speed") { }
+config("xoptimize_speed") {
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
@@ -2130,7 +2089,8 @@ config("optimize_speed") {
}
}
-config("optimize_fuzzing") {
+config("optimize_fuzzing") { }
+config("xoptimize_fuzzing") {
cflags = [ "-O1" ] + common_optimize_on_cflags
ldflags = common_optimize_on_ldflags
visibility = [ ":default_optimization" ]
@@ -2247,7 +2207,8 @@ config("win_pdbaltpath") {
}
# Full symbols.
-config("symbols") {
+config("symbols") { }
+config("xsymbols") {
if (is_win) {
if (is_clang) {
cflags = [ "/Z7" ] # Debug information in the .obj files.
@@ -2355,7 +2316,8 @@ config("symbols") {
# Minimal symbols.
# This config guarantees to hold symbol for stack trace which are shown to user
# when crash happens in unittests running on buildbot.
-config("minimal_symbols") {
+config("minimal_symbols") { }
+config("xminimal_symbols") {
if (is_win) {
# Functions, files, and line tables only.
cflags = []
@@ -2408,7 +2370,8 @@ config("minimal_symbols") {
# This configuration contains function names only. That is, the compiler is
# told to not generate debug information and the linker then just puts function
# names in the final debug information.
-config("no_symbols") {
+config("no_symbols") { }
+config("xno_symbols") {
if (is_win) {
ldflags = [ "/DEBUG" ]
--
2.26.2
@@ -0,0 +1,25 @@
From 0c0af4cabb7490db473cd2c28f069956974a4d98 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Fri, 2 Oct 2020 12:11:58 +0000
Subject: [PATCH] IWYU: uint8_t is defined in stdint.h
---
third_party/openscreen/src/util/crypto/random_bytes.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/openscreen/src/util/crypto/random_bytes.h b/third_party/openscreen/src/util/crypto/random_bytes.h
index 3cb2fa8..025b52c 100644
--- a/third_party/openscreen/src/util/crypto/random_bytes.h
+++ b/third_party/openscreen/src/util/crypto/random_bytes.h
@@ -7,6 +7,8 @@
#include <array>
+#include <stdint.h>
+
namespace openscreen {
std::array<uint8_t, 16> GenerateRandomBytes16();
--
2.26.2
@@ -0,0 +1,39 @@
From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Fri, 6 Nov 2020 11:18:42 +0000
Subject: [PATCH] GCC: fix attribute on function definition
GCC does not accept attributes at the end for function definitions.
Solution is to move it before function name. Otherwise GCC fails like
this:
../../base/compiler_specific.h:97:28: error: attributes are not allowed
on a function-definition
97 | #define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
| ^~~~~~~~~~~~~
../../media/gpu/vaapi/vaapi_wrapper.h:322:36: note: in
expansion of macro 'WARN_UNUSED_RESULT'
322 | const T* data) WARN_UNUSED_RESULT {
| ^~~~~~~~~~~~~~~~~~
---
media/gpu/vaapi/vaapi_wrapper.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h
index fd1fd82..deeda1f 100644
--- a/media/gpu/vaapi/vaapi_wrapper.h
+++ b/media/gpu/vaapi/vaapi_wrapper.h
@@ -318,8 +318,8 @@ class MEDIA_GPU_EXPORT VaapiWrapper
// Convenient templatized version of SubmitBuffer() where |size| is deduced to
// be the size of the type of |*data|.
template <typename T>
- bool SubmitBuffer(VABufferType va_buffer_type,
- const T* data) WARN_UNUSED_RESULT {
+ bool WARN_UNUSED_RESULT SubmitBuffer(VABufferType va_buffer_type,
+ const T* data) {
return SubmitBuffer(va_buffer_type, sizeof(T), data);
}
// Batch-version of SubmitBuffer(), where the lock for accessing libva is
--
2.26.2
@@ -0,0 +1,14 @@
--- a/base/strings/char_traits.h
+++ b/base/strings/char_traits.h
@@ -67,9 +67,9 @@
return __builtin_memcmp(s1, s2, n);
#else
for (; n; --n, ++s1, ++s2) {
- if (*s1 < *s2)
+ if ((unsigned char)*s1 < (unsigned char)*s2)
return -1;
- if (*s1 > *s2)
+ if ((unsigned char)*s1 > (unsigned char)*s2)
return 1;
}
return 0;
@@ -0,0 +1,100 @@
From f25787b72c20e97cdeb74e037dc1ff56a88b45c6 Mon Sep 17 00:00:00 2001
From: Ben Wagner <bungeman@google.com>
Date: Tue, 1 Dec 2020 20:22:00 -0500
Subject: [PATCH] Subpixel anti-aliasing in FreeType 2.8.1+
FreeType 2.8.1 and later always provide some form of subpixel
anti-aliasing.
Bug: skia:10950,skia:6663
Change-Id: I666cc942e73b73073cdabf900c25faa10d9aaf0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/339861
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
---
src/ports/SkFontHost_FreeType.cpp | 33 ++++++++++++++++++++-----------
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
index 990eff4f5e..c0aeb792da 100644
--- a/third_party/skia/src/ports/SkFontHost_FreeType.cpp
+++ b/third_party/skia/src/ports/SkFontHost_FreeType.cpp
@@ -32,6 +32,7 @@
#include "src/utils/SkMatrix22.h"
#include <memory>
+#include <tuple>
#include <ft2build.h>
#include FT_ADVANCES_H
@@ -147,13 +148,16 @@ public:
// *reinterpret_cast<void**>(&procPtr) = dlsym(self, "proc");
// because clang has not implemented DR573. See http://clang.llvm.org/cxx_dr_status.html .
- FT_Int major, minor, patch;
- FT_Library_Version(fLibrary, &major, &minor, &patch);
+ using Version = std::tuple<FT_Int, FT_Int, FT_Int>;
+ Version version;
+ FT_Library_Version(fLibrary, &std::get<0>(version),
+ &std::get<1>(version),
+ &std::get<2>(version));
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070100
fGetVarDesignCoordinates = FT_Get_Var_Design_Coordinates;
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
+ if (Version(2,7,0) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -166,7 +170,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070200
FT_Set_Default_Properties(fLibrary);
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 1))) {
+ if (Version(2,7,1) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -185,7 +189,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080000
fLightHintingIsYOnly = true;
#else
- if (major > 2 || ((major == 2 && minor > 8) || (major == 2 && minor == 8 && patch >= 0))) {
+ if (Version(2,8,0) <= version) {
fLightHintingIsYOnly = true;
}
#endif
@@ -194,7 +198,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080100
fGetVarAxisFlags = FT_Get_Var_Axis_Flags;
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
+ if (Version(2,7,0) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -204,11 +208,18 @@ public:
}
#endif
- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
- // The default has changed over time, so this doesn't mean the same thing to all users.
- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
- fIsLCDSupported = true;
- fLCDExtra = 2; //Using a filter adds one full pixel to each side.
+ fIsLCDSupported =
+ // Subpixel anti-aliasing may be unfiltered until the LCD filter is set.
+ // Newer versions may still need this, so this test with side effects must come first.
+ // The default has changed over time, so this doesn't mean the same thing to all users.
+ (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) ||
+
+ // In 2.8.1 and later FreeType always provides some form of subpixel anti-aliasing.
+ ((SK_FREETYPE_MINIMUM_RUNTIME_VERSION) >= 0x02080100) ||
+ (Version(2,8,1) <= version);
+
+ if (fIsLCDSupported) {
+ fLCDExtra = 2; // Using a filter may require up to one full pixel to each side.
}
}
~FreeTypeLibrary() {
@@ -0,0 +1,58 @@
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-10-07 09:38:47.000000000 -0700
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-10-08 14:09:34.550174093 -0700
@@ -698,7 +698,6 @@
// The X11/ANGLE implementation can use |vaapi_wrapper_| to copy from an
// internal libva buffer into an X Pixmap without having to use a processing
// wrapper.
-#if !defined(USE_X11)
// If we aren't in BufferAllocationMode::kNone, we have to allocate a
// |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
// internal decoded frame.
@@ -708,6 +707,7 @@
VaapiWrapper::kVideoProcess, VAProfileNone,
base::Bind(&ReportVaapiErrorToUMA,
"Media.VaapiVideoDecodeAccelerator.Vpp.VAAPIError"));
+#if !defined(USE_X11)
RETURN_AND_NOTIFY_ON_FAILURE(vpp_vaapi_wrapper_,
"Failed to initialize VppVaapiWrapper",
PLATFORM_FAILURE, );
@@ -715,11 +715,15 @@
RETURN_AND_NOTIFY_ON_FAILURE(
vpp_vaapi_wrapper_->CreateContext(gfx::Size()),
"Failed to create Context", PLATFORM_FAILURE, );
+#else
+ if (vpp_vaapi_wrapper_)
+ vpp_vaapi_wrapper_->CreateContext(gfx::Size());
+#endif // !defined(USE_X11)
}
- vaapi_wrapper_for_picture = vpp_vaapi_wrapper_;
+ vaapi_wrapper_for_picture = (vpp_vaapi_wrapper_)?
+ vpp_vaapi_wrapper_:vaapi_wrapper_for_picture;
}
-#endif // !defined(USE_X11)
for (size_t i = 0; i < buffers.size(); ++i) {
// TODO(b/139460315): Create with buffers[i] once the AMD driver issue is
--- a/ui/gl/gl_image_native_pixmap.cc 2020-05-18 11:40:06.000000000 -0700
+++ b/ui/gl/gl_image_native_pixmap.cc 2020-05-22 02:07:16.007770442 -0700
@@ -288,6 +288,8 @@
std::move(scoped_fd));
}
+ handle.planes[0].size = size_.GetArea();
+
return handle;
#endif // !defined(OS_FUCHSIA)
}
--- a/gpu/command_buffer/service/error_state.cc 2020-05-18 11:39:22.000000000 -0700
+++ b/gpu/command_buffer/service/error_state.cc 2020-05-22 13:43:09.181180388 -0700
@@ -115,6 +115,8 @@
// buffer.
error = GL_NO_ERROR;
}
+ if (error == GL_INVALID_ENUM)
+ error = GL_NO_ERROR;
return error;
}
+22 -7
View File
@@ -13,7 +13,7 @@
<IsA>app:gui</IsA>
<Summary>A WebKit powered web browser</Summary>
<Description>Chromium-browser is an open-source web browser, powered by WebKit.</Description>
<Archive type="tarxz" sha1sum="16d2e8d91b18ae264609d0356df47ba124e89779">http://gsdview.appspot.com/chromium-browser-official/chromium-81.0.4044.122.tar.xz</Archive>
<Archive type="tarxz" sha1sum="cdf291fa6a62fc93074bc77d3b17dd03a6b7acf9">http://gsdview.appspot.com/chromium-browser-official/chromium-87.0.4280.109.tar.xz</Archive>
<BuildDependencies>
<Dependency>alsa-lib-devel</Dependency>
<Dependency>at-spi2-atk-devel</Dependency>
@@ -64,6 +64,7 @@
<Dependency>libxcb-devel</Dependency>
<Dependency>libxslt-devel</Dependency>
<Dependency>llvm-clang-devel</Dependency>
<Dependency>lld-devel</Dependency>
<Dependency>minizip-devel</Dependency>
<Dependency>mit-kerberos</Dependency>
<Dependency>ninja</Dependency>
@@ -94,12 +95,19 @@
<Dependency>mesa-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="0">chromium-skia-harmony.patch</Patch>
<Patch level="1">chromium-widevine.patch</Patch>
<Patch level="1">rebuild-Linux-frame-button-cache-when-activation.patch</Patch>
<Patch level="1">rename-Relayout-in-DesktopWindowTreeHostPlatform.patch</Patch>
<Patch level="1">vaapi-build-fix.patch</Patch>
<Patch level="1">vdpau-support.patch</Patch>
<Patch level="1">subpixel-anti-aliasing-in-FreeType-2.8.1.patch</Patch>
<Patch level="1">wayland-egl.patch</Patch>
<!-- Chromium Patchset -->
<!-- Source: https://github.com/stha09/chromium-patches -->
<Patch level="1">patches/chromium-78-protobuf-RepeatedPtrField-export.patch</Patch>
<Patch level="1">patches/chromium-79-gcc-protobuf-alignas.patch</Patch>
<Patch level="1">patches/chromium-84-blink-disable-clang-format.patch</Patch>
<Patch level="1">patches/chromium-87-CursorFactory-include.patch</Patch>
<Patch level="1">patches/chromium-87-ServiceWorkerContainerHost-crash.patch</Patch>
<Patch level="1">patches/chromium-87-compiler.patch</Patch>
<Patch level="1">patches/chromium-87-openscreen-include.patch</Patch>
<Patch level="1">patches/chromium-88-vaapi-attribute.patch</Patch>
<Patch level="1">patches/chromium-fix-char_traits.patch</Patch>
</Patches>
</Source>
@@ -178,6 +186,13 @@
</Package>
<History>
<Update release="21">
<Date>2021-01-05</Date>
<Version>87.0.4280.109</Version>
<Comment>Version Bump</Comment>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="20">
<Date>2020-04-29</Date>
<Version>81.0.4044.122</Version>