$ git show --format=fuller --patch-with-stat --summary ab5b95bac155d2976e4b9c144fc12397df8cd9fe
commit ab5b95bac155d2976e4b9c144fc12397df8cd9fe
Author: Bernhard Rosenkränzer <bero@lindev.ch>
AuthorDate: Fri Apr 17 00:27:22 2020 +0200
Commit: Bernhard Rosenkränzer <bero@lindev.ch>
CommitDate: Fri Apr 17 00:27:22 2020 +0200
83.0.4103.14
---
.abf.yml | 1 +
....0.3538.67-disable-fontconfig-cache-magic.patch | 13 --
chromium-75.0.3770.80-vaapi-i686-fpermissive.patch | 23 ---
...m-75.0.3770.80-vaapi-libva1-compatibility.patch | 14 --
chromium-80-buildfix.patch | 11 --
chromium-80-libstdc++10.patch | 28 ---
chromium-80-unbundle-libxml.patch | 126 --------------
chromium-81-compile.patch | 79 ---------
chromium-81-dont-pretend-vaapi-is-broken.patch | 26 +++
chromium-81-enable-gpu-features.patch | 34 ++++
...ra-media.patch => chromium-81-extra-media.patch | 107 +++++-------
...e-zlib.patch => chromium-81-unbundle-zlib.patch | 6 +-
chromium-83-compile.patch | 187 +++++++++++++++++++++
chromium-83-disable-fontconfig-cache-magic.patch | 13 ++
....3683.75-norar.patch => chromium-83-norar.patch | 24 +--
chromium-browser-beta.spec | 101 +++++++----
chromium-drirc-disable-10bpc-color-configs.conf | 21 +++
chromium-skia-harmony.patch | 14 ++
chromium-system-icu.patch | 28 +++
enable-vaapi.patch | 90 ----------
vdpau-support.patch | 78 +++++++++
21 files changed, 523 insertions(+), 501 deletions(-)
delete mode 100644 chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch
delete mode 100644 chromium-75.0.3770.80-vaapi-i686-fpermissive.patch
delete mode 100644 chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
delete mode 100644 chromium-80-buildfix.patch
delete mode 100644 chromium-80-libstdc++10.patch
delete mode 100644 chromium-80-unbundle-libxml.patch
delete mode 100644 chromium-81-compile.patch
create mode 100644 chromium-81-dont-pretend-vaapi-is-broken.patch
create mode 100644 chromium-81-enable-gpu-features.patch
rename chromium-69-extra-media.patch => chromium-81-extra-media.patch (68%)
rename chromium-78.0.3904.70-unbundle-zlib.patch => chromium-81-unbundle-zlib.patch (51%)
create mode 100644 chromium-83-compile.patch
create mode 100644 chromium-83-disable-fontconfig-cache-magic.patch
rename chromium-73.0.3683.75-norar.patch => chromium-83-norar.patch (60%)
create mode 100644 chromium-drirc-disable-10bpc-color-configs.conf
create mode 100644 chromium-skia-harmony.patch
delete mode 100644 enable-vaapi.patch
create mode 100644 vdpau-support.patch
diff --git a/.abf.yml b/.abf.yml
index 4b52134..2e09a2d 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1 +1,2 @@
sources:
+ chromium-83.0.4103.14.tar.xz: ad0908a7ff49be5723ccb955ad8b2251eedc16b2
diff --git a/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch b/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch
deleted file mode 100644
index 7ec85cb..0000000
--- a/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up chromium-81.0.4044.9/base/test/BUILD.gn.10~ chromium-81.0.4044.9/base/test/BUILD.gn
---- chromium-81.0.4044.9/base/test/BUILD.gn.10~ 2020-02-09 22:26:35.210899010 +0100
-+++ chromium-81.0.4044.9/base/test/BUILD.gn 2020-02-09 22:30:50.403882299 +0100
-@@ -245,9 +245,6 @@ static_library("test_support") {
- if (is_linux) {
- public_deps += [ ":fontconfig_util_linux" ]
- data_deps = [ "//third_party/test_fonts" ]
-- if (current_toolchain == host_toolchain) {
-- data_deps += [ ":do_generate_fontconfig_caches" ]
-- }
- }
-
- if (is_ios) {
diff --git a/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch b/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch
deleted file mode 100644
index 384274a..0000000
--- a/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -up chromium-81.0.4044.9/media/gpu/vaapi/BUILD.gn.24~ chromium-81.0.4044.9/media/gpu/vaapi/BUILD.gn
---- chromium-81.0.4044.9/media/gpu/vaapi/BUILD.gn.24~ 2020-02-05 22:54:12.000000000 +0100
-+++ chromium-81.0.4044.9/media/gpu/vaapi/BUILD.gn 2020-02-09 23:33:25.660636399 +0100
-@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni")
- assert(is_linux)
- assert(use_vaapi)
-
-+config("vaapi_permissive") {
-+ cflags = [ "-fpermissive" ]
-+}
-+
- generate_stubs("libva_stubs") {
- extra_header = "va_stub_header.fragment"
- sigs = [ "va.sigs" ]
-@@ -119,6 +123,8 @@ source_set("vaapi") {
- ]
- }
-
-+ configs += [ ":vaapi_permissive" ]
-+
- if (use_x11) {
- configs += [ "//build/config/linux:x11" ]
- deps += [ "//ui/gfx/x" ]
diff --git a/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch b/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
deleted file mode 100644
index dc0bfcb..0000000
--- a/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
---- chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc.va1compat 2019-06-05 11:35:57.274466969 -0400
-+++ chromium-75.0.3770.80/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc 2019-06-05 11:36:17.201067326 -0400
-@@ -39,6 +39,10 @@ enum VAJDADecoderFailure {
- VAJDA_DECODER_FAILURES_MAX,
- };
-
-+#ifndef VA_FOURCC_I420
-+#define VA_FOURCC_I420 VA_FOURCC('I', '4', '2', '0')
-+#endif
-+
- static void ReportToVAJDADecoderFailureUMA(VAJDADecoderFailure failure) {
- UMA_HISTOGRAM_ENUMERATION("Media.VAJDA.DecoderFailure", failure,
- VAJDA_DECODER_FAILURES_MAX + 1);
diff --git a/chromium-80-buildfix.patch b/chromium-80-buildfix.patch
deleted file mode 100644
index 0b2b539..0000000
--- a/chromium-80-buildfix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up chromium-80.0.3987.53/chrome/common/string_matching/fuzzy_tokenized_string_match.cc.omv~ chromium-80.0.3987.53/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
---- chromium-80.0.3987.53/chrome/common/string_matching/fuzzy_tokenized_string_match.cc.omv~ 2020-01-21 20:23:08.610659274 +0100
-+++ chromium-80.0.3987.53/chrome/common/string_matching/fuzzy_tokenized_string_match.cc 2020-01-21 20:23:16.758659017 +0100
-@@ -6,6 +6,7 @@
-
- #include <algorithm>
- #include <iterator>
-+#include <cmath>
-
- #include "base/i18n/case_conversion.h"
- #include "base/metrics/field_trial_params.h"
diff --git a/chromium-80-libstdc++10.patch b/chromium-80-libstdc++10.patch
deleted file mode 100644
index ffaac17..0000000
--- a/chromium-80-libstdc++10.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.omv~ chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h
---- chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.omv~ 2020-02-11 16:45:08.740925266 +0100
-+++ chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h 2020-02-11 16:45:17.468924694 +0100
-@@ -8,6 +8,7 @@
- #include <stddef.h>
- #include <stdint.h>
-
-+#include <string>
- #include <unordered_map>
-
- #include "base/base_export.h"
-diff -up chromium-80.0.3987.87/third_party/angle/include/platform/Platform.h.omv~ chromium-80.0.3987.87/third_party/angle/include/platform/Platform.h
---- chromium-80.0.3987.87/third_party/angle/include/platform/Platform.h.omv~ 2020-02-11 17:29:25.432751301 +0100
-+++ chromium-80.0.3987.87/third_party/angle/include/platform/Platform.h 2020-02-11 17:29:33.342750783 +0100
-@@ -236,11 +236,11 @@ inline void DefaultOverrideFeaturesMtl(P
- using ProgramKeyType = std::array<uint8_t, 20>;
- using CacheProgramFunc = void (*)(PlatformMethods *platform,
- const ProgramKeyType &key,
-- size_t programSize,
-+ std::size_t programSize,
- const uint8_t *programBytes);
- inline void DefaultCacheProgram(PlatformMethods *platform,
- const ProgramKeyType &key,
-- size_t programSize,
-+ std::size_t programSize,
- const uint8_t *programBytes)
- {}
-
diff --git a/chromium-80-unbundle-libxml.patch b/chromium-80-unbundle-libxml.patch
deleted file mode 100644
index 6194a8b..0000000
--- a/chromium-80-unbundle-libxml.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-diff -up chromium-80.0.3987.53/base/test/BUILD.gn.omv~ chromium-80.0.3987.53/base/test/BUILD.gn
---- chromium-80.0.3987.53/base/test/BUILD.gn.omv~ 2020-01-21 00:36:16.356116037 +0100
-+++ chromium-80.0.3987.53/base/test/BUILD.gn 2020-01-21 00:36:33.714115195 +0100
-@@ -226,8 +226,7 @@ static_library("test_support") {
- "//testing/gmock",
- "//testing/gtest",
- "//third_party/icu:icuuc",
-- "//third_party/libxml:libxml_utils",
-- "//third_party/libxml:xml_reader",
-+ "//third_party/libxml:system_libxml",
- ]
-
- if (is_posix || is_fuchsia) {
-@@ -298,8 +297,7 @@ static_library("test_support") {
- public_deps -= [ "//base:i18n" ]
- deps -= [
- "//third_party/icu:icuuc",
-- "//third_party/libxml:libxml_utils",
-- "//third_party/libxml:xml_reader",
-+ "//third_party/libxml:system_libxml",
- ]
- }
- }
-diff -up chromium-80.0.3987.53/chrome/browser/BUILD.gn.omv~ chromium-80.0.3987.53/chrome/browser/BUILD.gn
---- chromium-80.0.3987.53/chrome/browser/BUILD.gn.omv~ 2020-01-21 00:37:48.048111588 +0100
-+++ chromium-80.0.3987.53/chrome/browser/BUILD.gn 2020-01-21 00:37:53.502111324 +0100
-@@ -2220,7 +2220,7 @@ jumbo_static_library("browser") {
- "//third_party/icu",
- "//third_party/leveldatabase",
- "//third_party/libaddressinput",
-- "//third_party/libxml:xml_writer",
-+ "//third_party/libxml:system_libxml",
- "//third_party/libyuv",
- "//third_party/metrics_proto",
- "//third_party/re2",
-diff -up chromium-80.0.3987.53/components/policy/core/common/BUILD.gn.omv~ chromium-80.0.3987.53/components/policy/core/common/BUILD.gn
---- chromium-80.0.3987.53/components/policy/core/common/BUILD.gn.omv~ 2020-01-21 00:36:51.556114329 +0100
-+++ chromium-80.0.3987.53/components/policy/core/common/BUILD.gn 2020-01-21 00:37:05.326113661 +0100
-@@ -173,7 +173,7 @@ jumbo_source_set("internal") {
- "//net",
- "//services/identity/public/cpp:cpp_types",
- "//services/network/public/cpp",
-- "//third_party/libxml:xml_writer",
-+ "//third_party/libxml:system_libxml",
- "//third_party/re2",
- "//url",
- ]
-@@ -422,7 +422,7 @@ source_set("unit_tests") {
- "//services/network:test_support",
- "//testing/gmock",
- "//testing/gtest",
-- "//third_party/libxml:xml_reader",
-+ "//third_party/libxml:system_libxml",
- ]
- }
-
-diff -up chromium-80.0.3987.53/components/wifi/BUILD.gn.omv~ chromium-80.0.3987.53/components/wifi/BUILD.gn
---- chromium-80.0.3987.53/components/wifi/BUILD.gn.omv~ 2020-01-21 00:37:16.767113106 +0100
-+++ chromium-80.0.3987.53/components/wifi/BUILD.gn 2020-01-21 00:37:32.265112354 +0100
-@@ -26,8 +26,8 @@ jumbo_component("wifi") {
- if (is_win) {
- libs = [ "iphlpapi.lib" ]
- deps += [
-- "//third_party/libxml:xml_reader", # Safe, data come from system.
-- "//third_party/libxml:xml_writer",
-+ "//third_party/libxml:system_libxml", # Safe, data come from system.
-+ "//third_party/libxml:system_libxml",
- ]
- }
-
-diff -up chromium-80.0.3987.53/services/data_decoder/BUILD.gn.omv~ chromium-80.0.3987.53/services/data_decoder/BUILD.gn
---- chromium-80.0.3987.53/services/data_decoder/BUILD.gn.omv~ 2020-01-21 00:39:16.162107314 +0100
-+++ chromium-80.0.3987.53/services/data_decoder/BUILD.gn 2020-01-21 00:39:31.204106584 +0100
-@@ -33,7 +33,7 @@ source_set("lib") {
- "//mojo/public/cpp/bindings",
- "//net",
- "//skia",
-- "//third_party/libxml:xml_reader",
-+ "//third_party/libxml:system_libxml",
- "//ui/gfx",
- "//ui/gfx/geometry",
- ]
-@@ -117,8 +117,7 @@ fuzzer_test("xml_parser_fuzzer") {
- deps = [
- ":lib",
- "//base",
-- "//third_party/libxml:libxml_utils",
-- "//third_party/libxml:xml_reader",
-+ "//third_party/libxml:system_libxml",
- ]
- dict = "//third_party/libxml/fuzz/xml.dict"
- seed_corpus = "//third_party/libxml/fuzz/seed_corpus"
-diff -up chromium-80.0.3987.53/testing/libfuzzer/fuzzers/BUILD.gn.omv~ chromium-80.0.3987.53/testing/libfuzzer/fuzzers/BUILD.gn
---- chromium-80.0.3987.53/testing/libfuzzer/fuzzers/BUILD.gn.omv~ 2020-01-21 00:38:50.140108576 +0100
-+++ chromium-80.0.3987.53/testing/libfuzzer/fuzzers/BUILD.gn 2020-01-21 00:39:05.881107812 +0100
-@@ -70,7 +70,7 @@ fuzzer_test("template_url_parser_fuzzer"
- "//mojo/core/embedder",
- "//services/data_decoder/public/cpp",
- "//services/data_decoder/public/cpp:test_support",
-- "//third_party/libxml:libxml",
-+ "//third_party/libxml:system_libxml",
- ]
- dict = "//third_party/libxml/fuzz/xml.dict"
- libfuzzer_options = [ "max_len=4096" ]
-@@ -137,7 +137,7 @@ fuzzer_test("libxml_xml_read_memory_fuzz
- "libxml_xml_read_memory_fuzzer.cc",
- ]
- deps = [
-- "//third_party/libxml:libxml",
-+ "//third_party/libxml:system_libxml",
- ]
- dict = "//third_party/libxml/fuzz/xml.dict"
- seed_corpus = "//third_party/libxml/fuzz/seed_corpus"
-diff -up chromium-80.0.3987.53/tools/traffic_annotation/auditor/BUILD.gn.omv~ chromium-80.0.3987.53/tools/traffic_annotation/auditor/BUILD.gn
---- chromium-80.0.3987.53/tools/traffic_annotation/auditor/BUILD.gn.omv~ 2020-01-21 00:38:30.795109515 +0100
-+++ chromium-80.0.3987.53/tools/traffic_annotation/auditor/BUILD.gn 2020-01-21 00:38:41.250109007 +0100
-@@ -70,8 +70,7 @@ source_set("auditor_sources") {
- ":traffic_annotation",
- "//base",
- "//net/traffic_annotation",
-- "//third_party/libxml:xml_reader", # Safe, consumes Chromium-produced file.
-- "//third_party/libxml:xml_writer",
-+ "//third_party/libxml:system_libxml", # Safe, consumes Chromium-produced file.
- "//third_party/protobuf:protobuf_full",
- "//third_party/re2",
- ]
diff --git a/chromium-81-compile.patch b/chromium-81-compile.patch
deleted file mode 100644
index 249b536..0000000
--- a/chromium-81-compile.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -up chromium-81.0.4044.26/media/cdm/supported_cdm_versions.h.omv~ chromium-81.0.4044.26/media/cdm/supported_cdm_versions.h
---- chromium-81.0.4044.26/media/cdm/supported_cdm_versions.h.omv~ 2020-02-21 22:16:45.640175009 +0100
-+++ chromium-81.0.4044.26/media/cdm/supported_cdm_versions.h 2020-02-21 22:16:51.817175281 +0100
-@@ -52,7 +52,7 @@ constexpr bool IsSupportedCdmModuleVersi
- // Returns whether the CDM interface of |version| is supported in the
- // implementation.
- constexpr bool IsSupportedCdmInterfaceVersion(int version) {
-- for (size_t i = 0; i < kSupportedCdmInterfaceVersions.size(); ++i) {
-+ for (std::size_t i = 0; i < kSupportedCdmInterfaceVersions.size(); ++i) {
- if (kSupportedCdmInterfaceVersions[i].version == version)
- return true;
- }
-@@ -70,7 +70,7 @@ constexpr bool IsSupportedCdmHostVersion
-
- // Returns whether the CDM interface of |version| is enabled by default.
- constexpr bool IsCdmInterfaceVersionEnabledByDefault(int version) {
-- for (size_t i = 0; i < kSupportedCdmInterfaceVersions.size(); ++i) {
-+ for (std::size_t i = 0; i < kSupportedCdmInterfaceVersions.size(); ++i) {
- if (kSupportedCdmInterfaceVersions[i].version == version)
- return kSupportedCdmInterfaceVersions[i].enabled;
- }
-diff -up chromium-81.0.4044.26/media/gpu/vaapi/vaapi_picture_tfp.cc.omv~ chromium-81.0.4044.26/media/gpu/vaapi/vaapi_picture_tfp.cc
---- chromium-81.0.4044.26/media/gpu/vaapi/vaapi_picture_tfp.cc.omv~ 2020-02-21 22:27:55.749719348 +0100
-+++ chromium-81.0.4044.26/media/gpu/vaapi/vaapi_picture_tfp.cc 2020-02-21 22:35:51.348696274 +0100
-@@ -57,7 +57,7 @@ bool VaapiTFPPicture::Initialize() {
- if (make_context_current_cb_ && !make_context_current_cb_.Run())
- return false;
-
-- glx_image_ = new gl::GLImageGLX(size_, GL_RGB);
-+ glx_image_ = new gl::GLImageGLX(size_, gfx::BufferFormat::RGBX_8888);
- if (!glx_image_->Initialize(x_pixmap_)) {
- // x_pixmap_ will be freed in the destructor.
- DLOG(ERROR) << "Failed creating a GLX Pixmap for TFP";
-diff -up chromium-81.0.4044.26/media/mojo/services/gpu_mojo_media_client.cc.omv~ chromium-81.0.4044.26/media/mojo/services/gpu_mojo_media_client.cc
-diff -up chromium-81.0.4044.26/third_party/perfetto/include/perfetto/base/task_runner.h.omv~ chromium-81.0.4044.26/third_party/perfetto/include/perfetto/base/task_runner.h
---- chromium-81.0.4044.26/third_party/perfetto/include/perfetto/base/task_runner.h.omv~ 2020-02-21 19:59:19.467811395 +0100
-+++ chromium-81.0.4044.26/third_party/perfetto/include/perfetto/base/task_runner.h 2020-02-21 19:59:26.643811711 +0100
-@@ -18,6 +18,7 @@
- #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
-
- #include <functional>
-+#include <cstdint>
-
- #include "perfetto/base/export.h"
-
-diff -up chromium-81.0.4044.26/third_party/webrtc/call/rtx_receive_stream.h.omv~ chromium-81.0.4044.26/third_party/webrtc/call/rtx_receive_stream.h
---- chromium-81.0.4044.26/third_party/webrtc/call/rtx_receive_stream.h.omv~ 2020-02-21 21:13:24.896007416 +0100
-+++ chromium-81.0.4044.26/third_party/webrtc/call/rtx_receive_stream.h 2020-02-21 21:13:32.049007731 +0100
-@@ -12,6 +12,7 @@
- #define CALL_RTX_RECEIVE_STREAM_H_
-
- #include <map>
-+#include <cstdint>
-
- #include "call/rtp_packet_sink_interface.h"
-
-diff -up chromium-81.0.4044.26/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.omv~ chromium-81.0.4044.26/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
---- chromium-81.0.4044.26/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.omv~ 2020-02-21 21:25:18.455038880 +0100
-+++ chromium-81.0.4044.26/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-02-21 21:25:23.648039109 +0100
-@@ -31,7 +31,7 @@ class ClockdriftDetector {
- private:
- std::array<int, 3> delay_history_;
- Level level_;
-- size_t stability_counter_;
-+ std::size_t stability_counter_;
- };
- } // namespace webrtc
-
-diff -up chromium-81.0.4044.26/ui/gfx/linux/drm_util_linux.h.omv~ chromium-81.0.4044.26/ui/gfx/linux/drm_util_linux.h
---- chromium-81.0.4044.26/ui/gfx/linux/drm_util_linux.h.omv~ 2020-02-21 19:29:40.493732951 +0100
-+++ chromium-81.0.4044.26/ui/gfx/linux/drm_util_linux.h 2020-02-21 19:29:46.970733237 +0100
-@@ -6,6 +6,7 @@
- #define UI_GFX_LINUX_DRM_UTIL_LINUX_H_
-
- #include "ui/gfx/buffer_types.h"
-+#include <cstdint>
-
- namespace ui {
-
diff --git a/chromium-81-dont-pretend-vaapi-is-broken.patch b/chromium-81-dont-pretend-vaapi-is-broken.patch
new file mode 100644
index 0000000..58172c6
--- /dev/null
+++ b/chromium-81-dont-pretend-vaapi-is-broken.patch
@@ -0,0 +1,26 @@
+diff -up chromium-81.0.4044.92/gpu/config/software_rendering_list.json.omv~ chromium-81.0.4044.92/gpu/config/software_rendering_list.json
+--- chromium-81.0.4044.92/gpu/config/software_rendering_list.json.omv~ 2020-04-14 21:39:20.199909945 +0200
++++ chromium-81.0.4044.92/gpu/config/software_rendering_list.json 2020-04-14 21:39:41.903603086 +0200
+@@ -336,22 +336,6 @@
+ ]
+ },
+ {
+- "id": 48,
+- "description": "Accelerated video decode is unavailable on Linux",
+- "cr_bugs": [137247, 1032907],
+- "os": {
+- "type": "linux"
+- },
+- "exceptions": [
+- {
+- "machine_model_name": ["Chromecast"]
+- }
+- ],
+- "features": [
+- "accelerated_video_decode"
+- ]
+- },
+- {
+ "id": 50,
+ "description": "Disable VMware software renderer on older Mesa",
+ "cr_bugs": [145531, 332596, 571899, 629434],
diff --git a/chromium-81-enable-gpu-features.patch b/chromium-81-enable-gpu-features.patch
new file mode 100644
index 0000000..8324444
--- /dev/null
+++ b/chromium-81-enable-gpu-features.patch
@@ -0,0 +1,34 @@
+diff -up chromium-81.0.4044.92/gpu/config/gpu_finch_features.cc.omv~ chromium-81.0.4044.92/gpu/config/gpu_finch_features.cc
+--- chromium-81.0.4044.92/gpu/config/gpu_finch_features.cc.omv~ 2020-04-14 21:45:54.420225847 +0200
++++ chromium-81.0.4044.92/gpu/config/gpu_finch_features.cc 2020-04-14 21:51:07.452169158 +0200
+@@ -25,9 +25,10 @@ const base::Feature kDisableSurfaceContr
+ // Enable GPU Rasterization by default. This can still be overridden by
+ // --force-gpu-rasterization or --disable-gpu-rasterization.
+ #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID) || defined(OS_FUCHSIA)
++ defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX)
+ // DefaultEnableGpuRasterization has launched on Mac, Windows, ChromeOS, and
+-// Android.
++// Android. And of course it works on Linux too, just because Google hates Linux
++// doesn't mean we have to.
+ const base::Feature kDefaultEnableGpuRasterization{
+ "DefaultEnableGpuRasterization", base::FEATURE_ENABLED_BY_DEFAULT};
+ #else
+@@ -37,7 +38,7 @@ const base::Feature kDefaultEnableGpuRas
+
+ // Enable out of process rasterization by default. This can still be overridden
+ // by --enable-oop-rasterization or --disable-oop-rasterization.
+-#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX)
++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_LINUX)
+ const base::Feature kDefaultEnableOopRasterization{
+ "DefaultEnableOopRasterization", base::FEATURE_ENABLED_BY_DEFAULT};
+ #else
+@@ -58,7 +59,7 @@ const base::Feature kGpuProcessHighPrior
+ #endif
+
+ // Use ThreadPriority::DISPLAY for GPU main, viz compositor and IO threads.
+-#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_WIN)
++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_LINUX)
+ const base::Feature kGpuUseDisplayThreadPriority{
+ "GpuUseDisplayThreadPriority", base::FEATURE_ENABLED_BY_DEFAULT};
+ #else
diff --git a/chromium-69-extra-media.patch b/chromium-81-extra-media.patch
similarity index 68%
rename from chromium-69-extra-media.patch
rename to chromium-81-extra-media.patch
index 40bd056..8ee195a 100644
--- a/chromium-69-extra-media.patch
+++ b/chromium-81-extra-media.patch
@@ -1,6 +1,6 @@
-diff -up chromium-81.0.4044.9/media/base/audio_codecs.cc.29~ chromium-81.0.4044.9/media/base/audio_codecs.cc
---- chromium-81.0.4044.9/media/base/audio_codecs.cc.29~ 2020-02-05 22:53:06.000000000 +0100
-+++ chromium-81.0.4044.9/media/base/audio_codecs.cc 2020-02-09 23:39:59.179610630 +0100
+diff -up chromium-81.0.4044.92/media/base/audio_codecs.cc.29~ chromium-81.0.4044.92/media/base/audio_codecs.cc
+--- chromium-81.0.4044.92/media/base/audio_codecs.cc.29~ 2020-04-03 06:10:46.000000000 +0200
++++ chromium-81.0.4044.92/media/base/audio_codecs.cc 2020-04-13 14:26:16.191198335 +0200
@@ -46,6 +46,10 @@ std::string GetCodecName(AudioCodec code
return "ac3";
case kCodecMpegHAudio:
@@ -23,9 +23,9 @@ diff -up chromium-81.0.4044.9/media/base/audio_codecs.cc.29~ chromium-81.0.4044.
return kUnknownAudioCodec;
}
-diff -up chromium-81.0.4044.9/media/base/audio_codecs.h.29~ chromium-81.0.4044.9/media/base/audio_codecs.h
---- chromium-81.0.4044.9/media/base/audio_codecs.h.29~ 2020-02-09 23:38:09.302617825 +0100
-+++ chromium-81.0.4044.9/media/base/audio_codecs.h 2020-02-09 23:40:33.552608380 +0100
+diff -up chromium-81.0.4044.92/media/base/audio_codecs.h.29~ chromium-81.0.4044.92/media/base/audio_codecs.h
+--- chromium-81.0.4044.92/media/base/audio_codecs.h.29~ 2020-04-12 15:37:58.182850697 +0200
++++ chromium-81.0.4044.92/media/base/audio_codecs.h 2020-04-13 14:25:37.209757394 +0200
@@ -33,13 +33,15 @@ enum AudioCodec {
kCodecALAC = 15,
kCodecAC3 = 16,
@@ -43,9 +43,9 @@ diff -up chromium-81.0.4044.9/media/base/audio_codecs.h.29~ chromium-81.0.4044.9
};
enum class AudioCodecProfile {
-diff -up chromium-81.0.4044.9/media/base/mime_util_internal.cc.29~ chromium-81.0.4044.9/media/base/mime_util_internal.cc
---- chromium-81.0.4044.9/media/base/mime_util_internal.cc.29~ 2020-02-05 22:53:06.000000000 +0100
-+++ chromium-81.0.4044.9/media/base/mime_util_internal.cc 2020-02-09 23:38:09.308617825 +0100
+diff -up chromium-81.0.4044.92/media/base/mime_util_internal.cc.29~ chromium-81.0.4044.92/media/base/mime_util_internal.cc
+--- chromium-81.0.4044.92/media/base/mime_util_internal.cc.29~ 2020-04-03 06:10:46.000000000 +0200
++++ chromium-81.0.4044.92/media/base/mime_util_internal.cc 2020-04-12 15:37:58.182850697 +0200
@@ -89,6 +89,10 @@ const StringToCodecMap& GetStringToCodec
{"vp8", MimeUtil::VP8},
{"vp8.0", MimeUtil::VP8},
@@ -135,9 +135,9 @@ diff -up chromium-81.0.4044.9/media/base/mime_util_internal.cc.29~ chromium-81.0
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
AddContainerWithCodecs("audio/aac", implicit_codec); // AAC / ADTS.
// These strings are supported for backwards compatibility only and thus only
-diff -up chromium-81.0.4044.9/media/base/mime_util_internal.h.29~ chromium-81.0.4044.9/media/base/mime_util_internal.h
---- chromium-81.0.4044.9/media/base/mime_util_internal.h.29~ 2020-02-05 22:53:06.000000000 +0100
-+++ chromium-81.0.4044.9/media/base/mime_util_internal.h 2020-02-09 23:38:09.311617825 +0100
+diff -up chromium-81.0.4044.92/media/base/mime_util_internal.h.29~ chromium-81.0.4044.92/media/base/mime_util_internal.h
+--- chromium-81.0.4044.92/media/base/mime_util_internal.h.29~ 2020-04-03 06:10:46.000000000 +0200
++++ chromium-81.0.4044.92/media/base/mime_util_internal.h 2020-04-12 15:37:58.182850697 +0200
@@ -47,7 +47,11 @@ class MEDIA_EXPORT MimeUtil {
DOLBY_VISION,
AV1,
@@ -151,9 +151,9 @@ diff -up chromium-81.0.4044.9/media/base/mime_util_internal.h.29~ chromium-81.0.
};
// Platform configuration structure. Controls which codecs are supported at
-diff -up chromium-81.0.4044.9/media/base/supported_types.cc.29~ chromium-81.0.4044.9/media/base/supported_types.cc
---- chromium-81.0.4044.9/media/base/supported_types.cc.29~ 2020-02-05 22:53:06.000000000 +0100
-+++ chromium-81.0.4044.9/media/base/supported_types.cc 2020-02-09 23:41:22.662605164 +0100
+diff -up chromium-81.0.4044.92/media/base/supported_types.cc.29~ chromium-81.0.4044.92/media/base/supported_types.cc
+--- chromium-81.0.4044.92/media/base/supported_types.cc.29~ 2020-04-03 06:11:34.000000000 +0200
++++ chromium-81.0.4044.92/media/base/supported_types.cc 2020-04-13 14:27:13.657848219 +0200
@@ -163,6 +163,7 @@ bool IsAudioCodecProprietary(AudioCodec
case kCodecAAC:
case kCodecAC3:
@@ -215,9 +215,9 @@ diff -up chromium-81.0.4044.9/media/base/supported_types.cc.29~ chromium-81.0.40
case kCodecDolbyVision:
return false;
-diff -up chromium-81.0.4044.9/media/ffmpeg/ffmpeg_common.cc.29~ chromium-81.0.4044.9/media/ffmpeg/ffmpeg_common.cc
---- chromium-81.0.4044.9/media/ffmpeg/ffmpeg_common.cc.29~ 2020-02-09 23:38:09.318617824 +0100
-+++ chromium-81.0.4044.9/media/ffmpeg/ffmpeg_common.cc 2020-02-09 23:43:45.020595842 +0100
+diff -up chromium-81.0.4044.92/media/ffmpeg/ffmpeg_common.cc.29~ chromium-81.0.4044.92/media/ffmpeg/ffmpeg_common.cc
+--- chromium-81.0.4044.92/media/ffmpeg/ffmpeg_common.cc.29~ 2020-04-12 15:37:58.182850697 +0200
++++ chromium-81.0.4044.92/media/ffmpeg/ffmpeg_common.cc 2020-04-13 14:31:35.807811237 +0200
@@ -124,6 +124,10 @@ AudioCodec CodecIDToAudioCodec(AVCodecID
case AV_CODEC_ID_MPEGH_3D_AUDIO:
return kCodecMpegHAudio;
@@ -244,52 +244,25 @@ diff -up chromium-81.0.4044.9/media/ffmpeg/ffmpeg_common.cc.29~ chromium-81.0.40
default:
DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
}
-@@ -347,29 +359,6 @@ bool AVCodecContextToAudioDecoderConfig(
+@@ -347,6 +359,7 @@ bool AVCodecContextToAudioDecoderConfig(
codec_context->channels);
int sample_rate = codec_context->sample_rate;
-- switch (codec) {
-- // For AC3/EAC3 we enable only demuxing, but not decoding, so FFmpeg does
-- // not fill |sample_fmt|.
-- case kCodecAC3:
-- case kCodecEAC3:
--#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
-- // The spec for AC3/EAC3 audio is ETSI TS 102 366. According to sections
-- // F.3.1 and F.5.1 in that spec the sample_format for AC3/EAC3 must be 16.
-- sample_format = kSampleFormatS16;
--#else
-- NOTREACHED();
--#endif
-- break;
--#if BUILDFLAG(ENABLE_PLATFORM_MPEG_H_AUDIO)
-- case kCodecMpegHAudio:
-- channel_layout = CHANNEL_LAYOUT_BITSTREAM;
-- sample_format = kSampleFormatMpegHAudio;
-- break;
--#endif
--
-- default:
-- break;
-- }
++#if 0
+ switch (codec) {
+ // For AC3/EAC3 we enable only demuxing, but not decoding, so FFmpeg does
+ // not fill |sample_fmt|.
+@@ -370,6 +383,7 @@ bool AVCodecContextToAudioDecoderConfig(
+ default:
+ break;
+ }
++#endif
base::TimeDelta seek_preroll;
if (codec_context->seek_preroll > 0) {
-@@ -399,12 +388,6 @@ bool AVCodecContextToAudioDecoderConfig(
- if (channel_layout == CHANNEL_LAYOUT_DISCRETE)
- config->SetChannelsForDiscrete(codec_context->channels);
-
--#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
-- // These are bitstream formats unknown to ffmpeg, so they don't have
-- // a known sample format size.
-- if (codec == kCodecAC3 || codec == kCodecEAC3)
-- return true;
--#endif
- #if BUILDFLAG(ENABLE_PLATFORM_MPEG_H_AUDIO)
- if (codec == kCodecMpegHAudio)
- return true;
-diff -up chromium-81.0.4044.9/media/filters/ffmpeg_video_decoder.cc.29~ chromium-81.0.4044.9/media/filters/ffmpeg_video_decoder.cc
---- chromium-81.0.4044.9/media/filters/ffmpeg_video_decoder.cc.29~ 2020-02-05 22:53:06.000000000 +0100
-+++ chromium-81.0.4044.9/media/filters/ffmpeg_video_decoder.cc 2020-02-09 23:38:09.325617824 +0100
+diff -up chromium-81.0.4044.92/media/filters/ffmpeg_video_decoder.cc.29~ chromium-81.0.4044.92/media/filters/ffmpeg_video_decoder.cc
+--- chromium-81.0.4044.92/media/filters/ffmpeg_video_decoder.cc.29~ 2020-04-03 06:11:34.000000000 +0200
++++ chromium-81.0.4044.92/media/filters/ffmpeg_video_decoder.cc 2020-04-12 15:37:58.182850697 +0200
@@ -38,7 +38,6 @@ static int GetFFmpegVideoDecoderThreadCo
case kUnknownVideoCodec:
case kCodecVC1:
@@ -306,9 +279,9 @@ diff -up chromium-81.0.4044.9/media/filters/ffmpeg_video_decoder.cc.29~ chromium
// Normalize to three threads for 1080p content, then scale linearly
// with number of pixels.
// Examples:
-diff -up chromium-81.0.4044.9/media/remoting/media_remoting_rpc.proto.29~ chromium-81.0.4044.9/media/remoting/media_remoting_rpc.proto
---- chromium-81.0.4044.9/media/remoting/media_remoting_rpc.proto.29~ 2020-02-05 22:53:07.000000000 +0100
-+++ chromium-81.0.4044.9/media/remoting/media_remoting_rpc.proto 2020-02-09 23:38:09.333617823 +0100
+diff -up chromium-81.0.4044.92/media/remoting/media_remoting_rpc.proto.29~ chromium-81.0.4044.92/media/remoting/media_remoting_rpc.proto
+--- chromium-81.0.4044.92/media/remoting/media_remoting_rpc.proto.29~ 2020-04-03 06:10:46.000000000 +0200
++++ chromium-81.0.4044.92/media/remoting/media_remoting_rpc.proto 2020-04-12 15:37:58.182850697 +0200
@@ -67,6 +67,8 @@ message AudioDecoderConfig {
kCodecALAC = 15;
kCodecAC3 = 16;
@@ -318,9 +291,9 @@ diff -up chromium-81.0.4044.9/media/remoting/media_remoting_rpc.proto.29~ chromi
}
// Proto version of media::SampleFormat.
-diff -up chromium-81.0.4044.9/media/remoting/proto_enum_utils.cc.29~ chromium-81.0.4044.9/media/remoting/proto_enum_utils.cc
---- chromium-81.0.4044.9/media/remoting/proto_enum_utils.cc.29~ 2020-02-05 22:53:07.000000000 +0100
-+++ chromium-81.0.4044.9/media/remoting/proto_enum_utils.cc 2020-02-09 23:38:09.341617823 +0100
+diff -up chromium-81.0.4044.92/media/remoting/proto_enum_utils.cc.29~ chromium-81.0.4044.92/media/remoting/proto_enum_utils.cc
+--- chromium-81.0.4044.92/media/remoting/proto_enum_utils.cc.29~ 2020-04-03 06:10:46.000000000 +0200
++++ chromium-81.0.4044.92/media/remoting/proto_enum_utils.cc 2020-04-12 15:37:58.182850697 +0200
@@ -60,6 +60,8 @@ base::Optional<AudioCodec> ToMediaAudioC
CASE_RETURN_OTHER(kCodecALAC);
CASE_RETURN_OTHER(kCodecAC3);
@@ -339,9 +312,9 @@ diff -up chromium-81.0.4044.9/media/remoting/proto_enum_utils.cc.29~ chromium-81
}
return base::nullopt; // Not a 'default' to ensure compile-time checks.
}
-diff -up chromium-81.0.4044.9/net/base/mime_util.cc.29~ chromium-81.0.4044.9/net/base/mime_util.cc
---- chromium-81.0.4044.9/net/base/mime_util.cc.29~ 2020-02-05 22:53:08.000000000 +0100
-+++ chromium-81.0.4044.9/net/base/mime_util.cc 2020-02-09 23:38:09.341617823 +0100
+diff -up chromium-81.0.4044.92/net/base/mime_util.cc.29~ chromium-81.0.4044.92/net/base/mime_util.cc
+--- chromium-81.0.4044.92/net/base/mime_util.cc.29~ 2020-04-03 06:10:47.000000000 +0200
++++ chromium-81.0.4044.92/net/base/mime_util.cc 2020-04-12 15:37:58.183850708 +0200
@@ -165,6 +165,9 @@ static const MimeInfo kPrimaryMappings[]
{"image/png", "png"},
{"image/apng", "png"},
diff --git a/chromium-78.0.3904.70-unbundle-zlib.patch b/chromium-81-unbundle-zlib.patch
similarity index 51%
rename from chromium-78.0.3904.70-unbundle-zlib.patch
rename to chromium-81-unbundle-zlib.patch
index 08bb5b3..4c9131c 100644
--- a/chromium-78.0.3904.70-unbundle-zlib.patch
+++ b/chromium-81-unbundle-zlib.patch
@@ -1,6 +1,6 @@
-diff -up chromium-81.0.4044.9/third_party/perfetto/gn/BUILD.gn.17~ chromium-81.0.4044.9/third_party/perfetto/gn/BUILD.gn
---- chromium-81.0.4044.9/third_party/perfetto/gn/BUILD.gn.17~ 2020-02-09 22:34:37.020867460 +0100
-+++ chromium-81.0.4044.9/third_party/perfetto/gn/BUILD.gn 2020-02-09 22:43:03.876834270 +0100
+diff -up chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.17~ chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn
+--- chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.17~ 2020-04-12 15:32:26.125149888 +0200
++++ chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn 2020-04-12 15:33:39.545967688 +0200
@@ -294,7 +294,7 @@ if (enable_perfetto_zlib) {
public_configs = [ "//buildtools:zlib_config" ]
public_deps = [ "//buildtools:zlib" ]
diff --git a/chromium-83-compile.patch b/chromium-83-compile.patch
new file mode 100644
index 0000000..8a3c84e
--- /dev/null
+++ b/chromium-83-compile.patch
@@ -0,0 +1,187 @@
+diff -up chromium-83.0.4103.7/extensions/browser/install/crx_install_error.cc.omv~ chromium-83.0.4103.7/extensions/browser/install/crx_install_error.cc
+--- chromium-83.0.4103.7/extensions/browser/install/crx_install_error.cc.omv~ 2020-04-15 02:00:04.125064921 +0200
++++ chromium-83.0.4103.7/extensions/browser/install/crx_install_error.cc 2020-04-15 02:03:16.476574794 +0200
+@@ -76,10 +76,14 @@ bool CrxInstallError::IsCrxVerificationF
+ return false;
+ const SandboxedUnpackerFailureReason unpacker_failure_reason =
+ sandbox_failure_detail();
+- return std::find(std::begin(kVerificationFailureReasons),
++ for(int i=0; i<sizeof(kVerificationFailureReasons)/sizeof(SandboxedUnpackerFailureReason); i++)
++ if(kVerificationFailureReasons[i] == unpacker_failure_reason)
++ return true;
++/* return std::find(std::begin(kVerificationFailureReasons),
+ std::end(kVerificationFailureReasons),
+ unpacker_failure_reason) !=
+- std::end(kVerificationFailureReasons);
++ std::end(kVerificationFailureReasons); */
++ return false;
+ }
+
+ } // namespace extensions
+diff -up chromium-83.0.4103.7/ui/gfx/linux/drm_util_linux.h.omv~ chromium-83.0.4103.7/ui/gfx/linux/drm_util_linux.h
+--- chromium-83.0.4103.7/ui/gfx/linux/drm_util_linux.h.omv~ 2020-04-15 02:03:37.801631329 +0200
++++ chromium-83.0.4103.7/ui/gfx/linux/drm_util_linux.h 2020-04-15 02:03:44.796649873 +0200
+@@ -6,6 +6,7 @@
+ #define UI_GFX_LINUX_DRM_UTIL_LINUX_H_
+
+ #include "ui/gfx/buffer_types.h"
++#include <cstdint>
+
+ namespace ui {
+
+diff -up chromium-83.0.4103.7/third_party/webrtc/call/rtx_receive_stream.h.omv~ chromium-83.0.4103.7/third_party/webrtc/call/rtx_receive_stream.h
+--- chromium-83.0.4103.7/third_party/webrtc/call/rtx_receive_stream.h.omv~ 2020-04-15 22:28:18.663843345 +0200
++++ chromium-83.0.4103.7/third_party/webrtc/call/rtx_receive_stream.h 2020-04-15 22:28:29.857944267 +0200
+@@ -12,6 +12,7 @@
+ #define CALL_RTX_RECEIVE_STREAM_H_
+
+ #include <map>
++#include <cstdint>
+
+ #include "call/rtp_packet_sink_interface.h"
+
+diff -up chromium-83.0.4103.7/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.omv~ chromium-83.0.4103.7/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+--- chromium-83.0.4103.7/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.omv~ 2020-04-15 22:28:51.655140762 +0200
++++ chromium-83.0.4103.7/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-04-15 22:28:54.212163813 +0200
+@@ -31,7 +31,7 @@ class ClockdriftDetector {
+ private:
+ std::array<int, 3> delay_history_;
+ Level level_;
+- size_t stability_counter_;
++ std::size_t stability_counter_;
+ };
+ } // namespace webrtc
+
+diff -up chromium-83.0.4103.7/base/strings/string16.h.omv~ chromium-83.0.4103.7/base/strings/string16.h
+diff -up chromium-83.0.4103.7/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc.omv~ chromium-83.0.4103.7/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
+--- chromium-83.0.4103.7/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc.omv~ 2020-04-16 01:08:39.294191150 +0200
++++ chromium-83.0.4103.7/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc 2020-04-16 01:09:05.740103071 +0200
+@@ -2,6 +2,7 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <limits>
+ #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
+ #include "base/logging.h"
+
+diff -up chromium-83.0.4103.7/chrome/browser/search/background/ntp_backgrounds.h.omv~ chromium-83.0.4103.7/chrome/browser/search/background/ntp_backgrounds.h
+--- chromium-83.0.4103.7/chrome/browser/search/background/ntp_backgrounds.h.omv~ 2020-04-16 01:09:41.383772340 +0200
++++ chromium-83.0.4103.7/chrome/browser/search/background/ntp_backgrounds.h 2020-04-16 01:09:45.235637089 +0200
+@@ -9,7 +9,7 @@
+
+ class GURL;
+
+-const size_t kNtpBackgroundsCount = 5;
++const std::size_t kNtpBackgroundsCount = 5;
+ std::array<GURL, kNtpBackgroundsCount> GetNtpBackgrounds();
+
+ #endif // CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
+diff -up chromium-83.0.4103.7/components/printing/common/print_messages.cc.omv~ chromium-83.0.4103.7/components/printing/common/print_messages.cc
+diff -up chromium-83.0.4103.7/printing/common/metafile_utils.h.omv~ chromium-83.0.4103.7/printing/common/metafile_utils.h
+--- chromium-83.0.4103.7/printing/common/metafile_utils.h.omv~ 2020-04-15 23:48:52.005519519 +0200
++++ chromium-83.0.4103.7/printing/common/metafile_utils.h 2020-04-15 23:49:03.044638136 +0200
+@@ -14,6 +14,7 @@
+ #include "third_party/skia/include/core/SkRefCnt.h"
+ #include "third_party/skia/include/core/SkSerialProcs.h"
+ #include "third_party/skia/include/core/SkStream.h"
++#include "ui/accessibility/ax_tree.h"
+ #include "ui/accessibility/ax_tree_update_forward.h"
+
+ namespace printing {
+diff -up chromium-83.0.4103.7/third_party/blink/public/common/user_agent/user_agent_metadata.h.omv~ chromium-83.0.4103.7/third_party/blink/public/common/user_agent/user_agent_metadata.h
+--- chromium-83.0.4103.7/third_party/blink/public/common/user_agent/user_agent_metadata.h.omv~ 2020-04-16 02:35:12.287975120 +0200
++++ chromium-83.0.4103.7/third_party/blink/public/common/user_agent/user_agent_metadata.h 2020-04-16 02:35:17.575562336 +0200
+@@ -5,6 +5,7 @@
+ #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_USER_AGENT_USER_AGENT_METADATA_H_
+ #define THIRD_PARTY_BLINK_PUBLIC_COMMON_USER_AGENT_USER_AGENT_METADATA_H_
+
++#include <iterator>
+ #include <string>
+
+ #include "base/optional.h"
+diff -up chromium-83.0.4103.7/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h.omv~ chromium-83.0.4103.7/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
+--- chromium-83.0.4103.7/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h.omv~ 2020-04-16 17:42:21.913168530 +0200
++++ chromium-83.0.4103.7/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h 2020-04-16 17:44:07.175860076 +0200
+@@ -270,10 +270,14 @@ class CORE_EXPORT SerializedScriptValue
+ bool IsLockedToAgentCluster() const {
+ return !wasm_modules_.IsEmpty() ||
+ !shared_array_buffers_contents_.IsEmpty() ||
++#if 0 // FIXME
+ std::any_of(attachments_.begin(), attachments_.end(),
+ [](const auto& entry) {
+ return entry.value->IsLockedToAgentCluster();
+ });
++#else
++ 0;
++#endif
+ }
+
+ // Returns true after serializing script values that remote origins cannot
+diff -up chromium-83.0.4103.7/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h.omv~ chromium-83.0.4103.7/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+--- chromium-83.0.4103.7/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h.omv~ 2020-04-16 19:39:30.411760144 +0200
++++ chromium-83.0.4103.7/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h 2020-04-16 19:39:36.263974228 +0200
+@@ -5,6 +5,7 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+
++#include <memory>
+ #include "base/optional.h"
+ #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h"
+ #include "third_party/blink/renderer/core/core_export.h"
+diff -up chromium-83.0.4103.7/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.cc.omv~ chromium-83.0.4103.7/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.cc
+--- chromium-83.0.4103.7/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.cc.omv~ 2020-04-16 21:07:13.133570379 +0200
++++ chromium-83.0.4103.7/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.cc 2020-04-16 21:07:23.805265954 +0200
+@@ -112,6 +112,7 @@ void NGPhysicalContainerFragment::AddOut
+ }
+ DCHECK(item.IsText());
+ }
++#if 0
+ // Don't add |Children()|. If |this| has |NGFragmentItems|, children are
+ // either line box, which we already handled in items, or OOF, which we
+ // should ignore.
+@@ -120,6 +121,7 @@ void NGPhysicalContainerFragment::AddOut
+ return child->IsLineBox() ||
+ child->IsOutOfFlowPositioned();
+ }));
++#endif
+ return;
+ }
+ }
+diff -up chromium-83.0.4103.7/ui/accessibility/ax_tree.cc.omv~ chromium-83.0.4103.7/ui/accessibility/ax_tree.cc
+--- chromium-83.0.4103.7/ui/accessibility/ax_tree.cc.omv~ 2020-04-15 23:52:11.058657504 +0200
++++ chromium-83.0.4103.7/ui/accessibility/ax_tree.cc 2020-04-15 23:52:24.700803972 +0200
+@@ -567,15 +567,6 @@ struct AXTreeUpdateState {
+ const AXTree& tree;
+ };
+
+-struct AXTree::NodeSetSizePosInSetInfo {
+- NodeSetSizePosInSetInfo() = default;
+- ~NodeSetSizePosInSetInfo() = default;
+-
+- int32_t pos_in_set = 0;
+- int32_t set_size = 0;
+- base::Optional<int> lowest_hierarchical_level;
+-};
+-
+ struct AXTree::OrderedSetContent {
+ explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
+ : ordered_set_(ordered_set) {}
+diff -up chromium-83.0.4103.7/ui/accessibility/ax_tree.h.omv~ chromium-83.0.4103.7/ui/accessibility/ax_tree.h
+--- chromium-83.0.4103.7/ui/accessibility/ax_tree.h.omv~ 2020-04-15 23:51:24.248154880 +0200
++++ chromium-83.0.4103.7/ui/accessibility/ax_tree.h 2020-04-15 23:53:28.242486088 +0200
+@@ -328,7 +328,14 @@ class AX_EXPORT AXTree : public AXNode::
+ bool enable_extra_mac_nodes_ = false;
+
+ // Contains pos_in_set and set_size data for an AXNode.
+- struct NodeSetSizePosInSetInfo;
++ struct NodeSetSizePosInSetInfo {
++ NodeSetSizePosInSetInfo() = default;
++ ~NodeSetSizePosInSetInfo() = default;
++
++ int32_t pos_in_set = 0;
++ int32_t set_size = 0;
++ base::Optional<int> lowest_hierarchical_level;
++ };
+
+ // Represents the content of an ordered set which includes the ordered set
+ // items and the ordered set container if it exists.
diff --git a/chromium-83-disable-fontconfig-cache-magic.patch b/chromium-83-disable-fontconfig-cache-magic.patch
new file mode 100644
index 0000000..e833799
--- /dev/null
+++ b/chromium-83-disable-fontconfig-cache-magic.patch
@@ -0,0 +1,13 @@
+diff -up chromium-83.0.4103.7/base/test/BUILD.gn.9~ chromium-83.0.4103.7/base/test/BUILD.gn
+--- chromium-83.0.4103.7/base/test/BUILD.gn.9~ 2020-04-15 00:44:37.601219031 +0200
++++ chromium-83.0.4103.7/base/test/BUILD.gn 2020-04-15 00:45:03.905130488 +0200
+@@ -188,9 +188,6 @@ static_library("test_support") {
+ sources += [ "test_file_util_linux.cc" ]
+ public_deps += [ ":fontconfig_util_linux" ]
+ data_deps = [ "//third_party/test_fonts" ]
+- if (current_toolchain == host_toolchain) {
+- data_deps += [ ":do_generate_fontconfig_caches" ]
+- }
+ }
+
+ if (is_mac) {
diff --git a/chromium-73.0.3683.75-norar.patch b/chromium-83-norar.patch
similarity index 60%
rename from chromium-73.0.3683.75-norar.patch
rename to chromium-83-norar.patch
index 6067564..b135998 100644
--- a/chromium-73.0.3683.75-norar.patch
+++ b/chromium-83-norar.patch
@@ -1,7 +1,7 @@
-diff -up chromium-81.0.4044.9/chrome/common/safe_browsing/BUILD.gn.8~ chromium-81.0.4044.9/chrome/common/safe_browsing/BUILD.gn
---- chromium-81.0.4044.9/chrome/common/safe_browsing/BUILD.gn.8~ 2020-02-09 21:59:02.213007251 +0100
-+++ chromium-81.0.4044.9/chrome/common/safe_browsing/BUILD.gn 2020-02-09 22:24:02.894908983 +0100
-@@ -72,39 +72,6 @@ if (safe_browsing_mode == 1) {
+diff -up chromium-83.0.4103.7/chrome/common/safe_browsing/BUILD.gn.omv~ chromium-83.0.4103.7/chrome/common/safe_browsing/BUILD.gn
+--- chromium-83.0.4103.7/chrome/common/safe_browsing/BUILD.gn.omv~ 2020-04-15 01:15:08.911005377 +0200
++++ chromium-83.0.4103.7/chrome/common/safe_browsing/BUILD.gn 2020-04-15 01:15:26.456048937 +0200
+@@ -57,39 +57,6 @@ if (safe_browsing_mode == 1) {
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
}
@@ -14,10 +14,10 @@ diff -up chromium-81.0.4044.9/chrome/common/safe_browsing/BUILD.gn.8~ chromium-8
- deps = [
- ":archive_analyzer_results",
- ":download_type_util",
-- ":file_type_policies",
- "//base",
- "//base:i18n",
- "//components/safe_browsing/core:features",
+- "//components/safe_browsing/core:file_type_policies",
- "//third_party/unrar:unrar",
- ]
-
@@ -41,7 +41,7 @@ diff -up chromium-81.0.4044.9/chrome/common/safe_browsing/BUILD.gn.8~ chromium-8
source_set("disk_image_type_sniffer_mac") {
sources = [
"disk_image_type_sniffer_mac.cc",
-@@ -171,7 +138,6 @@ source_set("safe_browsing") {
+@@ -156,7 +123,6 @@ source_set("safe_browsing") {
":archive_analyzer_results",
":binary_feature_extractor",
":download_type_util",
@@ -49,9 +49,9 @@ diff -up chromium-81.0.4044.9/chrome/common/safe_browsing/BUILD.gn.8~ chromium-8
"//components/safe_browsing/core:features",
]
-diff -up chromium-81.0.4044.9/chrome/common/safe_browsing/DEPS.8~ chromium-81.0.4044.9/chrome/common/safe_browsing/DEPS
---- chromium-81.0.4044.9/chrome/common/safe_browsing/DEPS.8~ 2020-02-05 22:52:56.000000000 +0100
-+++ chromium-81.0.4044.9/chrome/common/safe_browsing/DEPS 2020-02-09 21:59:02.213007251 +0100
+diff -up chromium-83.0.4103.7/chrome/common/safe_browsing/DEPS.omv~ chromium-83.0.4103.7/chrome/common/safe_browsing/DEPS
+--- chromium-83.0.4103.7/chrome/common/safe_browsing/DEPS.omv~ 2020-04-15 01:15:33.091065436 +0200
++++ chromium-83.0.4103.7/chrome/common/safe_browsing/DEPS 2020-04-15 01:15:35.261070835 +0200
@@ -1,6 +1,5 @@
include_rules = [
"+components/safe_browsing",
@@ -59,9 +59,9 @@ diff -up chromium-81.0.4044.9/chrome/common/safe_browsing/DEPS.8~ chromium-81.0.
- "+third_party/unrar",
"+third_party/zlib",
]
-diff -up chromium-81.0.4044.9/chrome/services/file_util/safe_archive_analyzer.cc.8~ chromium-81.0.4044.9/chrome/services/file_util/safe_archive_analyzer.cc
---- chromium-81.0.4044.9/chrome/services/file_util/safe_archive_analyzer.cc.8~ 2020-02-05 22:52:56.000000000 +0100
-+++ chromium-81.0.4044.9/chrome/services/file_util/safe_archive_analyzer.cc 2020-02-09 21:59:02.213007251 +0100
+diff -up chromium-83.0.4103.7/chrome/services/file_util/safe_archive_analyzer.cc.omv~ chromium-83.0.4103.7/chrome/services/file_util/safe_archive_analyzer.cc
+--- chromium-83.0.4103.7/chrome/services/file_util/safe_archive_analyzer.cc.omv~ 2020-04-15 01:15:49.168105472 +0200
++++ chromium-83.0.4103.7/chrome/services/file_util/safe_archive_analyzer.cc 2020-04-15 01:16:06.725149286 +0200
@@ -46,10 +46,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
base::File temporary_file,
diff --git a/chromium-browser-beta.spec b/chromium-browser-beta.spec
index 7a210b2..0e864e7 100644
--- a/chromium-browser-beta.spec
+++ b/chromium-browser-beta.spec
@@ -30,15 +30,16 @@
%define google_default_client_secret RDdr-pHq2gStY4uw0m-zxXeo
%bcond_with plf
-# crisb - ozone causes a segfault on startup as of 57.0.2987.133
+# crisb - ozone causes a segfault on startup as of 57.0.2987.133, doesn't compile in 80.x
%bcond_with ozone
+# Breaks the build as of chromium 83, icu 66.1
%bcond_with system_icu
%bcond_without system_ffmpeg
# Temporarily broken, cr_z_* symbols used even when we're supposed to use system minizip
%bcond_without system_minizip
# chromium 58 fails with system vpx 1.6.1
-%bcond_with system_vpx
-%bcond_with system_re2
+%bcond_without system_vpx
+%bcond_without system_re2
# Always support proprietary codecs
# or html5 does not work
@@ -50,7 +51,7 @@
Name: chromium-browser-%{channel}
# Working version numbers can be found at
# http://omahaproxy.appspot.com/
-Version: 81.0.4044.26
+Version: 83.0.4103.14
Release: 1%{?extrarelsuffix}
Summary: A fast webkit-based web browser
Group: Networking/WWW
@@ -60,6 +61,10 @@ Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chr
Source1: chromium-wrapper
Source2: chromium-browser%{namesuffix}.desktop
Source3: master_preferences
+# https://bugs.freedesktop.org/show_bug.cgi?id=106490
+# Workaround from Arch Linux
+# https://aur.archlinux.org/cgit/aur.git/tree/chromium-drirc-disable-10bpc-color-configs.conf?h=chromium-vaapi
+Source4: chromium-drirc-disable-10bpc-color-configs.conf
Source100: %{name}.rpmlintrc
### Chromium Fedora Patches ###
@@ -78,13 +83,11 @@ Patch4: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-60.0.
Patch5: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-60.0.3112.78-jpeg-nomangle.patch
# Do not mangle zlib
Patch6: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-77.0.3865.75-no-zlib-mangle.patch
-# Do not use unrar code, it is non-free
-Patch7: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-73.0.3683.75-norar.patch
# Use Gentoo's Widevine hack
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch
Patch8: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-71.0.3578.98-widevine-r3.patch
-# Disable fontconfig cache magic that breaks remoting
-Patch9: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch
+# Disable fontconfig cache magic that breaks remoting (originally from Fedora, ported to 81 code base)
+Patch9: chromium-83-disable-fontconfig-cache-magic.patch
# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
Patch10: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch
# Try to load widevine from other places
@@ -100,7 +103,7 @@ Patch51: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-76.0.
# Needs to be submitted.. (ugly hack, needs to be added properly to GN files)
Patch52: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-78.0.3904.70-vtable-symbol-undefined.patch
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch
-Patch53: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-78.0.3904.70-unbundle-zlib.patch
+Patch53: chromium-81-unbundle-zlib.patch
# Needs to be submitted..
Patch54: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-77.0.3865.75-gcc-include-memory.patch
# https://chromium.googlesource.com/chromium/src/+/6b633c4b14850df376d5cec571699018772f358e
@@ -119,13 +122,6 @@ Patch63: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-79.0.
# el7 only patch
#Patch102: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-79.0.3945.56-el7-noexcept.patch
-# Enable VAAPI support on Linux
-# NOTE: This patch will never land upstream
-Patch202: https://src.fedoraproject.org/rpms/chromium/raw/master/f/enable-vaapi.patch
-Patch203: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch
-# Fix compatibility with VA-API library (libva) version 1
-#Patch204: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
-
# Apply these patches to work around EPEL8 issues
#Patch300: https://src.fedoraproject.org/rpms/chromium/raw/master/f/chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
@@ -138,20 +134,28 @@ Patch600: arm_use_right_compiler.patch
# Arch Linux, fix for compile error with system ICU
Patch602: https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/chromium/chromium-system-icu.patch
+# Enable VAAPI support on Linux
+# Partially based on https://aur.archlinux.org/packages/chromium-vaapi/
+Patch651: vdpau-support.patch
+Patch653: chromium-skia-harmony.patch
+
# mga
-Patch700: chromium-69-extra-media.patch
+Patch700: chromium-81-extra-media.patch
Patch701: chromium-69-wmvflvmpg.patch
Patch702: chromium-40-sorenson-spark.patch
# omv
Patch1001: chromium-64-system-curl.patch
Patch1002: chromium-69-no-static-libstdc++.patch
-Patch1003: chromium-81-clang10.patch
-Patch1004: chromium-81-compile.patch
+Patch1003: chromium-83-norar.patch
+#Patch1004: chromium-80-clang10-libstdc++10.patch
+Patch1005: chromium-83-compile.patch
+Patch1006: chromium-81-dont-pretend-vaapi-is-broken.patch
+Patch1007: chromium-81-enable-gpu-features.patch
# stop so many build warnings
-Patch1006: chromium-71.0.3578.94-quieten.patch
-Patch1007: chromium-trace.patch
+Patch1008: chromium-71.0.3578.94-quieten.patch
+Patch1009: chromium-trace.patch
Provides: %{crname}
Obsoletes: chromium-browser-unstable < 26.0.1410.51
@@ -161,8 +165,6 @@ BuildRequires: gperf
BuildRequires: bison
BuildRequires: re2c
BuildRequires: flex
-#BuildRequires: v8-devel
-BuildRequires: java-1.8.0-openjdk-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(krb5)
%if %{with system_re2}
@@ -170,6 +172,7 @@ BuildRequires: pkgconfig(re2)
%endif
BuildRequires: pkgconfig(com_err)
BuildRequires: python2dist(json5)
+BuildRequires: python2-pkg-resources
BuildRequires: alsa-oss-devel
BuildRequires: atomic-devel
BuildRequires: harfbuzz-devel
@@ -180,6 +183,7 @@ BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(nss)
+BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libglvnd)
BuildRequires: pkgconfig(libva)
@@ -245,6 +249,7 @@ BuildRequires: python2-ply
BuildRequires: python2-beautifulsoup4
BuildRequires: python2-simplejson
BuildRequires: python2-html5lib
+BuildRequires: jdk-current
%description
Chromium is a browser that combines a minimal design with sophisticated
@@ -383,10 +388,11 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'third_party/depot_tools' \
'third_party/devscripts' \
'third_party/devtools-frontend' \
+ 'third_party/devtools-frontend/src/third_party/typescript' \
+ 'third_party/devtools-frontend/src/third_party/axe-core' \
'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \
+ 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \
'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \
- 'third_party/devtools-frontend/src/third_party/axe-core' \
- 'third_party/devtools-frontend/src/third_party/typescript' \
'third_party/dom_distiller_js' \
'third_party/emoji-segmenter' \
'third_party/expat' \
@@ -406,7 +412,9 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'third_party/harfbuzz-ng' \
'third_party/hunspell' \
'third_party/iccjpeg' \
+%if ! %{with system_icu}
'third_party/icu' \
+%endif
'third_party/inspector_protocol' \
'third_party/jinja2' \
'third_party/jsoncpp' \
@@ -439,9 +447,13 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'third_party/libyuv' \
'third_party/lss' \
'third_party/lzma_sdk' \
+ 'third_party/mako' \
'third_party/markupsafe' \
'third_party/mesa' \
'third_party/metrics_proto' \
+%if %{with ozone}
+ 'third_party/minigbm' \
+%endif
'third_party/modp_b64' \
'third_party/nasm' \
'third_party/node' \
@@ -476,6 +488,7 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'third_party/re2' \
%endif
'third_party/rnnoise' \
+ 'third_party/schema_org' \
'third_party/s2cellid' \
'third_party/simplejson' \
'third_party/sinonjs' \
@@ -491,6 +504,7 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'third_party/SPIRV-Tools' \
'third_party/sqlite' \
'third_party/swiftshader' \
+ 'third_party/swiftshader/third_party/astc-encoder' \
'third_party/swiftshader/third_party/llvm-subzero' \
'third_party/swiftshader/third_party/llvm-7.0' \
'third_party/swiftshader/third_party/marl' \
@@ -501,6 +515,9 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'third_party/usb_ids' \
'third_party/usrsctp' \
'third_party/vulkan' \
+%if %{with ozone}
+ 'third_party/wayland' \
+%endif
'third_party/web-animations-js' \
'third_party/webdriver' \
'third_party/webrtc' \
@@ -517,7 +534,6 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'third_party/yasm' \
'third_party/zlib' \
'third_party/zlib/google' \
- 'tools/gn/src/base/third_party/icu' \
'tools/grit/third_party/six' \
'url/third_party/mozilla' \
'v8/src/third_party/siphash' \
@@ -525,6 +541,7 @@ python2 build/linux/unbundle/remove_bundled_libraries.py \
'v8/src/third_party/valgrind' \
'v8/third_party/v8' \
'v8/third_party/inspector_protocol' \
+ 'tools/gn/src/base/third_party/icu' \
--do-remove
@@ -539,6 +556,8 @@ if [ ! -f chrome/test/data/webui/i18n_process_css_test.html ]; then
fi
%build
+. %{_sysconfdir}/profile.d/90java.sh
+
%ifarch %{arm}
# Use linker flags to reduce memory consumption on low-mem architectures
%global optflags %(echo %{optflags} | sed -e 's/-g /-g0 /' -e 's/-gdwarf-4//')
@@ -548,6 +567,10 @@ export PATH=$PWD/bfd:$PATH
# Use linker flags to reduce memory consumption
%global ldflags %{ldflags} -fuse-ld=bfd -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
%endif
+%ifarch %{ix86}
+# Workaround for build failure
+%global ldflags %{ldflags} -Wl,-z,notext
+%endif
export CC=clang
export CXX=clang++
@@ -563,13 +586,23 @@ CHROMIUM_CORE_GN_DEFINES+=" use_system_libjpeg=true "
CHROMIUM_CORE_GN_DEFINES+=" use_system_lcms2=true "
CHROMIUM_CORE_GN_DEFINES+=" use_system_libpng=true "
CHROMIUM_CORE_GN_DEFINES+=" use_system_harfbuzz=true "
+CHROMIUM_CORE_GN_DEFINES+=" use_system_libdrm=true "
+CHROMIUM_CORE_GN_DEFINES+=" use_system_minigbm=true "
+CHROMIUM_CORE_GN_DEFINES+=" use_system_wayland=true "
+CHROMIUM_CORE_GN_DEFINES+=" use_xkbcommon=true "
+#CHROMIUM_CORE_GN_DEFINES+=" use_glib=false use_atk=false "
+#CHROMIUM_CORE_GN_DEFINES+=" use_gtk=false "
+%if %{with system_icu}
+CHROMIUM_CORE_GN_DEFINES+=" use_system_icu=true "
+%else
+CHROMIUM_CORE_GN_DEFINES+=" icu_use_data_file=true"
+%endif
CHROMIUM_CORE_GN_DEFINES+=" use_gnome_keyring=false "
CHROMIUM_CORE_GN_DEFINES+=" fatal_linker_warnings=false "
CHROMIUM_CORE_GN_DEFINES+=" system_libdir=\"%{_lib}\""
CHROMIUM_CORE_GN_DEFINES+=" use_allocator=\"none\""
CHROMIUM_CORE_GN_DEFINES+=" use_aura=true "
#CHROMIUM_CORE_GN_DEFINES+=" use_gio=true"
-CHROMIUM_CORE_GN_DEFINES+=" icu_use_data_file=true"
%if %{with ozone}
CHROMIUM_CORE_GN_DEFINES+=" use_ozone=true "
%endif
@@ -600,7 +633,7 @@ CHROMIUM_CORE_GN_DEFINES+=" custom_toolchain=\"//build/toolchain/linux/unbundle:
CHROMIUM_CORE_GN_DEFINES+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
CHROMIUM_CORE_GN_DEFINES+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:default\""
-CHROMIUM_BROWSER_GN_DEFINES="use_pulseaudio=true icu_use_data_file=true"
+CHROMIUM_BROWSER_GN_DEFINES="use_pulseaudio=true link_pulseaudio=true"
CHROMIUM_BROWSER_GN_DEFINES+=" enable_nacl=false"
CHROMIUM_BROWSER_GN_DEFINES+=" is_component_ffmpeg=true"
CHROMIUM_BROWSER_GN_DEFINES+=" enable_hangout_services_extension=true"
@@ -609,12 +642,6 @@ CHROMIUM_BROWSER_GN_DEFINES+=" enable_widevine=true"
CHROMIUM_BROWSER_GN_DEFINES+=" enable_webrtc=true"
CHROMIUM_BROWSER_GN_DEFINES+=" use_vaapi=true"
-CHROMIUM_HEADLESS_GN_DEFINES=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true'
-CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=true icu_use_data_file=false v8_use_external_startup_data=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gio=false use_kerberos=false use_libpci=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false'
-
gn_system_libraries="
flac
fontconfig
@@ -624,7 +651,6 @@ gn_system_libraries="
libjpeg
libusb
libwebp
- libxml
libxslt
snappy
yasm
@@ -726,6 +752,10 @@ ln -s %{_libdir}/libEGL.so.1.0.0 %{buildroot}%{_libdir}/%{name}/swiftshader/libE
find %{buildroot} -name "*.nexe" -exec strip {} \;
+# drirc workaround for VAAPI
+mkdir -p %{buildroot}%{_datadir}/drirc.d/
+cp %{S:4} %{buildroot}%{_datadir}/drirc.d/10-%{name}.conf
+
%if "%{channel}" == "stable"
%files -n chromium-browser
%endif
@@ -733,6 +763,7 @@ find %{buildroot} -name "*.nexe" -exec strip {} \;
%files
%doc LICENSE AUTHORS
%config %{_sysconfdir}/chromium
+%{_datadir}/drirc.d/10-%{name}.conf
%{_bindir}/%{name}
%{_libdir}/%{name}/*.bin
%{_libdir}/%{name}/chromium-wrapper
diff --git a/chromium-drirc-disable-10bpc-color-configs.conf b/chromium-drirc-disable-10bpc-color-configs.conf
new file mode 100644
index 0000000..c079ba1
--- /dev/null
+++ b/chromium-drirc-disable-10bpc-color-configs.conf
@@ -0,0 +1,21 @@
+<!--
+
+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>
+ <application name="Chromium" executable="chromium-browser-stable">
+ <option name="allow_rgb10_configs" value="false" />
+ </application>
+ <application name="Chromium" executable="chrome">
+ <option name="allow_rgb10_configs" value="false" />
+ </application>
+ </device>
+</driconf>
diff --git a/chromium-skia-harmony.patch b/chromium-skia-harmony.patch
new file mode 100644
index 0000000..ecd491e
--- /dev/null
+++ b/chromium-skia-harmony.patch
@@ -0,0 +1,14 @@
+--- cr/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-07-19 11:08:34.770972665 +0000
++++ cr/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-07-19 11:08:44.274442065 +0000
+@@ -128,9 +128,9 @@ public:
+ : fGetVarDesignCoordinates(nullptr)
+ , fGetVarAxisFlags(nullptr)
+ , fLibrary(nullptr)
+- , fIsLCDSupported(false)
++ , fIsLCDSupported(true)
+ , fLightHintingIsYOnly(false)
+- , fLCDExtra(0)
++ , fLCDExtra(2)
+ {
+ if (FT_New_Library(&gFTMemory, &fLibrary)) {
+ return;
diff --git a/chromium-system-icu.patch b/chromium-system-icu.patch
index 0179259..7166839 100644
--- a/chromium-system-icu.patch
+++ b/chromium-system-icu.patch
@@ -17,3 +17,31 @@ index 28fb6a9..bb4dbd7 100644
// Freezed trie tree, see character_property_data_generator.cc.
extern const int32_t kSerializedCharacterDataSize;
+diff -up chromium-80.0.3987.132/base/BUILD.gn.omv~ chromium-80.0.3987.132/base/BUILD.gn
+--- chromium-80.0.3987.132/base/BUILD.gn.omv~ 2020-03-11 21:57:54.959321632 +0100
++++ chromium-80.0.3987.132/base/BUILD.gn 2020-03-11 21:58:24.750320187 +0100
+@@ -2945,7 +2945,7 @@ test("base_unittests") {
+ ]
+ }
+
+- if (icu_use_data_file) {
++ if (false) {
+ if (is_android) {
+ deps += [ "//third_party/icu:icu_extra_assets" ]
+ } else {
+diff -up chromium-80.0.3987.132/chrome/browser/ui/views/native_file_system/native_file_system_usage_bubble_view.cc.omv~ chromium-80.0.3987.132/chrome/browser/ui/views/native_file_system/native_file_system_usage_bubble_view.cc
+--- chromium-80.0.3987.132/chrome/browser/ui/views/native_file_system/native_file_system_usage_bubble_view.cc.omv~ 2020-03-12 04:13:35.334228057 +0100
++++ chromium-80.0.3987.132/chrome/browser/ui/views/native_file_system/native_file_system_usage_bubble_view.cc 2020-03-12 04:13:53.916227156 +0100
+@@ -26,9 +26,9 @@
+ #include "content/public/browser/render_frame_host.h"
+ #include "content/public/browser/render_process_host.h"
+ #include "content/public/browser/web_contents.h"
+-#include "third_party/icu/source/common/unicode/unistr.h"
+-#include "third_party/icu/source/common/unicode/utypes.h"
+-#include "third_party/icu/source/i18n/unicode/listformatter.h"
++#include <unicode/unistr.h>
++#include <unicode/utypes.h>
++#include <unicode/listformatter.h>
+ #include "ui/base/l10n/l10n_util.h"
+ #include "ui/gfx/paint_vector_icon.h"
+ #include "ui/views/controls/button/image_button.h"
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
deleted file mode 100644
index 6fe8408..0000000
--- a/enable-vaapi.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-diff -up chromium-81.0.4044.9/chrome/browser/about_flags.cc.23~ chromium-81.0.4044.9/chrome/browser/about_flags.cc
---- chromium-81.0.4044.9/chrome/browser/about_flags.cc.23~ 2020-02-05 22:54:11.000000000 +0100
-+++ chromium-81.0.4044.9/chrome/browser/about_flags.cc 2020-02-09 23:15:10.037708142 +0100
-@@ -1892,7 +1892,7 @@ const FeatureEntry kFeatureEntries[] = {
- "disable-accelerated-video-decode",
- flag_descriptions::kAcceleratedVideoDecodeName,
- flag_descriptions::kAcceleratedVideoDecodeDescription,
-- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
-+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
- SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
- },
- {
-@@ -2324,12 +2324,12 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
- #endif // !defined(OS_ANDROID)
- #endif // ENABLE_VR
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- {"disable-accelerated-mjpeg-decode",
- flag_descriptions::kAcceleratedMjpegDecodeName,
-- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
-+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
- SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
--#endif // OS_CHROMEOS
-+#endif // OS_CHROMEOS || OS_LINUX
- {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
- flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
-diff -up chromium-81.0.4044.9/chrome/browser/flag_descriptions.cc.23~ chromium-81.0.4044.9/chrome/browser/flag_descriptions.cc
---- chromium-81.0.4044.9/chrome/browser/flag_descriptions.cc.23~ 2020-02-05 22:54:11.000000000 +0100
-+++ chromium-81.0.4044.9/chrome/browser/flag_descriptions.cc 2020-02-09 23:15:10.038708142 +0100
-@@ -2972,16 +2972,20 @@ const char kMetalDescription[] =
-
- #endif
-
--// Chrome OS -------------------------------------------------------------------
-+// Chrome OS & Linux -----------------------------------------------------------
-
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
-
- const char kAcceleratedMjpegDecodeName[] =
- "Hardware-accelerated mjpeg decode for captured frame";
- const char kAcceleratedMjpegDecodeDescription[] =
- "Enable hardware-accelerated mjpeg decode for captured frame where "
- "available.";
-+#endif
-
-+// Chrome OS -------------------------------------------------------------------
-+
-+#if defined(OS_CHROMEOS)
- const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
- const char kAggregatedMlAppRankingDescription[] =
- "Use the aggregated ML model to rank the suggested apps.";
-diff -up chromium-81.0.4044.9/chrome/browser/flag_descriptions.h.23~ chromium-81.0.4044.9/chrome/browser/flag_descriptions.h
---- chromium-81.0.4044.9/chrome/browser/flag_descriptions.h.23~ 2020-02-05 22:54:11.000000000 +0100
-+++ chromium-81.0.4044.9/chrome/browser/flag_descriptions.h 2020-02-09 23:15:10.039708142 +0100
-@@ -1717,13 +1717,17 @@ extern const char kMetalDescription[];
-
- #endif // defined(OS_MACOSX)
-
--// Chrome OS ------------------------------------------------------------------
-+// Chrome OS & Linux ----------------------------------------------------------
-
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
-
- extern const char kAcceleratedMjpegDecodeName[];
- extern const char kAcceleratedMjpegDecodeDescription[];
-
-+#endif
-+
-+// Chrome OS ------------------------------------------------------------------
-+#if defined(OS_CHROMEOS)
- extern const char kAggregatedMlAppRankingName[];
- extern const char kAggregatedMlAppRankingDescription[];
-
-diff -up chromium-81.0.4044.9/gpu/config/software_rendering_list.json.23~ chromium-81.0.4044.9/gpu/config/software_rendering_list.json
---- chromium-81.0.4044.9/gpu/config/software_rendering_list.json.23~ 2020-02-09 23:15:10.040708142 +0100
-+++ chromium-81.0.4044.9/gpu/config/software_rendering_list.json 2020-02-09 23:25:04.617669208 +0100
-@@ -337,7 +337,8 @@
- },
- {
- "id": 48,
-- "description": "Accelerated video decode is unavailable on Linux",
-+ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
-+ "vendor_id": "0x10de",
- "cr_bugs": [137247, 1032907],
- "os": {
- "type": "linux"
diff --git a/vdpau-support.patch b/vdpau-support.patch
new file mode 100644
index 0000000..d0d849a
--- /dev/null
+++ b/vdpau-support.patch
@@ -0,0 +1,78 @@
+diff -up chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.28~ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+--- chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.28~ 2020-04-03 06:11:34.000000000 +0200
++++ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-04-14 16:27:40.623165963 +0200
+@@ -712,6 +712,7 @@ void VaapiVideoDecodeAccelerator::Assign
+ // |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,
+@@ -743,7 +744,8 @@ void VaapiVideoDecodeAccelerator::Assign
+ : gfx::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, size_to_bind);
+@@ -1199,6 +1201,12 @@ VaapiVideoDecodeAccelerator::GetSupporte
+
+ 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)
+@@ -1211,7 +1219,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
+ // 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
+diff -up chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.h.28~ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.h
+--- chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.h.28~ 2020-04-03 06:11:34.000000000 +0200
++++ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_video_decode_accelerator.h 2020-04-14 16:24:00.916251409 +0200
+@@ -208,6 +208,7 @@ class MEDIA_GPU_EXPORT VaapiVideoDecodeA
+ // Using |client_|s provided PictureBuffers and as many internally
+ // allocated.
+ kNormal,
++ kWrapVdpau,
+ };
+
+ // Decides the concrete buffer allocation mode, depending on the hardware
+diff -up chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.cc.28~ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.cc
+--- chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.cc.28~ 2020-04-03 06:11:34.000000000 +0200
++++ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.cc 2020-04-14 16:24:00.916251409 +0200
+@@ -133,6 +133,9 @@ media::VAImplementation VendorStringToIm
+ } 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;
+ }
+diff -up chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.h.28~ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.h
+--- chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.h.28~ 2020-04-03 06:11:34.000000000 +0200
++++ chromium-81.0.4044.92/media/gpu/vaapi/vaapi_wrapper.h 2020-04-14 16:24:00.916251409 +0200
+@@ -80,6 +80,7 @@ enum class VAImplementation {
+ kIntelIHD,
+ kOther,
+ kInvalid,
++ kNVIDIAVDPAU,
+ };
+
+ // This class handles VA-API calls and ensures proper locking of VA-API calls