[chromium-libs-media-freeworld: 8/201] Backport another upstream build fix
by hellbanger
commit 170da1572c9fbe5224d94a9835b423cfa17fe7ae
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Thu Aug 15 07:03:49 2019 +0200
Backport another upstream build fix
...um-76.0.3809.100-gcc-initialization-order.patch | 33 ++++++++++++++++++++++
chromium.spec | 3 ++
2 files changed, 36 insertions(+)
---
diff --git a/chromium-76.0.3809.100-gcc-initialization-order.patch b/chromium-76.0.3809.100-gcc-initialization-order.patch
new file mode 100644
index 0000000..3bf394f
--- /dev/null
+++ b/chromium-76.0.3809.100-gcc-initialization-order.patch
@@ -0,0 +1,33 @@
+From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Wed, 05 Jun 2019 21:09:01 +0000
+Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration
+
+XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the
+same order of the declaration. GCC fails because of that.
+
+Bug: 819294
+Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253
+Reviewed-by: Zhenyao Mo <zmo(a)chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena(a)lge.com>
+Cr-Commit-Position: refs/heads/master@{#666436}
+---
+
+diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc
+index f649dd4..0aa6892 100644
+--- a/ui/gl/gl_surface_glx.cc
++++ b/ui/gl/gl_surface_glx.cc
+@@ -583,10 +583,10 @@
+
+ XSetWindowAttributes swa = {
+ .background_pixmap = 0,
+- .bit_gravity = NorthWestGravity,
+- .colormap = g_colormap,
+ .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM
+ .border_pixel = 0,
++ .bit_gravity = NorthWestGravity,
++ .colormap = g_colormap,
+ };
+ auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel;
+ if (ui::IsCompositingManagerPresent() &&
diff --git a/chromium.spec b/chromium.spec
index f91b60b..64e3243 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -289,6 +289,8 @@ Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch
Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch
# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d2...
Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch
+# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf1...
+Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch
# Apply these changes to work around EPEL7 compiler issues
Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch
@@ -857,6 +859,7 @@ udev.
%patch54 -p1 -b .gcc-feature-policy-parser
%patch55 -p1 -b .gcc-hasfraction-constexpr
%patch56 -p1 -b .gcc-move-explicit-initialization
+%patch57 -p1 -b .gcc-initialization-order
# EPEL specific patches
%if 0%{?rhel} == 7
5 years, 1 month
[chromium-libs-media-freeworld: 7/201] Update the Pulseaudio's pa_operation_get_state() signature
by hellbanger
commit f31a3b1f0c9d88610827a22cbd6cbc8661a9a85f
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Wed Aug 14 23:22:37 2019 +0200
Update the Pulseaudio's pa_operation_get_state() signature
Missed it while updating the Pulseaudio signatures.
chromium-76.0.3809.100-pulse-api-change.patch | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch
index 37d3dfa..d4e2b46 100644
--- a/chromium-76.0.3809.100-pulse-api-change.patch
+++ b/chromium-76.0.3809.100-pulse-api-change.patch
@@ -1,7 +1,7 @@
-diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs
---- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200
-+++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200
-@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info
+diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs
+--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse-api-change 2019-08-14 23:18:59.624627870 +0200
++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 23:19:41.258104998 +0200
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info
pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
@@ -10,6 +10,11 @@ diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change ch
pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const pa_operation* o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream*
int pa_stream_disconnect(pa_stream* s);
int pa_stream_drop(pa_stream *p);
5 years, 1 month
[chromium-libs-media-freeworld: 6/201] Add missing ffmpeg file on aarch64
by hellbanger
commit 923b51d3f2c64069f49e4f19405f4e7f5462cb45
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Wed Aug 14 23:17:42 2019 +0200
Add missing ffmpeg file on aarch64
clean_ffmpeg.sh | 1 +
sources | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh
index 2f27435..e190296 100755
--- a/clean_ffmpeg.sh
+++ b/clean_ffmpeg.sh
@@ -216,6 +216,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \
libavcodec/x86/videodsp_init.c \
libavcodec/x86/vorbisdsp_init.c \
libavcodec/autorename_libavcodec_mdct15.c \
+ libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S \
libavcodec/bit_depth_template.c \
libavcodec/fft_template.c \
libavcodec/flacdec.c \
diff --git a/sources b/sources
index 4e53fd1..d6d53e4 100644
--- a/sources
+++ b/sources
@@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0
SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f
SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (node-v8.9.1-linux-x64.tar.gz) = a707fd4567041c56e7f9d415e505e3fa650627f31def7fefdd7ec50f9e7066bb33332b67f479e1159d85e1105a7e6d034aad7429f4f3d034c9161170d7e0b844
-SHA512 (chromium-76.0.3809.100-clean.tar.xz) = f9fecad99618dffbfa3331b77dd82244447382761ca864380ea145d58f4bd90bb1c0fd3d433aca7d71f63e24c4120bff15c3a4dd9b86e94096cdf31c02b80cd5
+SHA512 (chromium-76.0.3809.100-clean.tar.xz) = ca39cf3df4716293d40ea78d8b6c7beb134340c42051dc5ae243f127729cc13fb60e9d168ccac29d55b4ef47aba598e3211caa8f3a8ed5689748873a36fce753
5 years, 1 month
[chromium-libs-media-freeworld: 5/201] Pulseaudio changed the API in 12.99 and we need to adapt the signatures
by hellbanger
commit b2aa2214697a15ff6df60d075910c42368111147
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Wed Aug 14 16:52:41 2019 +0200
Pulseaudio changed the API in 12.99 and we need to adapt the signatures
chromium-76.0.3809.100-pulse-api-change.patch | 42 +++++++++++++++++++++++++++
chromium.spec | 13 ++++++++-
2 files changed, 54 insertions(+), 1 deletion(-)
---
diff --git a/chromium-76.0.3809.100-pulse-api-change.patch b/chromium-76.0.3809.100-pulse-api-change.patch
new file mode 100644
index 0000000..37d3dfa
--- /dev/null
+++ b/chromium-76.0.3809.100-pulse-api-change.patch
@@ -0,0 +1,42 @@
+diff -up chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change chromium-76.0.3809.100/media/audio/pulse/pulse.sigs
+--- chromium-76.0.3809.100/media/audio/pulse/pulse.sigs.pulse_api_change 2019-08-14 16:27:55.057702172 +0200
++++ chromium-76.0.3809.100/media/audio/pulse/pulse.sigs 2019-08-14 16:37:21.603479886 +0200
+@@ -24,7 +24,7 @@ pa_operation* pa_context_get_source_info
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const pa_context* c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream*
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const pa_stream* s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const pa_stream* p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const pa_proplist* p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const pa_proplist* p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const pa_stream *p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const pa_context *c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
diff --git a/chromium.spec b/chromium.spec
index bf6bdcb..f91b60b 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -141,6 +141,13 @@ BuildRequires: libicu-devel >= 5.4
%global bundleharfbuzz 0
%endif
+# Pulseaudio changed the API a little in 12.99.1
+%if 0%{?fedora} > 30
+%global pulseaudioapichange 1
+%else
+%global pulseaudioapichange 0
+%endif
+
### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
### Note: These are for Fedora use ONLY.
### For your own distribution, please get your own set of keys.
@@ -306,6 +313,8 @@ Patch202: enable-vaapi.patch
Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch
# Fix compatibility with VA-API library (libva) version 1
Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch
+# Pulseaudio changed the API a little in 12.99.1
+Patch205: chromium-76.0.3809.100-pulse-api-change.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
# http://build.chromium.org/buildbot/official/
@@ -491,7 +500,6 @@ BuildRequires: pkgconfig(gtk+-3.0)
%else
BuildRequires: pkgconfig(gtk+-2.0)
%endif
-BuildRequires: pulseaudio-libs-devel
BuildRequires: python2-devel
%if 0%{?fedora} > 27
BuildRequires: python2-beautifulsoup4
@@ -871,6 +879,9 @@ udev.
%endif
%endif
+%if 0%{?pulseaudioapichange}
+%patch205 -p1 -b .pulseaudioapichange
+%endif
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
5 years, 1 month
[chromium-libs-media-freeworld: 4/201] loosen dependency on chromium-libs in freeworld build
by hellbanger
commit a848ba49241b8d9360d50f2be4660b070679bc4b
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Wed Aug 14 09:52:16 2019 -0400
loosen dependency on chromium-libs in freeworld build
chromium.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/chromium.spec b/chromium.spec
index 0d575b1..bf6bdcb 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -730,7 +730,7 @@ Shared libraries used by chromium (and chrome-remote-desktop).
Summary: Chromium media libraries built with all possible codecs
Provides: chromium-libs-media = %{version}-%{release}
Provides: chromium-libs-media%{_isa} = %{version}-%{release}
-Requires: chromium-libs%{_isa} = %{version}-%{release}
+Requires: chromium-libs%{_isa} = %{version}
Requires(post): %{_sbindir}/update-alternatives
Requires(preun): %{_sbindir}/update-alternatives
5 years, 1 month
[chromium-libs-media-freeworld: 3/201] third_party/boringssl/linux-x86_64/crypto/third_party/sike needs to be preserved
by hellbanger
commit 081e6e7deb9f6a686ff904567f5097b1a87d9b75
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Wed Aug 14 15:41:23 2019 +0200
third_party/boringssl/linux-x86_64/crypto/third_party/sike needs to be preserved
chromium.spec | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/chromium.spec b/chromium.spec
index f23664a..0d575b1 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1137,7 +1137,8 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/boringssl' \
'third_party/boringssl/src/third_party/fiat' \
'third_party/boringssl/src/third_party/sike' \
- 'third_party/boringssl/linux-x86_64/crypto/third_party/sike/' \
+ 'third_party/boringssl/linux-x86_64/crypto/third_party/sike' \
+ 'third_party/boringssl/linux-aarch64/crypto/third_party/sike' \
'third_party/breakpad' \
'third_party/breakpad/breakpad/src/third_party/curl' \
'third_party/brotli' \
5 years, 1 month
[chromium-libs-media-freeworld: 2/201] third_party/openscreen need to be preserved
by hellbanger
commit 6338de1419172f50e62e210ac3c70d2490902c4a
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Wed Aug 14 15:38:35 2019 +0200
third_party/openscreen need to be preserved
chromium.spec | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/chromium.spec b/chromium.spec
index 383bfa9..f23664a 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1232,6 +1232,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
%if %{freeworld}
'third_party/openh264' \
%endif
+ 'third_party/openscreen' \
'third_party/opus' \
'third_party/ots' \
'third_party/pdfium' \
5 years, 1 month
[chromium-libs-media-freeworld: 1/201] Backport more build fixes from upstream
by hellbanger
commit 333adfcd3829e396207f60316598909ba36b7f8e
Author: Tomas Popela <tpopela(a)redhat.com>
Date: Wed Aug 14 14:38:51 2019 +0200
Backport more build fixes from upstream
...-76.0.3809.100-gcc-ambigous-instantiation.patch | 39 ++++
...m-76.0.3809.100-gcc-feature-policy-parser.patch | 76 +++++++
...m-76.0.3809.100-gcc-hasfraction-constexpr.patch | 32 +++
...3809.100-gcc-move-explicit-initialization.patch | 97 +++++++++
chromium-76.0.3809.100-quiche-compile-fix.patch | 225 +++++++++++++++++++++
chromium-76.0.3809.100-throttling-dead-beef.patch | 30 +++
chromium-76.0.3809.100-weak-ptr-no-except.patch | 66 ++++++
chromium.spec | 21 ++
8 files changed, 586 insertions(+)
---
diff --git a/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch
new file mode 100644
index 0000000..587abf3
--- /dev/null
+++ b/chromium-76.0.3809.100-gcc-ambigous-instantiation.patch
@@ -0,0 +1,39 @@
+From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Wed, 05 Jun 2019 19:46:55 +0000
+Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes.
+
+Use brace-list notation to wrap the already existing brace-list for
+initializing the flat-set. This resolves an ambiguous instantiation
+in GCC.
+
+Bug: 819294
+Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774
+Reviewed-by: Matt Menke <mmenke(a)chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena(a)lge.com>
+Cr-Commit-Position: refs/heads/master@{#666401}
+---
+
+diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc
+index 30999c0..60a03f6 100644
+--- a/services/network/cross_origin_read_blocking.cc
++++ b/services/network/cross_origin_read_blocking.cc
+@@ -211,7 +211,7 @@
+ // confirmation sniffing because images, scripts, etc. are frequently
+ // mislabelled by http servers as HTML/JSON/XML).
+ base::flat_set<std::string>& GetNeverSniffedMimeTypes() {
+- static base::NoDestructor<base::flat_set<std::string>> s_types({
++ static base::NoDestructor<base::flat_set<std::string>> s_types{{
+ // The list below has been populated based on most commonly used content
+ // types according to HTTP Archive - see:
+ // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454
+@@ -224,7 +224,7 @@
+ "application/x-www-form-urlencoded",
+ "application/zip",
+ "text/event-stream",
+- });
++ }};
+
+ // All items need to be lower-case, to support case-insensitive comparisons
+ // later.
diff --git a/chromium-76.0.3809.100-gcc-feature-policy-parser.patch b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch
new file mode 100644
index 0000000..0dbffd5
--- /dev/null
+++ b/chromium-76.0.3809.100-gcc-feature-policy-parser.patch
@@ -0,0 +1,76 @@
+From 0aca7b8dea0f52ba7bd58dfce4ac236ee60670a8 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Tue, 04 Jun 2019 19:44:58 +0200
+Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace
+
+Compilation fails because we are declaring ParseValueForFuzzer as friend method,
+but we are declaring it is in anonymous namespace. Moving to global namespace
+still fails (in this case in Clang).
+
+So final solution is making it a public static method of FeaturePolicyParser.
+
+Bug: 819294
+Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7
+---
+
+diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
+index 3b7f4a9..eaee409 100644
+--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
+@@ -317,6 +317,13 @@
+ return value;
+ }
+
++void FeaturePolicyParser::ParseValueForFuzzer(
++ blink::mojom::PolicyValueType feature_type,
++ const WTF::String& value_string) {
++ bool ok;
++ ParseValueForType(feature_type, value_string, &ok);
++}
++
+ bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature,
+ const ParsedFeaturePolicy& policy) {
+ return std::any_of(policy.begin(), policy.end(),
+diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
+index fd25d90..36af405 100644
+--- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
+@@ -16,9 +16,6 @@
+ #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+ #include "third_party/blink/renderer/platform/wtf/vector.h"
+
+-// Forward declare for friendship.
+-void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&);
+-
+ namespace blink {
+
+ class Document;
+@@ -79,8 +76,9 @@
+ const FeatureNameMap& feature_names,
+ ExecutionContext* execution_context = nullptr);
+
++ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&);
++
+ private:
+- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&);
+ static PolicyValue GetFallbackValueForFeature(
+ mojom::FeaturePolicyFeature feature);
+ static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type,
+diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
+index 7f8e6aa..53350e43 100644
+--- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
++++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
+@@ -23,9 +23,9 @@
+ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ static blink::BlinkFuzzerTestSupport test_support =
+ blink::BlinkFuzzerTestSupport();
+- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool,
+- WTF::String(data, size));
+- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble,
+- WTF::String(data, size));
++ blink::FeaturePolicyParser::ParseValueForFuzzer(
++ blink::mojom::PolicyValueType::kBool, WTF::String(data, size));
++ blink::FeaturePolicyParser::ParseValueForFuzzer(
++ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size));
+ return 0;
+ }
diff --git a/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch
new file mode 100644
index 0000000..26bba05
--- /dev/null
+++ b/chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch
@@ -0,0 +1,32 @@
+From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Wed, 05 Jun 2019 17:18:40 +0000
+Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr
+
+Other HasFraction methods as in PhysicalUnit are declared already
+constexpr and using it. It breaks GCC build.
+
+Bug: 819294.
+Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222
+Reviewed-by: vmpstr <vmpstr(a)chromium.org>
+Reviewed-by: Xianzhu Wang <wangxianzhu(a)chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena(a)lge.com>
+Cr-Commit-Position: refs/heads/master@{#666336}
+---
+
+diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h
+index f073986..b6dbc76 100644
+--- a/third_party/blink/renderer/platform/geometry/layout_unit.h
++++ b/third_party/blink/renderer/platform/geometry/layout_unit.h
+@@ -202,7 +202,9 @@
+ return value_ > 0 ? LayoutUnit() : *this;
+ }
+
+- bool HasFraction() const { return RawValue() % kFixedPointDenominator; }
++ constexpr bool HasFraction() const {
++ return RawValue() % kFixedPointDenominator;
++ }
+
+ LayoutUnit Fraction() const {
+ // Compute fraction using the mod operator to preserve the sign of the value
diff --git a/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch
new file mode 100644
index 0000000..1d4b90f
--- /dev/null
+++ b/chromium-76.0.3809.100-gcc-move-explicit-initialization.patch
@@ -0,0 +1,97 @@
+From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Tue, 11 Jun 2019 08:00:13 +0000
+Subject: [PATCH] GCC: move explicit specialization out of RunInfo
+
+Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks
+build because of that. Move the template specializations out of RunInfo declaration
+in shape_result_inline_headeres.h to fix the GCC build issue.
+
+Bug: 819294
+Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728
+Reviewed-by: Kinuko Yasuda <kinuko(a)chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena(a)lge.com>
+Cr-Commit-Position: refs/heads/master@{#667901}
+---
+
+diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
+index 76ee6091..c14d3a0 100644
+--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
++++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
+@@ -251,37 +251,6 @@
+ template <bool has_non_zero_glyph_offsets>
+ struct iterator final {};
+
+- // For non-zero glyph offset array
+- template <>
+- struct iterator<true> final {
+- // The constructor for ShapeResult
+- explicit iterator(const GlyphOffsetArray& array)
+- : pointer(array.storage_.get()) {
+- DCHECK(pointer);
+- }
+-
+- // The constructor for ShapeResultView
+- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) {
+- DCHECK(pointer);
+- }
+-
+- GlyphOffset operator*() const { return *pointer; }
+- void operator++() { ++pointer; }
+-
+- const GlyphOffset* pointer;
+- };
+-
+- // For zero glyph offset array
+- template <>
+- struct iterator<false> final {
+- explicit iterator(const GlyphOffsetArray& array) {
+- DCHECK(!array.HasStorage());
+- }
+- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); }
+- GlyphOffset operator*() const { return GlyphOffset(); }
+- void operator++() {}
+- };
+-
+ template <bool has_non_zero_glyph_offsets>
+ iterator<has_non_zero_glyph_offsets> GetIterator() const {
+ return iterator<has_non_zero_glyph_offsets>(*this);
+@@ -495,6 +464,37 @@
+ float width_;
+ };
+
++// For non-zero glyph offset array
++template <>
++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<true> final {
++ // The constructor for ShapeResult
++ explicit iterator(const GlyphOffsetArray& array)
++ : pointer(array.storage_.get()) {
++ DCHECK(pointer);
++ }
++
++ // The constructor for ShapeResultView
++ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) {
++ DCHECK(pointer);
++ }
++
++ GlyphOffset operator*() const { return *pointer; }
++ void operator++() { ++pointer; }
++
++ const GlyphOffset* pointer;
++};
++
++// For zero glyph offset array
++template <>
++struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<false> final {
++ explicit iterator(const GlyphOffsetArray& array) {
++ DCHECK(!array.HasStorage());
++ }
++ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); }
++ GlyphOffset operator*() const { return GlyphOffset(); }
++ void operator++() {}
++};
++
+ // Find the range of HarfBuzzRunGlyphData for the specified character index
+ // range. This function uses binary search twice, hence O(2 log n).
+ inline ShapeResult::RunInfo::GlyphDataRange
diff --git a/chromium-76.0.3809.100-quiche-compile-fix.patch b/chromium-76.0.3809.100-quiche-compile-fix.patch
new file mode 100644
index 0000000..98789d9
--- /dev/null
+++ b/chromium-76.0.3809.100-quiche-compile-fix.patch
@@ -0,0 +1,225 @@
+diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc
+--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc.quiche-compile-fix 2019-08-14 09:58:07.721193200 +0200
++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc 2019-08-14 09:59:33.131041525 +0200
+@@ -62,37 +62,37 @@ const size_t kStatelessResetTokenLength
+ std::string TransportParameterIdToString(
+ TransportParameters::TransportParameterId param_id) {
+ switch (param_id) {
+- case kOriginalConnectionId:
++ case TransportParameters::kOriginalConnectionId:
+ return "original_connection_id";
+- case kIdleTimeout:
++ case TransportParameters::kIdleTimeout:
+ return "idle_timeout";
+- case kStatelessResetToken:
++ case TransportParameters::kStatelessResetToken:
+ return "stateless_reset_token";
+- case kMaxPacketSize:
++ case TransportParameters::kMaxPacketSize:
+ return "max_packet_size";
+- case kInitialMaxData:
++ case TransportParameters::kInitialMaxData:
+ return "initial_max_data";
+- case kInitialMaxStreamDataBidiLocal:
++ case TransportParameters::kInitialMaxStreamDataBidiLocal:
+ return "initial_max_stream_data_bidi_local";
+- case kInitialMaxStreamDataBidiRemote:
++ case TransportParameters::kInitialMaxStreamDataBidiRemote:
+ return "initial_max_stream_data_bidi_remote";
+- case kInitialMaxStreamDataUni:
++ case TransportParameters::kInitialMaxStreamDataUni:
+ return "initial_max_stream_data_uni";
+- case kInitialMaxStreamsBidi:
++ case TransportParameters::kInitialMaxStreamsBidi:
+ return "initial_max_streams_bidi";
+- case kInitialMaxStreamsUni:
++ case TransportParameters::kInitialMaxStreamsUni:
+ return "initial_max_streams_uni";
+- case kAckDelayExponent:
++ case TransportParameters::kAckDelayExponent:
+ return "ack_delay_exponent";
+- case kMaxAckDelay:
++ case TransportParameters::kMaxAckDelay:
+ return "max_ack_delay";
+- case kDisableMigration:
++ case TransportParameters::kDisableMigration:
+ return "disable_migration";
+- case kPreferredAddress:
++ case TransportParameters::kPreferredAddress:
+ return "preferred_address";
+- case kGoogleQuicParam:
++ case TransportParameters::kGoogleQuicParam:
+ return "google";
+- case kGoogleQuicVersion:
++ case TransportParameters::kGoogleQuicVersion:
+ return "google-version";
+ }
+ return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")";
+@@ -390,7 +390,7 @@ bool SerializeTransportParameters(const
+ CBB original_connection_id_param;
+ if (!in.original_connection_id.IsEmpty()) {
+ DCHECK_EQ(Perspective::IS_SERVER, in.perspective);
+- if (!CBB_add_u16(¶ms, kOriginalConnectionId) ||
++ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) ||
+ !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) ||
+ !CBB_add_bytes(
+ &original_connection_id_param,
+@@ -412,7 +412,7 @@ bool SerializeTransportParameters(const
+ if (!in.stateless_reset_token.empty()) {
+ DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size());
+ DCHECK_EQ(Perspective::IS_SERVER, in.perspective);
+- if (!CBB_add_u16(¶ms, kStatelessResetToken) ||
++ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) ||
+ !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) ||
+ !CBB_add_bytes(&stateless_reset_token_param,
+ in.stateless_reset_token.data(),
+@@ -438,7 +438,7 @@ bool SerializeTransportParameters(const
+
+ // disable_migration
+ if (in.disable_migration) {
+- if (!CBB_add_u16(¶ms, kDisableMigration) ||
++ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) ||
+ !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter.
+ QUIC_BUG << "Failed to write disable_migration for " << in;
+ return false;
+@@ -458,7 +458,7 @@ bool SerializeTransportParameters(const
+ QUIC_BUG << "Bad lengths " << *in.preferred_address;
+ return false;
+ }
+- if (!CBB_add_u16(¶ms, kPreferredAddress) ||
++ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) ||
+ !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) ||
+ !CBB_add_bytes(
+ &preferred_address_params,
+@@ -491,7 +491,7 @@ bool SerializeTransportParameters(const
+ if (in.google_quic_params) {
+ const QuicData& serialized_google_quic_params =
+ in.google_quic_params->GetSerialized();
+- if (!CBB_add_u16(¶ms, kGoogleQuicParam) ||
++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) ||
+ !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) ||
+ !CBB_add_bytes(&google_quic_params,
+ reinterpret_cast<const uint8_t*>(
+@@ -505,7 +505,7 @@ bool SerializeTransportParameters(const
+
+ // Google-specific version extension.
+ CBB google_version_params;
+- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) ||
++ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) ||
+ !CBB_add_u16_length_prefixed(¶ms, &google_version_params) ||
+ !CBB_add_u32(&google_version_params, in.version)) {
+ QUIC_BUG << "Failed to write Google version extension for " << in;
+@@ -565,7 +565,7 @@ bool ParseTransportParameters(const uint
+ }
+ bool parse_success = true;
+ switch (param_id) {
+- case kOriginalConnectionId:
++ case TransportParameters::kOriginalConnectionId:
+ if (!out->original_connection_id.IsEmpty()) {
+ QUIC_DLOG(ERROR) << "Received a second original connection ID";
+ return false;
+@@ -581,10 +581,10 @@ bool ParseTransportParameters(const uint
+ CBS_len(&value));
+ }
+ break;
+- case kIdleTimeout:
++ case TransportParameters::kIdleTimeout:
+ parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value);
+ break;
+- case kStatelessResetToken:
++ case TransportParameters::kStatelessResetToken:
+ if (!out->stateless_reset_token.empty()) {
+ QUIC_DLOG(ERROR) << "Received a second stateless reset token";
+ return false;
+@@ -597,36 +597,36 @@ bool ParseTransportParameters(const uint
+ out->stateless_reset_token.assign(CBS_data(&value),
+ CBS_data(&value) + CBS_len(&value));
+ break;
+- case kMaxPacketSize:
++ case TransportParameters::kMaxPacketSize:
+ parse_success = out->max_packet_size.ReadFromCbs(&value);
+ break;
+- case kInitialMaxData:
++ case TransportParameters::kInitialMaxData:
+ parse_success = out->initial_max_data.ReadFromCbs(&value);
+ break;
+- case kInitialMaxStreamDataBidiLocal:
++ case TransportParameters::kInitialMaxStreamDataBidiLocal:
+ parse_success =
+ out->initial_max_stream_data_bidi_local.ReadFromCbs(&value);
+ break;
+- case kInitialMaxStreamDataBidiRemote:
++ case TransportParameters::kInitialMaxStreamDataBidiRemote:
+ parse_success =
+ out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value);
+ break;
+- case kInitialMaxStreamDataUni:
++ case TransportParameters::kInitialMaxStreamDataUni:
+ parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value);
+ break;
+- case kInitialMaxStreamsBidi:
++ case TransportParameters::kInitialMaxStreamsBidi:
+ parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value);
+ break;
+- case kInitialMaxStreamsUni:
++ case TransportParameters::kInitialMaxStreamsUni:
+ parse_success = out->initial_max_streams_uni.ReadFromCbs(&value);
+ break;
+- case kAckDelayExponent:
++ case TransportParameters::kAckDelayExponent:
+ parse_success = out->ack_delay_exponent.ReadFromCbs(&value);
+ break;
+- case kMaxAckDelay:
++ case TransportParameters::kMaxAckDelay:
+ parse_success = out->max_ack_delay.ReadFromCbs(&value);
+ break;
+- case kDisableMigration:
++ case TransportParameters::kDisableMigration:
+ if (out->disable_migration) {
+ QUIC_DLOG(ERROR) << "Received a second disable migration";
+ return false;
+@@ -638,7 +638,7 @@ bool ParseTransportParameters(const uint
+ }
+ out->disable_migration = true;
+ break;
+- case kPreferredAddress: {
++ case TransportParameters::kPreferredAddress: {
+ uint16_t ipv4_port, ipv6_port;
+ in_addr ipv4_address;
+ in6_addr ipv6_address;
+@@ -692,7 +692,7 @@ bool ParseTransportParameters(const uint
+ QuicMakeUnique<TransportParameters::PreferredAddress>(
+ preferred_address);
+ } break;
+- case kGoogleQuicParam: {
++ case TransportParameters::kGoogleQuicParam: {
+ if (out->google_quic_params) {
+ QUIC_DLOG(ERROR) << "Received a second Google parameter";
+ return false;
+@@ -701,7 +701,7 @@ bool ParseTransportParameters(const uint
+ reinterpret_cast<const char*>(CBS_data(&value)), CBS_len(&value));
+ out->google_quic_params = CryptoFramer::ParseMessage(serialized_params);
+ } break;
+- case kGoogleQuicVersion: {
++ case TransportParameters::kGoogleQuicVersion: {
+ if (!CBS_get_u32(&value, &out->version)) {
+ QUIC_DLOG(ERROR) << "Failed to parse Google version extension";
+ return false;
+diff -up chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc
+--- chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc.quiche-compile-fix 2019-08-14 09:59:19.139902052 +0200
++++ chromium-76.0.3809.100/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc 2019-08-14 09:59:33.132041535 +0200
+@@ -2,10 +2,12 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+-#include <string>
+-
+ #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h"
+
++#include <cstring>
++#include <string>
++#include <vector>
++
+ namespace quic {
+
+ namespace {
diff --git a/chromium-76.0.3809.100-throttling-dead-beef.patch b/chromium-76.0.3809.100-throttling-dead-beef.patch
new file mode 100644
index 0000000..5e392e6
--- /dev/null
+++ b/chromium-76.0.3809.100-throttling-dead-beef.patch
@@ -0,0 +1,30 @@
+From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Thu, 06 Jun 2019 07:54:05 +0000
+Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t
+
+We are setting kAlive and kDead values assigning values that
+are bigger than the maximum signed int32. It is better to use
+uint32_t in this case.
+
+Bug: 819294
+Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772
+Reviewed-by: Kinuko Yasuda <kinuko(a)chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena(a)lge.com>
+Cr-Commit-Position: refs/heads/master@{#666619}
+---
+
+diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h
+index 43751c4..3c6f87b 100644
+--- a/services/network/throttling/throttling_controller.h
++++ b/services/network/throttling/throttling_controller.h
+@@ -38,7 +38,7 @@
+
+ // TODO(https://crbug.com/960874): Debugging code to try and shed some light
+ // on why the owned maps are invalid.
+- enum class Liveness : int32_t {
++ enum class Liveness : uint32_t {
+ kAlive = 0xCA11AB13,
+ kDead = 0xDEADBEEF,
+ };
diff --git a/chromium-76.0.3809.100-weak-ptr-no-except.patch b/chromium-76.0.3809.100-weak-ptr-no-except.patch
new file mode 100644
index 0000000..a392971
--- /dev/null
+++ b/chromium-76.0.3809.100-weak-ptr-no-except.patch
@@ -0,0 +1,66 @@
+From 0370838723e786b51e7ec8ab55014811ec3e3aa3 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Thu, 18 Jul 2019 14:26:11 +0200
+Subject: [PATCH] Make base::WeakPtr move constructor/operator noexcept to fix GCC build regression
+
+A GCC build regression has happened on DisjointRangeLockManager, as its move
+operator and constructor were declared noexcept. This was failing because the
+default implementation depended on base::WeakPtr, that did not provide
+noexcept declaration for them.
+
+So make base::WeakPtr noexcept.
+
+Bug: 819294
+Change-Id: I936784b881c7c1afea136ceedbe9341e76464f95
+---
+
+diff --git a/base/memory/weak_ptr.cc b/base/memory/weak_ptr.cc
+index 64fd499..0efcc44 100644
+--- a/base/memory/weak_ptr.cc
++++ b/base/memory/weak_ptr.cc
+@@ -46,7 +46,7 @@
+
+ WeakReference::~WeakReference() = default;
+
+-WeakReference::WeakReference(WeakReference&& other) = default;
++WeakReference::WeakReference(WeakReference&& other) noexcept = default;
+
+ WeakReference::WeakReference(const WeakReference& other) = default;
+
+diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h
+index 72b5f1f..ccd22fd13 100644
+--- a/base/memory/weak_ptr.h
++++ b/base/memory/weak_ptr.h
+@@ -116,9 +116,9 @@
+ explicit WeakReference(const scoped_refptr<Flag>& flag);
+ ~WeakReference();
+
+- WeakReference(WeakReference&& other);
++ WeakReference(WeakReference&& other) noexcept;
+ WeakReference(const WeakReference& other);
+- WeakReference& operator=(WeakReference&& other) = default;
++ WeakReference& operator=(WeakReference&& other) noexcept = default;
+ WeakReference& operator=(const WeakReference& other) = default;
+
+ bool IsValid() const;
+@@ -153,9 +153,9 @@
+ ~WeakPtrBase();
+
+ WeakPtrBase(const WeakPtrBase& other) = default;
+- WeakPtrBase(WeakPtrBase&& other) = default;
++ WeakPtrBase(WeakPtrBase&& other) noexcept = default;
+ WeakPtrBase& operator=(const WeakPtrBase& other) = default;
+- WeakPtrBase& operator=(WeakPtrBase&& other) = default;
++ WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default;
+
+ void reset() {
+ ref_ = internal::WeakReference();
+@@ -236,7 +236,7 @@
+ ptr_ = reinterpret_cast<uintptr_t>(t);
+ }
+ template <typename U>
+- WeakPtr(WeakPtr<U>&& other) : WeakPtrBase(std::move(other)) {
++ WeakPtr(WeakPtr<U>&& other) noexcept : WeakPtrBase(std::move(other)) {
+ // Need to cast from U* to T* to do pointer adjustment in case of multiple
+ // inheritance. This also enforces the "U is a T" rule.
+ T* t = reinterpret_cast<U*>(other.ptr_);
diff --git a/chromium.spec b/chromium.spec
index 602b236..383bfa9 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -268,6 +268,20 @@ Patch47: chromium-76.0.3809.100-gcc-vulkan.patch
Patch48: chromium-76.0.3809.100-gcc-cc-no-except.patch
# https://chromium.googlesource.com/chromium/src.git/+/502e6e42633d2571c823...
Patch49: chromium-76.0.3809.100-gcc-net-fetcher.patch
+# https://quiche.googlesource.com/quiche.git/+/9424add9d73432a794b794479025...
+Patch50: chromium-76.0.3809.100-quiche-compile-fix.patch
+# https://chromium.googlesource.com/chromium/src/+/53bb5a463ee956c70230eaa5...
+Patch51: chromium-76.0.3809.100-throttling-dead-beef.patch
+# https://chromium.googlesource.com/chromium/src/+/52b5ceac95b67491b1c71f0e...
+Patch52: chromium-76.0.3809.100-gcc-ambigous-instantiation.patch
+# https://chromium.googlesource.com/chromium/src.git/+/715cb38eac889625de0c...
+Patch53: chromium-76.0.3809.100-weak-ptr-no-except.patch
+# https://chromium.googlesource.com/chromium/src.git/+/c6afbd59c997c2b64f11...
+Patch54: chromium-76.0.3809.100-gcc-feature-policy-parser.patch
+# https://chromium.googlesource.com/chromium/src.git/+/cf6d6b40d711fce93a24...
+Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch
+# https://chromium.googlesource.com/chromium/src.git/+/dcb55fb8f18abe5f43d2...
+Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch
# Apply these changes to work around EPEL7 compiler issues
Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch
@@ -828,6 +842,13 @@ udev.
%patch47 -p1 -b .gcc-vulkan
%patch48 -p1 -b .gcc-cc-no-except
%patch49 -p1 -b .gcc-net-fetcher
+%patch50 -p1 -b .quiche-compile-fix
+%patch51 -p1 -b .throttling-dead-beef
+%patch52 -p1 -b .gcc-ambigous-instantiation
+%patch53 -p1 -b .weak-ptr-no-except
+%patch54 -p1 -b .gcc-feature-policy-parser
+%patch55 -p1 -b .gcc-hasfraction-constexpr
+%patch56 -p1 -b .gcc-move-explicit-initialization
# EPEL specific patches
%if 0%{?rhel} == 7
5 years, 1 month
[chromium-libs-media-freeworld] (201 commits) ...Merge branch 'master' of https://src.fedoraproject.org/rpms/chromium
by hellbanger
Summary of changes:
333adfc... Backport more build fixes from upstream
6338de1... third_party/openscreen need to be preserved
081e6e7... third_party/boringssl/linux-x86_64/crypto/third_party/sike
a848ba4... loosen dependency on chromium-libs in freeworld build
b2aa221... Pulseaudio changed the API in 12.99 and we need to adapt th
923b51d... Add missing ffmpeg file on aarch64
f31a3b1... Update the Pulseaudio's pa_operation_get_state() signature
170da15... Backport another upstream build fix
b01a0be... Upload the new cleaned tarball with aarch64 sources
1196d0d... Backport and create more of the GCC fixes
ba2f198... //third_party dependency missing for remoting
c55af60... Fix the build of remoting_all target
53c822f... Fix the previously uploaded patch
cae7041... Update the list of private libraries and remove a pak file
b32ea8f... Cleanup the patches
83f2dc2... Update to 76.0.3809.100
a44f11d... Add more fixes
8e2b9c8... Backport more build fixes from upstream
4f64c0f... third_party/openscreen need to be preserved
e0d11a7... third_party/boringssl/linux-x86_64/crypto/third_party/sike
a67d161... loosen dependency on chromium-libs in freeworld build
e95a704... Pulseaudio changed the API in 12.99 and we need to adapt th
c84fddd... Add missing ffmpeg file on aarch64
6548a82... Update the Pulseaudio's pa_operation_get_state() signature
fd12ce2... Backport another upstream build fix
b93cafe... Upload the new cleaned tarball with aarch64 sources
73516eb... Backport and create more of the GCC fixes
1ad0654... //third_party dependency missing for remoting
766aab4... Fix the build of remoting_all target
6799d9e... Fix the previously uploaded patch
2b21300... Update the list of private libraries and remove a pak file
2de703e... - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass
9ac69a5... Cleanup the patches
6cad81f... Update to 76.0.3809.100
55af817... Add more fixes
1a67b56... Backport more build fixes from upstream
fe36406... third_party/openscreen need to be preserved
c9aa7a8... third_party/boringssl/linux-x86_64/crypto/third_party/sike
f687cc7... loosen dependency on chromium-libs in freeworld build
e116fd0... Pulseaudio changed the API in 12.99 and we need to adapt th
259b8d6... Add missing ffmpeg file on aarch64
e38a433... Update the Pulseaudio's pa_operation_get_state() signature
27f9285... Backport another upstream build fix
1bc7f18... Upload the new cleaned tarball with aarch64 sources
889d586... Backport and create more of the GCC fixes
b7cedf6... //third_party dependency missing for remoting
f9c9c79... Fix the build of remoting_all target
6b2762e... Fix the previously uploaded patch
50c0a96... Update the list of private libraries and remove a pak file
af4746e... Fix the EL7 build as it doesn't like part of the upstream G
aaab3d4... More el7 fixes
e39b889... Another el7 noexcept change
fc32772... Another noexec fix for EL7
b82b0a3... Update to 76.0.3809.132
8b5c622... Add an updated patch that was missed
ed65550... Fix the EL7 build as it doesn't like part of the upstream G
32cbc69... More el7 fixes
e79629f... Another el7 noexcept change
22d44ca... Another noexec fix for EL7
503e7f0... Update to 76.0.3809.132
5bc875d... Add an updated patch that was missed
7c18e77... Fix the EL7 build as it doesn't like part of the upstream G
6ad9fbd... More el7 fixes
46e50be... Another el7 noexcept change
15f7f78... Another noexec fix for EL7
a09f547... Update to 76.0.3809.132
ea0cafa... Add an updated patch that was missed
bc00635... Backport patch to fix certificate transparency
fb0db49... Backport patch to fix certificate transparency
df09cb5... Backport patch to fix certificate transparency
b974e5a... Fix certificate-transparency patch
2f5fd97... Fix certificate-transparency patch
da8d872... Fix certificate-transparency patch
82c3fb0... More fixes to a backported patch for certificate transparen
6140e11... More fixes to a backported patch for certificate transparen
c5383dd... More fixes to a backported patch for certificate transparen
2c4faae... "Adding package.cfg file"
67061b4... Merge branch 'master' into epel8
e919224... lots of spec cleanups, support for epel8, remove nacl for g
911f7b2... disable gnome-keyring
c76cbbc... conditionalize minizip bundling since rhel 8 does not have
1964554... force disable use_gnome_keyring
71ab9fa... use bundled zlib here (ugh)
f53529c... re-enable zlib mangling in bundleminizip conditional case
7f0ec73... trying this
a0c0e33... take two
782a626... Update to 77.0.3865.75
6e6dfd5... Unbundle the zlib
62d3304... Missing bundled dependency for headless
3534908... Fix the previously rebased patched
aa41a1d... Update the clean-ffmpeg.sh script
1dabe8d... Include <memory> to fix the headless build
670a5ef... Use the bundled harfbuzz-ng for < F31
ce1cdf1... Remove an unneeded patch that's breaking the build
b10ed01... Another export and alignas gcc compilation fix
a9b5650... Preserve the spirv heads for swiftshader compilation
4287667... Fix the release number and add a changelog entry
5316414... More of the harfbuzz related fixes
a159083... Don't remove an additional bundled library
d0e5893... Backport another GCC build fix
d544c78... Customize the ninja status to show the currently build targ
f68b7de... Fix the aarch64 build
be307c8... 22x22 icon was removed and use the symbolic one as well
2873f12... Update to 77.0.3865.75
16423a6... Unbundle the zlib
382929d... Missing bundled dependency for headless
e77d556... Fix the previously rebased patched
1302df6... Update the clean-ffmpeg.sh script
f36acf4... Include <memory> to fix the headless build
0c37930... Use the bundled harfbuzz-ng for < F31
09209e7... Remove an unneeded patch that's breaking the build
e05d0e1... Another export and alignas gcc compilation fix
2af2cae... Preserve the spirv heads for swiftshader compilation
f468793... Fix the release number and add a changelog entry
176f9b5... More of the harfbuzz related fixes
13aab67... Don't remove an additional bundled library
b30c77e... Backport another GCC build fix
e0d06a0... Customize the ninja status to show the currently build targ
91378b7... Fix the aarch64 build
4dcf059... 22x22 icon was removed and use the symbolic one as well
2698a79... Update to 77.0.3865.75
e8aad2e... Unbundle the zlib
99274dd... Missing bundled dependency for headless
31afa2b... Fix the previously rebased patched
80ef5cb... Update the clean-ffmpeg.sh script
8b6db4e... Include <memory> to fix the headless build
e37acb8... Use the bundled harfbuzz-ng for < F31
0d2fa42... Remove an unneeded patch that's breaking the build
fee98db... Another export and alignas gcc compilation fix
5008833... Preserve the spirv heads for swiftshader compilation
28b564b... Fix the release number and add a changelog entry
359c990... More of the harfbuzz related fixes
c8be01a... Don't remove an additional bundled library
247c850... Backport another GCC build fix
13a5dba... Customize the ninja status to show the currently build targ
78050fc... Fix the aarch64 build
91e0653... 22x22 icon was removed and use the symbolic one as well
dd3c28c... Update the list of private libraries
de3e9b3... Update the list of private libraries
7b0eb51... Update the list of private libraries
d8c8b86... Update the list of private libraries
8f89cb9... Update the list of private libraries
33d340b... Update the list of private libraries
10a2ce3... Update the el7 noexcept patch and fix the el7 build
c8786bd... Forget to generate diff for one affected el7-noexcept file
2a431ec... Update to 77.0.3865.90
65bf375... Update the el7 noexcept patch and fix the el7 build
8564a8c... Forget to generate diff for one affected el7-noexcept file
d30cc0e... Update to 77.0.3865.90
7b637c4... Update the el7 noexcept patch and fix the el7 build
2aa7959... Forget to generate diff for one affected el7-noexcept file
67cc152... Update to 77.0.3865.90
47afdc4... Don't try to revert a previously removed patch
51e3208... Remove support for (p)NaCL
3eaa3be... Fix how the arguments are passed to GN's bootstrap.py
3c95810... Remove the unused patches or patches that are not needed an
67e04f3... Fix the icon
58128e1... Fix the icon Remove quite a few of downstream patches Fix t
18d61f5... Don't try to revert a previously removed patch
5e096a3... Remove support for (p)NaCL
1fb9b47... Fix how the arguments are passed to GN's bootstrap.py
35521eb... Remove the unused patches or patches that are not needed an
6bae3df... Fix the icon
3d79642... Fix the icon Remove quite a few of downstream patches Fix t
430c02a... Don't try to revert a previously removed patch
20eba05... Remove support for (p)NaCL
94ec5c2... Fix how the arguments are passed to GN's bootstrap.py
a472406... Remove the unused patches or patches that are not needed an
b542029... Fix the icon
64608c7... Fix the icon Remove quite a few of downstream patches Fix t
f7aa602... here we go again
9f27844... drop explicit BR: gnome-keyring-devel
e29905e... enable aarch64 for EPEL-8
78eda85... Move another python script to python3
e67a39d... Update to 77.0.3865.120
c4d9ecb... Move another python script to python3
e7f437f... Update to 77.0.3865.120
3ffc8fd... Move another python script to python3
286dfc8... Update to 77.0.3865.120
e968b76... Move another python script to python3
0e5b248... Update to 77.0.3865.120
a5557a1... fix node handling
e4f20af... fix node handling for EPEL-8, merge changes from 120
527091e... merge epel8 changes
35b2732... silence outdated build noise (bz1745745)
0854e97... merge fix
5cbc3dd... upstream fix for zlib symbol exports with gcc
6944f23... initial v78 commit, note, NOT READY FOR BUILD YET
d3e96e6... more 78 fixes
e4b93e8... another gcc fix from upstream
dd5dd20... preserve third_party/catapult/tracing/third_party/jpeg-js,
5d755bc... fix issue in my manual patch, apply other gentoo 78 fixes
5a0ab75... last bit of fixes
77f7b18... merge fix
ff01f5a... merge fix
d0e087e... merge fix
3cab112... preserve one of the MANY copies of six
f4f0595... Merge branch 'master' into f29
85e58a0... always BR: python2-devel
8544391... drop the patches we dragged with the f29 merge
e7ef84a... Merge branch 'master' of https://src.fedoraproject.org/rpms
5 years, 1 month
[chromium-browser-privacy: 6/6] Update ungoogled-chromium to 78.0.3904.70-1
by qvint
commit c54f7d252cd1c0e4176e62cc4c255cdecdfde5a4
Author: qvint <dotqvint(a)gmail.com>
Date: Fri Nov 1 00:48:37 2019 +0300
Update ungoogled-chromium to 78.0.3904.70-1
chromium-browser-privacy.spec | 5 +++--
chromium-default-user-data-dir.patch | 4 ++--
sources | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/chromium-browser-privacy.spec b/chromium-browser-privacy.spec
index a2add15..cb37907 100644
--- a/chromium-browser-privacy.spec
+++ b/chromium-browser-privacy.spec
@@ -92,7 +92,7 @@ Source0: https://commondatastorage.googleapis.com/chromium-browser-official/c
# ./chromium-latest.py --stable --ffmpegclean --ffmpegarm --deleteunrar
Source0: chromium-%{version}-clean.tar.xz
%endif
-%global ungoogled_chromium_revision 99b98c530ff30c85434a5becc550bc1cfe255b63
+%global ungoogled_chromium_revision 78.0.3904.70-1
Source300: https://github.com/Eloston/ungoogled-chromium/archive/%{ungoogled_chromiu...
# The following two source files are copied and modified from the chromium source
Source10: %{name}.sh
@@ -757,8 +757,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libvk_swiftshader.so
#########################################changelogs#################################################
%changelog
-* Thu Oct 31 2019 qvint <dotqvint(a)gmail.com> - 78.0.3904.70-1
+* Fri Nov 01 2019 qvint <dotqvint(a)gmail.com> - 78.0.3904.70-1
- Update Chromium to 78.0.3904.70
+- Update ungoogled-chromium to 78.0.3904.70-1
* Mon Oct 14 2019 qvint <dotqvint(a)gmail.com> - 77.0.3865.120-1
- Update Chromium to 77.0.3865.120
diff --git a/chromium-default-user-data-dir.patch b/chromium-default-user-data-dir.patch
index 23eccb6..1206262 100644
--- a/chromium-default-user-data-dir.patch
+++ b/chromium-default-user-data-dir.patch
@@ -3,8 +3,8 @@ https://github.com/Eloston/ungoogled-chromium/issues/568#issuecomment-433...
--- a/chrome/common/chrome_paths_linux.cc
+++ b/chrome/common/chrome_paths_linux.cc
-@@ -90,7 +90,7 @@ bool GetDefaultUserDataDirectory(base::F
- #if defined(GOOGLE_CHROME_BUILD)
+@@ -91,7 +91,7 @@ bool GetDefaultUserDataDirectory(base::F
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
*result = config_dir.Append("google-chrome" + GetChannelSuffixForDataDir());
#else
- *result = config_dir.Append("chromium");
diff --git a/sources b/sources
index 38294ec..ffa9972 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
SHA512 (chromium-78.0.3904.70.tar.xz) = 95d926ea92a0e744284a4c5fca619e3a067dd0fdfaa7c05b5a069d2a8d1159bf849335e21e5803bd28175c1994bd4ff15337ad0a3063445fab74eef113275545
-SHA512 (ungoogled-chromium-99b98c530ff30c85434a5becc550bc1cfe255b63.tar.gz) = 06b2e700fee0f7e4d28ff3a1814fd8c6897bae4451fd45c9a779878893c6367fa16e6559d1a36378c1b3435b757eb9f2986345a5a076fc3afab50c3394615088
+SHA512 (ungoogled-chromium-78.0.3904.70-1.tar.gz) = 6621145f86d280326c37356187268664b394d0a4ee974886a15cb01a8e9aad1f6ea825478b4047ce26d484f5b02b1f55d8e5d4cd0181fe33486044b8a7878a89
5 years, 1 month