summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Playfair Cal2019-12-24 10:07:46 +1100
committerDaniel Playfair Cal2020-01-09 00:07:24 +1100
commitb26c568927542ce7d5084c654382c51fea251f75 (patch)
tree37507bbf464af8f316c88d4c43c40cd470015cd7
parent0e39adfc7d2b8ab19f966c923f11e09e5e8855f4 (diff)
downloadaur-b26c568927542ce7d5084c654382c51fea251f75.tar.gz
79.0.3945.117-1
-rw-r--r--.SRCINFO30
-rw-r--r--0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch48
-rw-r--r--0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch173
-rw-r--r--PKGBUILD77
-rw-r--r--add-missing-include-for-unique_ptr.patch30
-rw-r--r--chromium-system-hb.patch19
-rw-r--r--chromium-widevine.patch33
-rw-r--r--dns_util-make-DohUpgradeEntry-non-const.patch86
-rw-r--r--fix-shutdown-crash-in-ProfileManager.patch45
-rw-r--r--include-algorithm-to-use-std-lower_bound.patch49
-rw-r--r--launch_manager.h-uses-std-vector.patch36
11 files changed, 387 insertions, 239 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9a2029a153ff..cea3486badf4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = chromium-ozone
pkgdesc = Chromium built with patches for wayland support via Ozone
- pkgver = 78.0.3904.108
+ pkgver = 79.0.3945.117
pkgrel = 1
url = https://www.chromium.org/Home
install = chromium.install
@@ -50,35 +50,37 @@ pkgbase = chromium-ozone
depends = opus
optdepends = pepper-flash: support for Flash content
optdepends = kdialog: needed for file dialogs in KDE
- optdepends = gnome-keyring: for storing passwords in GNOME keyring
- optdepends = kwallet: for storing passwords in KWallet
+ optdepends = org.freedesktop.secrets: password storage backend on GNOME / Xfce
+ optdepends = kwallet: for storing passwords in KWallet on KDE desktops
provides = chromium
conflicts = chromium
options = debug
options = !strip
- source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-78.0.3904.108.tar.xz
+ source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-79.0.3945.117.tar.xz
source = chromium-launcher-6.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v6.tar.gz
- source = meta-browser-34ef417cdcf848839b59c086be046c2b4a96ac32.tar.gz::https://github.com/OSSystems/meta-browser/archive/34ef417cdcf848839b59c086be046c2b4a96ac32.tar.gz
- source = add-missing-include-for-unique_ptr.patch
- source = dns_util-make-DohUpgradeEntry-non-const.patch
- source = fix-shutdown-crash-in-ProfileManager.patch
+ source = launch_manager.h-uses-std-vector.patch
+ source = include-algorithm-to-use-std-lower_bound.patch
+ source = 0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch
+ source = 0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch
source = icu65.patch
source = chromium-system-icu.patch
source = chromium-system-zlib.patch
+ source = chromium-system-hb.patch
source = fix-spammy-unique-font-matching-log.patch
source = chromium-widevine.patch
source = chromium-skia-harmony.patch
- sha256sums = f9c53839f306d2973de27723360024f7904101d426b9e7e9cdb56e8bcc775b0e
+ sha256sums = 4d960e8bd790cc1c8e7f0632790424957c4996a8a91b9d899eb572acec854ef1
sha256sums = 04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1
- sha256sums = 892026717ac487e1a92073d7a363a7f4a12b06ed6ac61825842ad734eda857d7
- sha256sums = 49052e8aa630c4aa57bf46823edc32b7b309493275163c3bb3f9fd390c73356e
- sha256sums = 69694ab12a5ced389916c0c5e8c7bdc191544f576b134ddfb2fe9d4ed9ec4494
- sha256sums = 4f81612c28957987f7344d8ce2b95a4a63136a8319c9751819436b11c62df057
+ sha256sums = bd0fae907c451252e91c4cbf1ad301716bc9f8a4644ecc60e9590a64197477d3
+ sha256sums = 1f906676563e866e2b59719679e76e0b2f7f082f48ef0593e86da0351a586c73
+ sha256sums = 716c28bed9f6e9c32e3617e125c1b04806700aef691763923cd4ed14b8d23279
+ sha256sums = 9e9e5c66d4555c787736c5d5d5fcef8b5e14d913b138041c9c90d1976ee46845
sha256sums = 1de9bdbfed482295dda45c7d4e323cee55a34e42f66b892da1c1a778682b7a41
sha256sums = e73cc2ee8d3ea35aab18c478d76fdfc68ca4463e1e10306fa1e738c03b3f26b5
sha256sums = eb67eda4945a89c3b90473fa8dc20637511ca4dcb58879a8ed6bf403700ca9c8
+ sha256sums = c0ad3fa426cb8fc1a237ddc6309a6b2dd4055bbe41dd07f50071ee61f969b81a
sha256sums = 6fbffe59b886195b92c9a55137cef83021c16593f49714acb20023633e3ebb19
- sha256sums = d081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b
+ sha256sums = 709e2fddba3c1f2ed4deb3a239fc0479bfa50c46e054e7f32db4fb1365fed070
sha256sums = 771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1
pkgname = chromium-ozone
diff --git a/0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch b/0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch
new file mode 100644
index 000000000000..ba05707cb0ba
--- /dev/null
+++ b/0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch
@@ -0,0 +1,48 @@
+From 1def13d08fb76df631b604af75e754df94626c0c Mon Sep 17 00:00:00 2001
+From: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
+Date: Fri, 13 Dec 2019 11:48:23 +0000
+Subject: [PATCH] Add missing algorithm header in
+ bitmap_cursor_factory_ozone.cc
+
+This is needed for the use of std::find_if
+
+Change-Id: Ica47d3d323f5b2e115463372824b1af84b2294bc
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1963832
+Commit-Queue: Maksim Sisov <msisov@igalia.com>
+Reviewed-by: Maksim Sisov <msisov@igalia.com>
+Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
+Auto-Submit: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
+Cr-Commit-Position: refs/heads/master@{#724589}
+---
+ AUTHORS | 1 +
+ ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/AUTHORS b/AUTHORS
+index 751283238162..bf8810c3f109 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -205,6 +205,7 @@ Daniel Johnson <danielj41@gmail.com>
+ Daniel Lockyer <thisisdaniellockyer@gmail.com>
+ Daniel Nishi <dhnishi@gmail.com>
+ Daniel Platz <daplatz@googlemail.com>
++Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
+ Daniel Shaulov <dshaulov@ptc.com>
+ Daniel Trebbien <dtrebbien@gmail.com>
+ Daniel Waxweiler <daniel.waxweiler@gmail.com>
+diff --git a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
+index 71ec564b4803..f79d7932e236 100644
+--- a/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
++++ b/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
+@@ -4,6 +4,8 @@
+
+ #include "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.h"
+
++#include <algorithm>
++
+ #include "base/logging.h"
+ #include "third_party/skia/include/core/SkBitmap.h"
+ #include "ui/base/cursor/cursors_aura.h"
+--
+2.24.1
+
diff --git a/0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch b/0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch
new file mode 100644
index 000000000000..53da1d5d3118
--- /dev/null
+++ b/0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch
@@ -0,0 +1,173 @@
+Upstream-Status: Backport
+
+Backported from https://crrev.com/c/1946479
+
+Signed-off-by: Maksim Sisov <msisov@igalia.com>
+---
+From 4c9a7209005ee6c134692932d4c6d784d48ada34 Mon Sep 17 00:00:00 2001
+From: Maksim Sisov <msisov@igalia.com>
+Date: Tue, 3 Dec 2019 08:23:42 +0000
+Subject: [PATCH] ozone/wayland: Complete submission of a buffer submitted more
+ than once
+
+This CL fixes a corner use case that was caught by one of the users
+of Ozone/Wayland.
+
+The problem appeared when the Chromium compositor sent a next frame into
+the same buffer that had just been submitted and a OnSubmission callback
+had been sent to the viz process located WaylandBufferManager. This
+happened only when the remote inspector was attached and the screencast
+was enabled.
+
+In this case, Wayland compositor will not send an OnRelease callback
+and we should not wait for that. Instead, we must complete the
+submission immediately and set the |WaylandBuffer::released|
+member to be false. Once another buffer is committed, Wayland compositor
+will release the previous buffer.
+
+Bug: 1029777
+Change-Id: Ib74c16f41f128298998bc9699f8d9ded3697cd43
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1946479
+Commit-Queue: Maksim Sisov <msisov@igalia.com>
+Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#720878}
+---
+ .../host/wayland_buffer_manager_host.cc | 22 ++++--
+ .../wayland_buffer_manager_unittest.cc | 78 +++++++++++++++++++
+ 2 files changed, 95 insertions(+), 5 deletions(-)
+
+diff --git a/ui/ozone/platform/wayland/host/wayland_buffer_manager_host.cc b/ui/ozone/platform/wayland/host/wayland_buffer_manager_host.cc
+index f360f916cae7..c7fc7094475a 100644
+--- a/ui/ozone/platform/wayland/host/wayland_buffer_manager_host.cc
++++ b/ui/ozone/platform/wayland/host/wayland_buffer_manager_host.cc
+@@ -231,13 +231,20 @@ class WaylandBufferManagerHost::Surface {
+ DCHECK(buffer);
+ DCHECK(!pending_buffer_);
+
+- // Once the BufferRelease is called, the buffer will be released.
+- DCHECK(buffer->released);
+- buffer->released = false;
+-
+ DCHECK(!submitted_buffer_);
+ submitted_buffer_ = buffer;
+
++ // if the same buffer has been submitted again right after the client
++ // received OnSubmission for that buffer, just verify that the buffer has
++ // not been released by Wayland compositor, which is correct.
++ if (prev_submitted_buffer_ != submitted_buffer_) {
++ // Once the BufferRelease is called, the buffer will be released.
++ DCHECK(buffer->released);
++ buffer->released = false;
++ } else {
++ DCHECK(!buffer->released);
++ }
++
+ AttachAndDamageBuffer(buffer);
+
+ SetupFrameCallback();
+@@ -258,7 +265,12 @@ class WaylandBufferManagerHost::Surface {
+ // If it was the very first frame, the surface has not had a back buffer
+ // before, and Wayland won't release the front buffer until next buffer is
+ // attached. Thus, notify about successful submission immediately.
+- if (!prev_submitted_buffer_)
++ //
++ // As said above, if the client submits the same buffer again, we must
++ // notify the client about the submission immediately as Wayland compositor
++ // is not going to send a release callback for a buffer committed more than
++ // once.
++ if (!prev_submitted_buffer_ || prev_submitted_buffer_ == submitted_buffer_)
+ CompleteSubmission();
+
+ return true;
+diff --git a/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc b/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
+index 3908e2af629c..012e40f5a75a 100644
+--- a/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
++++ b/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
+@@ -477,6 +477,84 @@ TEST_P(WaylandBufferManagerTest, TestCommitBufferConditions) {
+ Sync();
+ }
+
++// This test verifies that submitting the buffer more than once results in
++// OnSubmission callback as Wayland compositor is not supposed to release the
++// buffer committed twice.
++TEST_P(WaylandBufferManagerTest, SubmitSameBufferMultipleTimes) {
++ constexpr uint32_t kBufferId1 = 1;
++ constexpr uint32_t kBufferId2 = 2;
++
++ const gfx::AcceleratedWidget widget = window_->GetWidget();
++ const gfx::Rect bounds = window_->GetBounds();
++
++ MockSurfaceGpu mock_surface_gpu(buffer_manager_gpu_.get(), widget);
++
++ auto* linux_dmabuf = server_.zwp_linux_dmabuf_v1();
++ EXPECT_CALL(*linux_dmabuf, CreateParams(_, _, _)).Times(2);
++ CreateDmabufBasedBufferAndSetTerminateExpecation(false /*fail*/, kBufferId1);
++ CreateDmabufBasedBufferAndSetTerminateExpecation(false /*fail*/, kBufferId2);
++
++ Sync();
++
++ ProcessCreatedBufferResourcesWithExpectation(2u /* expected size */,
++ false /* fail */);
++
++ // All the other expectations must come in order.
++ ::testing::InSequence sequence;
++ EXPECT_CALL(mock_surface_gpu,
++ OnSubmission(kBufferId1, gfx::SwapResult::SWAP_ACK))
++ .Times(1);
++ ASSERT_TRUE(!connection_->presentation());
++ EXPECT_CALL(mock_surface_gpu, OnPresentation(kBufferId1, _)).Times(1);
++
++ buffer_manager_gpu_->CommitBuffer(widget, kBufferId1, bounds);
++
++ Sync();
++
++ testing::Mock::VerifyAndClearExpectations(&mock_surface_gpu);
++
++ auto* mock_surface = server_.GetObject<wl::MockSurface>(widget);
++ mock_surface->SendFrameCallback();
++
++ Sync();
++
++ // Commit second buffer now.
++ buffer_manager_gpu_->CommitBuffer(widget, kBufferId2, bounds);
++
++ Sync();
++
++ EXPECT_CALL(mock_surface_gpu,
++ OnSubmission(kBufferId2, gfx::SwapResult::SWAP_ACK))
++ .Times(1);
++ EXPECT_CALL(mock_surface_gpu, OnPresentation(kBufferId2, _)).Times(1);
++
++ mock_surface->ReleasePrevAttachedBuffer();
++ mock_surface->SendFrameCallback();
++
++ Sync();
++
++ testing::Mock::VerifyAndClearExpectations(&mock_surface_gpu);
++
++ // Now, commit the buffer with the |kBufferId2| again and make sure the
++ // manager manually sends the submission callback as long as the compositor is
++ // not going to release a buffer as it was the same buffer submitted more than
++ // once.
++ EXPECT_CALL(mock_surface_gpu,
++ OnSubmission(kBufferId2, gfx::SwapResult::SWAP_ACK))
++ .Times(1);
++ EXPECT_CALL(mock_surface_gpu, OnPresentation(kBufferId2, _)).Times(1);
++
++ // Commit second buffer now.
++ buffer_manager_gpu_->CommitBuffer(widget, kBufferId2, bounds);
++
++ Sync();
++
++ testing::Mock::VerifyAndClearExpectations(&mock_surface_gpu);
++
++ DestroyBufferAndSetTerminateExpectation(widget, kBufferId1, false /*fail*/);
++ DestroyBufferAndSetTerminateExpectation(widget, kBufferId2, false /*fail*/);
++}
++
+ INSTANTIATE_TEST_SUITE_P(XdgVersionV5Test,
+ WaylandBufferManagerTest,
+ ::testing::Values(kXdgShellV5));
+--
+2.20.1
+
diff --git a/PKGBUILD b/PKGBUILD
index ade3a82bde18..9dd12a718605 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,10 +5,9 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=chromium-ozone
-pkgver=78.0.3904.108
+pkgver=79.0.3945.117
pkgrel=1
_launcher_ver=6
-_meta_browser_sha=34ef417cdcf848839b59c086be046c2b4a96ac32
pkgdesc="Chromium built with patches for wayland support via Ozone"
arch=('x86_64')
url="https://www.chromium.org/Home"
@@ -23,32 +22,34 @@ makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git'
'clang' 'lld' 'gn' 'java-runtime-headless')
optdepends=('pepper-flash: support for Flash content'
'kdialog: needed for file dialogs in KDE'
- 'gnome-keyring: for storing passwords in GNOME keyring'
- 'kwallet: for storing passwords in KWallet')
+ 'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
+ 'kwallet: for storing passwords in KWallet on KDE desktops')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
- meta-browser-${_meta_browser_sha}.tar.gz::https://github.com/OSSystems/meta-browser/archive/${_meta_browser_sha}.tar.gz
- add-missing-include-for-unique_ptr.patch
- dns_util-make-DohUpgradeEntry-non-const.patch
- fix-shutdown-crash-in-ProfileManager.patch
+ launch_manager.h-uses-std-vector.patch
+ include-algorithm-to-use-std-lower_bound.patch
+ 0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch
+ 0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch
icu65.patch
chromium-system-icu.patch
chromium-system-zlib.patch
+ chromium-system-hb.patch
fix-spammy-unique-font-matching-log.patch
chromium-widevine.patch
chromium-skia-harmony.patch)
-sha256sums=('f9c53839f306d2973de27723360024f7904101d426b9e7e9cdb56e8bcc775b0e'
+sha256sums=('4d960e8bd790cc1c8e7f0632790424957c4996a8a91b9d899eb572acec854ef1'
'04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
- '892026717ac487e1a92073d7a363a7f4a12b06ed6ac61825842ad734eda857d7'
- '49052e8aa630c4aa57bf46823edc32b7b309493275163c3bb3f9fd390c73356e'
- '69694ab12a5ced389916c0c5e8c7bdc191544f576b134ddfb2fe9d4ed9ec4494'
- '4f81612c28957987f7344d8ce2b95a4a63136a8319c9751819436b11c62df057'
+ 'bd0fae907c451252e91c4cbf1ad301716bc9f8a4644ecc60e9590a64197477d3'
+ '1f906676563e866e2b59719679e76e0b2f7f082f48ef0593e86da0351a586c73'
+ '716c28bed9f6e9c32e3617e125c1b04806700aef691763923cd4ed14b8d23279'
+ '9e9e5c66d4555c787736c5d5d5fcef8b5e14d913b138041c9c90d1976ee46845'
'1de9bdbfed482295dda45c7d4e323cee55a34e42f66b892da1c1a778682b7a41'
'e73cc2ee8d3ea35aab18c478d76fdfc68ca4463e1e10306fa1e738c03b3f26b5'
'eb67eda4945a89c3b90473fa8dc20637511ca4dcb58879a8ed6bf403700ca9c8'
+ 'c0ad3fa426cb8fc1a237ddc6309a6b2dd4055bbe41dd07f50071ee61f969b81a'
'6fbffe59b886195b92c9a55137cef83021c16593f49714acb20023633e3ebb19'
- 'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b'
+ '709e2fddba3c1f2ed4deb3a239fc0479bfa50c46e054e7f32db4fb1365fed070'
'771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1')
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
@@ -86,15 +87,15 @@ _google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
_google_default_client_id=413772536636.apps.googleusercontent.com
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
-_mb_general_patches=()
+# Branch point: 706915
+# Extra commits related specifically to wayland support:
-_mb_wayland_patches=(
- # 'V4L2/0001-Add-support-for-V4L2VDA-on-Linux.patch'
- # 'V4L2/0002-Add-mmap-via-libv4l-to-generic_v4l2_device.patch'
+# These consist of the above commits and their dependencies
+# generated with `git-deps -r -e <release tag> <commit>^! ...` (in reverse order)
+_bugfix_patches=(
+ '0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch'
)
-_bugfix_patches=()
-
prepare() {
cd "$srcdir/chromium-$pkgver"
@@ -108,44 +109,29 @@ prepare() {
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/libxml_utils.cc
- # Missing include in third_party/blink/public/platform/web_rtc_rtp_source.h
- patch -Np1 -i ../add-missing-include-for-unique_ptr.patch
-
- # https://crbug.com/957519#c23
- patch -Np1 -i ../dns_util-make-DohUpgradeEntry-non-const.patch
+ # https://crbug.com/819294
+ patch -Np1 -i ../launch_manager.h-uses-std-vector.patch
+ patch -Np1 -i ../include-algorithm-to-use-std-lower_bound.patch
+ patch -Np1 -i ../0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch
- # https://crbug.com/1005244
- patch -Np1 -i ../fix-shutdown-crash-in-ProfileManager.patch
-
# https://crbug.com/1014272
patch -Np1 -i ../icu65.patch
# Fixes from Gentoo
patch -Np1 -i ../chromium-system-icu.patch
patch -Np1 -i ../chromium-system-zlib.patch
+ patch -Np1 -i ../chromium-system-hb.patch
# https://crbug.com/1005508
patch -Np1 -i ../fix-spammy-unique-font-matching-log.patch
- # Load Widevine CDM if available
+ # Load bundled Widevine CDM if available (see chromium-widevine in the AUR)
+ # M79 is supposed to download it as a component but it doesn't seem to work
patch -Np1 -i ../chromium-widevine.patch
# https://crbug.com/skia/6663#c10
patch -Np0 -i ../chromium-skia-harmony.patch
- # chromium-ozone-wayland
- for PATCH in ${_mb_general_patches[@]}
- do
- echo "Applying $PATCH"
- patch -Np1 -i $srcdir/meta-browser-${_meta_browser_sha}/recipes-browser/chromium/files/${PATCH}
- done
-
- for PATCH in ${_mb_wayland_patches[@]}
- do
- echo "Applying $PATCH"
- patch -Np1 -i $srcdir/meta-browser-${_meta_browser_sha}/recipes-browser/chromium/chromium-ozone-wayland/${PATCH}
- done
-
for PATCH in ${_bugfix_patches[@]}
do
echo "Applying $PATCH"
@@ -200,11 +186,12 @@ build() {
'ozone_platform_x11=true'
'ozone_auto_platforms=false'
'use_xkbcommon=true'
+ 'use_glib=true'
'use_system_libwayland=true'
'use_system_minigbm=true'
'use_system_libdrm=true'
'use_vaapi=false'
- 'use_jumbo_build=true'
+ 'use_jumbo_build=false'
'enable_nacl=false'
'enable_swiftshader=false'
"google_api_key=\"${_google_api_key}\""
@@ -218,6 +205,10 @@ build() {
_flags+=('cc_wrapper="ccache"')
fi
+ if [[ -n ${_system_libs[icu]+set} ]]; then
+ _flags+=('icu_use_data_file=false')
+ fi
+
if check_option strip y; then
_flags+=('symbol_level=0')
else
diff --git a/add-missing-include-for-unique_ptr.patch b/add-missing-include-for-unique_ptr.patch
deleted file mode 100644
index 113e08f4a7c6..000000000000
--- a/add-missing-include-for-unique_ptr.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001
-From: David Landell <landell@vewd.com>
-Date: Fri, 13 Sep 2019 12:24:13 +0000
-Subject: [PATCH] Add missing include for unique_ptr
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803137
-Reviewed-by: Henrik Boström <hbos@chromium.org>
-Commit-Queue: Henrik Boström <hbos@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#696355}
----
- third_party/blink/public/platform/web_rtc_rtp_source.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/third_party/blink/public/platform/web_rtc_rtp_source.h b/third_party/blink/public/platform/web_rtc_rtp_source.h
-index 959440f7a5..c3fd5421aa 100644
---- a/third_party/blink/public/platform/web_rtc_rtp_source.h
-+++ b/third_party/blink/public/platform/web_rtc_rtp_source.h
-@@ -5,6 +5,8 @@
- #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
- #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
-
-+#include <memory>
-+
- #include "base/optional.h"
- #include "third_party/blink/public/platform/web_common.h"
-
diff --git a/chromium-system-hb.patch b/chromium-system-hb.patch
new file mode 100644
index 000000000000..83e0621777f1
--- /dev/null
+++ b/chromium-system-hb.patch
@@ -0,0 +1,19 @@
+diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
+index a218d63..6a5bdae 100644
+--- a/components/paint_preview/common/subset_font.cc
++++ b/components/paint_preview/common/subset_font.cc
+@@ -10,11 +10,12 @@
+ #include "base/bind.h"
+ #include "base/callback.h"
+ #include "base/macros.h"
+-#include "third_party/harfbuzz-ng/src/src/hb-subset.h"
+-#include "third_party/harfbuzz-ng/src/src/hb.h"
+ #include "third_party/skia/include/core/SkStream.h"
+ #include "third_party/skia/include/core/SkTypeface.h"
+
++#include <hb-subset.h>
++#include <hb.h>
++
+ namespace paint_preview {
+
+ namespace {
diff --git a/chromium-widevine.patch b/chromium-widevine.patch
index 1a1a3f228bf5..32f0ae2fb5e6 100644
--- a/chromium-widevine.patch
+++ b/chromium-widevine.patch
@@ -1,22 +1,13 @@
-diff -upr chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc chromium-71.0.3578.80/chrome/common/chrome_content_client.cc
---- chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc 2018-12-03 20:16:43.000000000 +0000
-+++ chromium-71.0.3578.80/chrome/common/chrome_content_client.cc 2018-12-04 21:34:28.658206942 +0000
-@@ -99,7 +99,7 @@
- // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is
- // bundled and not a component. When the Widevine CDM is a component, it is
- // registered in widevine_cdm_component_installer.cc.
--#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
-+#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
- #define REGISTER_BUNDLED_WIDEVINE_CDM
- #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck
- // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support
-diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h
---- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-03 20:18:01.000000000 +0000
-+++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-04 21:37:45.635374949 +0000
-@@ -12,4 +12,6 @@
- // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
- // as a string, e.g., "1.0.123.456").
+diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn
+index ed0e2f5208b..5b431a030d5 100644
+--- a/third_party/widevine/cdm/BUILD.gn
++++ b/third_party/widevine/cdm/BUILD.gn
+@@ -14,7 +14,7 @@ buildflag_header("buildflags") {
-+#define WIDEVINE_CDM_VERSION_STRING "unknown"
-+
- #endif // WIDEVINE_CDM_VERSION_H_
+ flags = [
+ "ENABLE_WIDEVINE=$enable_widevine",
+- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm",
++ "BUNDLE_WIDEVINE_CDM=true",
+ "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component",
+ ]
+ }
diff --git a/dns_util-make-DohUpgradeEntry-non-const.patch b/dns_util-make-DohUpgradeEntry-non-const.patch
deleted file mode 100644
index 2d655e1ab1c8..000000000000
--- a/dns_util-make-DohUpgradeEntry-non-const.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
-Date: Mon, 16 Sep 2019 17:05:42 +0000
-Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with
- std::vector<>
-
-This fixes the build with libstdc++ (with most other standard libraries
-other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH
-during automatic mode"):
-
-../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same<typename remove_cv<const DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type"
- static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
- ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >' requested here
- alignas(T) char storage_[sizeof(T)];
- ^
-../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor<std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> > >' requested here
- upgradable_servers({
- ^
-../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin' function available
- for (const auto& upgrade_entry : upgradable_servers) {
- ^ ~~~~~~~~~~~~~~~~~~
-
-The C++ standard forbids containers of const elements. Callers of
-GetDohUpgradeList() use it in a safe way anyway, and most of
-DohUpgradeEntry's members are const.
-
-Bug: 957519
-Change-Id: I826a51823edb1184c0fae27105101e2894efe568
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636
-Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
-Commit-Queue: Eric Orth <ericorth@chromium.org>
-Reviewed-by: Eric Orth <ericorth@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#696834}
----
- net/dns/dns_util.cc | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
-index d83ff7c150..14997c48b2 100644
---- a/net/dns/dns_util.cc
-+++ b/net/dns/dns_util.cc
-@@ -139,11 +139,11 @@ struct DohUpgradeEntry {
- const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
- };
-
--const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
-+const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
- // The provider names in these entries should be kept in sync with the
- // DohProviderId histogram suffix list in
- // tools/metrics/histograms/histograms.xml.
-- static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
-+ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
- upgradable_servers({
- DohUpgradeEntry(
- "CleanBrowsingAdult",
-@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
- std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
- const std::vector<IPEndPoint>& dns_servers,
- const std::vector<std::string>& excluded_providers) {
-- const std::vector<const DohUpgradeEntry>& upgradable_servers =
-- GetDohUpgradeList();
-+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
- std::vector<const DohUpgradeEntry*> entries;
-
- for (const auto& server : dns_servers) {
-@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig>
- GetDohUpgradeServersFromDotHostname(
- const std::string& dot_server,
- const std::vector<std::string>& excluded_providers) {
-- const std::vector<const DohUpgradeEntry>& upgradable_servers =
-- GetDohUpgradeList();
-+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
- std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers;
-
- if (dot_server.empty())
-@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers(
-
- std::string GetDohProviderIdForHistogramFromDohConfig(
- const DnsConfig::DnsOverHttpsServerConfig& doh_server) {
-- const std::vector<const DohUpgradeEntry>& upgradable_servers =
-- GetDohUpgradeList();
-+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
- for (const auto& upgrade_entry : upgradable_servers) {
- if (doh_server.server_template ==
- upgrade_entry.dns_over_https_config.server_template) {
diff --git a/fix-shutdown-crash-in-ProfileManager.patch b/fix-shutdown-crash-in-ProfileManager.patch
deleted file mode 100644
index 01074eca5325..000000000000
--- a/fix-shutdown-crash-in-ProfileManager.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
-From: Evan Stade <estade@chromium.org>
-Date: Wed, 16 Oct 2019 16:01:32 +0000
-Subject: [PATCH] Fix shutdown crash in ProfileManager.
-
-OnProfileMarkedForPermanentDeletion should move from
-ProfileManagerObserver to ProfileObserver, which would also
-fix this bug. However, changing the order of members is the
-quickest and most cherry-pick-able way to avoid the crash.
-
-Bug: 1005244
-Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863518
-Auto-Submit: Evan Stade <estade@chromium.org>
-Reviewed-by: David Roger <droger@chromium.org>
-Commit-Queue: Evan Stade <estade@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#706467}
----
- chrome/browser/profiles/profile_manager.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
-index b60df76d59..7d02af7f8f 100644
---- a/chrome/browser/profiles/profile_manager.h
-+++ b/chrome/browser/profiles/profile_manager.h
-@@ -410,6 +410,10 @@ class ProfileManager : public content::NotificationObserver,
- const base::FilePath& profile_dir);
- #endif // !defined(OS_ANDROID)
-
-+ // Destroy after |profile_info_cache_| since Profile destruction may trigger
-+ // some observers to unregister themselves.
-+ base::ObserverList<ProfileManagerObserver> observers_;
-+
- // Object to cache various information about profiles. Contains information
- // about every profile which has been created for this instance of Chrome,
- // if it has not been explicitly deleted. It must be destroyed after
-@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver,
- // Controls whether to initialize some services. Only disabled for testing.
- bool do_final_services_init_ = true;
-
-- base::ObserverList<ProfileManagerObserver> observers_;
--
- // TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc
- // should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for
- // consistency with surrounding code in the same file but that wasn't trivial
diff --git a/include-algorithm-to-use-std-lower_bound.patch b/include-algorithm-to-use-std-lower_bound.patch
new file mode 100644
index 000000000000..dc376321ffc4
--- /dev/null
+++ b/include-algorithm-to-use-std-lower_bound.patch
@@ -0,0 +1,49 @@
+From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Fri, 25 Oct 2019 15:07:09 +0000
+Subject: [PATCH] IWYU: include algorithm to use std::lower_bound in
+ ui/gfx/font.cc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix GCC build because of missing include:
+../../ui/gfx/font.cc: In function ‘gfx::Font::Weight gfx::FontWeightFromInt(int)’:
+../../ui/gfx/font.cc:114:8: error: no matching function for call to ‘lower_bound(const gfx::Font::Weight*, const gfx::Font::Weight*, int&, gfx::FontWeightFromInt(int)::<lambda(const gfx::Font::Weight&, const int&)>)’
+ });
+ ^
+In file included from /usr/include/c++/8/bits/char_traits.h:39,
+ from /usr/include/c++/8/string:40,
+ from ../../ui/gfx/font.h:8,
+ from ../../ui/gfx/font.cc:5:
+/usr/include/c++/8/bits/stl_algobase.h:984:5: note: candidate: ‘template<class _ForwardIterator, class _Tp> _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&)’
+ lower_bound(_ForwardIterator __first, _ForwardIterator __last,
+ ^~~~~~~~~~~
+/usr/include/c++/8/bits/stl_algobase.h:984:5: note: template argument deduction/substitution failed:
+../../ui/gfx/font.cc:114:8: note: candidate expects 3 arguments, 4 provided
+ });
+ ^
+
+Bug: 819294
+Change-Id: Ic59dcf3a06bdd54d1d426c08a61624873a0ff30c
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879909
+Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
+Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#709472}
+---
+ ui/gfx/font.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ui/gfx/font.cc b/ui/gfx/font.cc
+index 21367fd7297..92b159e13d1 100644
+--- a/ui/gfx/font.cc
++++ b/ui/gfx/font.cc
+@@ -4,6 +4,8 @@
+
+ #include "ui/gfx/font.h"
+
++#include <algorithm>
++
+ #include "base/strings/utf_string_conversions.h"
+ #include "build/build_config.h"
+ #include "ui/gfx/platform_font.h"
diff --git a/launch_manager.h-uses-std-vector.patch b/launch_manager.h-uses-std-vector.patch
new file mode 100644
index 000000000000..72abe9b9ce69
--- /dev/null
+++ b/launch_manager.h-uses-std-vector.patch
@@ -0,0 +1,36 @@
+From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Fri, 25 Oct 2019 09:27:53 +0000
+Subject: [PATCH] IWYU: launch_manager.h uses std::vector
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add #include <vector> for using std::vector. This fixes GCC build.
+
+./../chrome/browser/apps/launch_service/launch_manager.h:46:15: error: ‘vector’ in namespace ‘std’ does not name a template type
+ static std::vector<base::FilePath> GetLaunchFilesFromCommandLine(
+ ^~~~~~
+
+Bug: 819294
+Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289
+Reviewed-by: Alexey Baskakov <loyso@chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
+Cr-Commit-Position: refs/heads/master@{#709411}
+---
+ chrome/browser/apps/launch_service/launch_manager.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chrome/browser/apps/launch_service/launch_manager.h b/chrome/browser/apps/launch_service/launch_manager.h
+index 00aeb9d9c2a..76570ead0f9 100644
+--- a/chrome/browser/apps/launch_service/launch_manager.h
++++ b/chrome/browser/apps/launch_service/launch_manager.h
+@@ -6,6 +6,7 @@
+ #define CHROME_BROWSER_APPS_LAUNCH_SERVICE_LAUNCH_MANAGER_H_
+
+ #include <string>
++#include <vector>
+
+ #include "base/macros.h"
+