diff options
author | Daniel Playfair Cal | 2019-12-24 10:07:46 +1100 |
---|---|---|
committer | Daniel Playfair Cal | 2020-01-09 00:07:24 +1100 |
commit | b26c568927542ce7d5084c654382c51fea251f75 (patch) | |
tree | 37507bbf464af8f316c88d4c43c40cd470015cd7 | |
parent | 0e39adfc7d2b8ab19f966c923f11e09e5e8855f4 (diff) | |
download | aur-b26c568927542ce7d5084c654382c51fea251f75.tar.gz |
79.0.3945.117-1
-rw-r--r-- | .SRCINFO | 30 | ||||
-rw-r--r-- | 0001-Add-missing-algorithm-header-in-bitmap_cursor_factor.patch | 48 | ||||
-rw-r--r-- | 0001-ozone-wayland-Complete-submission-of-a-buffer-submit.patch | 173 | ||||
-rw-r--r-- | PKGBUILD | 77 | ||||
-rw-r--r-- | add-missing-include-for-unique_ptr.patch | 30 | ||||
-rw-r--r-- | chromium-system-hb.patch | 19 | ||||
-rw-r--r-- | chromium-widevine.patch | 33 | ||||
-rw-r--r-- | dns_util-make-DohUpgradeEntry-non-const.patch | 86 | ||||
-rw-r--r-- | fix-shutdown-crash-in-ProfileManager.patch | 45 | ||||
-rw-r--r-- | include-algorithm-to-use-std-lower_bound.patch | 49 | ||||
-rw-r--r-- | launch_manager.h-uses-std-vector.patch | 36 |
11 files changed, 387 insertions, 239 deletions
@@ -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 + @@ -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" + |