chromium-browser 87.0.4280.109
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
+13
@@ -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
|
||||
|
||||
+33
@@ -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
|
||||
|
||||
+22
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user