extra/chromium to 96.0.4664.45-1

This commit is contained in:
Kevin Mihelich 2021-11-15 15:15:55 +00:00
parent e38a2885c6
commit 682d32848c
10 changed files with 47 additions and 1143 deletions

View file

@ -17,8 +17,8 @@ buildarch=12
highmem=1
pkgname=chromium
pkgver=95.0.4638.69
pkgrel=2
pkgver=96.0.4664.45
pkgrel=1
_launcher_ver=8
_gcc_patchset=4
pkgdesc="A web browser built for speed, simplicity, and security"
@ -37,14 +37,7 @@ optdepends=('pipewire: WebRTC desktop sharing under Wayland'
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
maldoca-depend-on-zlib-instead-of-headers-only.patch
ozone-x11-fix-VA-API.patch
chromium-95-harfbuzz-3.patch
xfce-set-zero-insets-on-maximising-the-window.patch
replace-blacklist-with-ignorelist.patch
add-a-TODO-about-a-missing-pnacl-flag.patch
use-ffile-compilation-dir.patch
pipewire-do-not-typecheck-the-portal-session_handle.patch
unbundle-fix-visibility-of-build-config-freetype.patch
sql-make-VirtualCursor-standard-layout-type.patch
chromium-93-ffmpeg-4.4.patch
chromium-94-ffmpeg-roll.patch
@ -53,17 +46,10 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn
0001-widevine-support-for-arm.patch
0002-Run-blink-bindings-generation-single-threaded.patch
0003-Fix-eu-strip-build-for-newer-GCC.patch)
sha256sums=('38a37d737c6c9a7198402ca614746b2dbb7abbb793bb2cb02dc796b62a22efe7'
sha256sums=('488c6ad983ebf7781cb4d704f70496e8aa2165611b46656d7aa62f269c760407'
'213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
'bc6373f2470a9e6d947a4deaee0612f730112f69552b933c54bb6e60b82dd6f1'
'074b32078b9e53fd9b33709ce5785c120eb0346b015a93921897caed4f95f7b6'
'3af6dfe5c4e6ed1be52a292c30bc0c447cc8498bb108f7973adb438239961474'
'd9002f1e33390c3e770637773c81be6731584b18f68f086e955bcc3f66f4510d'
'3e45d88b805e61e990439820fbda802cf095972661e9944c5cd487c61d708f51'
'd3344ba39b8c6ed202334ba7f441c70d81ddf8cdb15af1aa8c16e9a3a75fbb35'
'd53da216538f2e741a6e048ed103964a91a98e9a3c10c27fdfa34d4692fdc455'
'921010cd8fab5f30be76c68b68c9b39fac9e21f4c4133bb709879592bbdf606e'
'1889d890ff512a8b82a0f88972e78c78131177d8034750ff53577dfad99b3e3e'
'090af7eab39aade15a1786273f2497d6b4abfaef24279fbf97ce0dd1c38c69aa'
'd0b17162211dd49e3a58c16d1697e7d8c322dcfd3b7890f0c2f920b711f52293'
'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
'1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57'
'56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace'
@ -156,26 +142,16 @@ prepare() {
patch -Np0 -i ../unexpire-accelerated-video-decode-flag.patch
# Upstream fixes
patch -Np1 -i ../maldoca-depend-on-zlib-instead-of-headers-only.patch
patch -Np1 -i ../ozone-x11-fix-VA-API.patch
patch -Np1 -i ../chromium-95-harfbuzz-3.patch
patch -Np1 -i ../xfce-set-zero-insets-on-maximising-the-window.patch
# Revert transition to -fsanitize-ignorelist (needs newer clang)
patch -Rp1 -i ../replace-blacklist-with-ignorelist.patch
# Revert addition of -ffile-compilation-dir= (needs newer clang)
patch -Rp1 -i ../add-a-TODO-about-a-missing-pnacl-flag.patch
patch -Rp1 -i ../use-ffile-compilation-dir.patch
# Fix desktop sharing via Pipewire with xdg-desktop-portal 1.10
patch -Np1 -d third_party/webrtc <../pipewire-do-not-typecheck-the-portal-session_handle.patch
patch -Np1 -i ../unbundle-fix-visibility-of-build-config-freetype.patch
# https://chromium-review.googlesource.com/c/chromium/src/+/2862724
patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch
# Fixes for building with libstdc++ instead of libc++
patch -Np1 -i ../patches/chromium-95-quiche-include.patch
patch -Np1 -i ../patches/chromium-96-CommandLine-include.patch
patch -Np1 -i ../patches/chromium-96-RestrictedCookieManager-tuple.patch
patch -Np1 -i ../patches/chromium-96-DrmRenderNodePathFinder-include.patch
patch -Np1 -i ../patches/chromium-96-CouponDB-include.patch
# Link to system tools required by the build
mkdir -p third_party/node/linux/node-linux-x64/bin
@ -300,6 +276,8 @@ package() {
local toplevel_files=(
chrome_100_percent.pak
chrome_200_percent.pak
chrome_crashpad_handler
chromedriver
resources.pak
v8_context_snapshot.bin
@ -307,8 +285,9 @@ package() {
libEGL.so
libGLESv2.so
chromedriver
chrome_crashpad_handler
# SwiftShader ICD
libvk_swiftshader.so
vk_swiftshader_icd.json
)
if [[ -z ${_system_libs[icu]+set} ]]; then

View file

@ -1,28 +0,0 @@
From 7a23987acb698c2934958cb42a5e7b1cd73fe142 Mon Sep 17 00:00:00 2001
From: Nico Weber <thakis@chromium.org>
Date: Tue, 20 Jul 2021 21:54:09 +0000
Subject: [PATCH] build: Add a TODO about a missing pnacl flag
Change-Id: I1700d185a23afe4120e14c755782450b1bf89289
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041785
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903659}
---
build/config/compiler/BUILD.gn | 1 +
1 file changed, 1 insertion(+)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index b6e095b705..ef6d1dfc12 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1217,6 +1217,7 @@ config("compiler_deterministic") {
# we build same files with same compile flag.
# Other paths are already given in relative, no need to normalize them.
if (is_nacl) {
+ # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
cflags += [
"-Xclang",
"-fdebug-compilation-dir",

View file

@ -1,31 +0,0 @@
From 9e00e702633c47c590a869bc66b5c2ceec09da50 Mon Sep 17 00:00:00 2001
From: Dominik Röttsches <drott@chromium.org>
Date: Tue, 28 Sep 2021 15:31:50 +0000
Subject: [PATCH] Roll src/third_party/harfbuzz-ng/src/ 6602cbb70..a52c6df38 (80 commits)
Fixed: 1252284
Change-Id: Ie2ff99da5e41ca97b8881e1bd3e158881f4d5a8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3190252
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#925776}
(only components/paint_preview/common/subset_font.cc)
---
diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
index 45daea7b1..43a448e 100644
--- a/components/paint_preview/common/subset_font.cc
+++ b/components/paint_preview/common/subset_font.cc
@@ -79,7 +79,7 @@
// Retain all variation information for OpenType variation fonts. See:
// https://docs.microsoft.com/en-us/typography/opentype/spec/otvaroverview
hb_set_t* skip_subset =
- hb_subset_input_no_subset_tables_set(input.get()); // Owned by |input|.
+ hb_subset_input_set(input.get(), HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG);
hb_set_add(skip_subset, HB_TAG('a', 'v', 'a', 'r'));
hb_set_add(skip_subset, HB_TAG('c', 'v', 'a', 'r'));
hb_set_add(skip_subset, HB_TAG('f', 'v', 'a', 'r'));

View file

@ -1,31 +0,0 @@
From 0aa878b7839141077071db97ba1cd30edf486827 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Wed, 15 Sep 2021 17:14:14 +0000
Subject: [PATCH] maldoca: depend on zlib instead of headers only
There is no zlib_common_headers target for unbundled zlib
and in the end code links against zlib static library anyways.
Bug: None
Change-Id: I50b8bb5b480770b637904de00aecc3a629f09471
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3162976
Reviewed-by: Daniel Rubery <drubery@chromium.org>
Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#921717}
---
third_party/maldoca/BUILD.gn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/third_party/maldoca/BUILD.gn b/third_party/maldoca/BUILD.gn
index eeab2056b5..29a0a2ca49 100644
--- a/third_party/maldoca/BUILD.gn
+++ b/third_party/maldoca/BUILD.gn
@@ -224,7 +224,7 @@ source_set("maldoca-ole") {
"//third_party/libxml",
"//third_party/protobuf:protobuf_lite",
"//third_party/re2",
- "//third_party/zlib:zlib_common_headers",
+ "//third_party/zlib:zlib",
"//third_party/zlib/google:zip",
]

View file

@ -1,671 +0,0 @@
From a4de986102a45e29c3ef596f22704bdca244c26c Mon Sep 17 00:00:00 2001
From: Maksim Sisov <msisov@igalia.com>
Date: Fri, 17 Sep 2021 08:45:55 +0000
Subject: [PATCH] ozone/x11: fix VA-API.
This patch fixes VA-API usage with Ozone/X11 backend (which
is our default backend now as X11 has been deprecated -
crrev.com/c/3114071)).
non-Ozone X11 is disabled now and Ozone is always used
on Linux. However, VA-API implementation is not Ozone friendly
yet and requires major refactoring. But given that VA-API
implementation on Linux worked only with X11, it's fine for
now to change USE_X11 and !IsUsingOzonePlatform to
BUILDFLAG(OZONE_PLATFORM_X11) and fail VA-API initialization
in VADisplayState::Initialize for Ozone/Linux other than
non-X11 backends.
Bug: 1121948
Change-Id: If85d289235e6d358103d9fa2bbe0f741fb599a26
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3141878
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Reviewed-by: Alexander Dunaev <adunaev@igalia.com>
Cr-Commit-Position: refs/heads/main@{#922466}
---
media/BUILD.gn | 3 -
media/gpu/BUILD.gn | 5 +-
media/gpu/args.gni | 13 +++-
media/gpu/vaapi/BUILD.gn | 8 +-
media/gpu/vaapi/va_stub_header.fragment | 6 +-
media/gpu/vaapi/vaapi_picture_factory.cc | 72 ++++++++----------
.../vaapi_picture_native_pixmap_angle.cc | 2 -
media/gpu/vaapi/vaapi_picture_tfp.cc | 2 -
.../vaapi/vaapi_video_decode_accelerator.cc | 9 +--
...vaapi_video_decode_accelerator_unittest.cc | 11 +--
media/gpu/vaapi/vaapi_wrapper.cc | 76 +++++++++----------
media/gpu/vaapi/vaapi_wrapper.h | 8 +-
ui/ozone/platform/x11/ozone_platform_x11.cc | 3 +
ui/ozone/public/ozone_platform.h | 10 +++
14 files changed, 108 insertions(+), 120 deletions(-)
diff --git a/media/BUILD.gn b/media/BUILD.gn
index dbee1d4338..d5c158c08f 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -130,9 +130,6 @@ component("media") {
public_deps += [ "//media/base/mac" ]
}
- if (use_x11) {
- deps += [ "//ui/base/x" ]
- }
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn
index c7499485ac..3fedc78948 100644
--- a/media/gpu/BUILD.gn
+++ b/media/gpu/BUILD.gn
@@ -20,6 +20,7 @@ buildflag_header("buildflags") {
"USE_VAAPI_IMAGE_CODECS=$use_vaapi_image_codecs",
"USE_V4L2_CODEC=$use_v4l2_codec",
"USE_LIBV4L2=$use_v4lplugin",
+ "USE_VAAPI_X11=$use_vaapi_x11",
]
}
@@ -215,9 +216,7 @@ component("gpu") {
"windows/supported_profile_helpers.cc",
"windows/supported_profile_helpers.h",
]
- configs += [
- "//third_party/khronos:khronos_headers",
- ]
+ configs += [ "//third_party/khronos:khronos_headers" ]
public_deps += [ "//media/base/win:media_foundation_util" ]
deps += [
"//gpu/ipc/common:common",
diff --git a/media/gpu/args.gni b/media/gpu/args.gni
index 4004937949..2f53843918 100644
--- a/media/gpu/args.gni
+++ b/media/gpu/args.gni
@@ -3,7 +3,15 @@
# found in the LICENSE file.
import("//build/config/chromeos/ui_mode.gni")
-import("//build/config/ui.gni")
+import("//build/config/ozone.gni")
+
+declare_args() {
+ # Indicates if X11 VA-API-based hardware acceleration is to be used.
+ # See also the comment near the |use_vaapi| arg.
+ use_vaapi_x11 =
+ is_linux && ozone_platform_x11 && !is_chromecast && !is_chromeos_lacros &&
+ (target_cpu == "x86" || target_cpu == "x64")
+}
declare_args() {
# Indicates if V4L plugin is used.
@@ -21,8 +29,7 @@ declare_args() {
# is typically the case on x86-based ChromeOS devices.
# VA-API should also be compiled by default on x11-using linux devices
# using x86/x64.
- use_vaapi =
- is_linux && use_x11 && (target_cpu == "x86" || target_cpu == "x64")
+ use_vaapi = use_vaapi_x11
# Indicates if ChromeOS protected media support exists. This is used
# to enable the CDM daemon in Chrome OS as well as support for
diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
index b11d2c60fa..0c2520dd6b 100644
--- a/media/gpu/vaapi/BUILD.gn
+++ b/media/gpu/vaapi/BUILD.gn
@@ -17,7 +17,7 @@ assert(use_vaapi)
generate_stubs("libva_stubs") {
extra_header = "va_stub_header.fragment"
sigs = [ "va.sigs" ]
- if (use_x11) {
+ if (use_vaapi_x11) {
sigs += [ "va_x11.sigs" ]
}
if (is_chromeos_ash) {
@@ -131,14 +131,14 @@ source_set("vaapi") {
]
}
- if (use_x11 || use_ozone || use_egl) {
+ if (use_ozone || use_egl) {
sources += [
"vaapi_picture_native_pixmap.cc",
"vaapi_picture_native_pixmap.h",
]
}
- if (use_x11) {
+ if (use_vaapi_x11) {
deps += [ "//ui/gfx/x" ]
sources += [
"vaapi_picture_native_pixmap_angle.cc",
@@ -197,7 +197,7 @@ source_set("common") {
deps += [ "//ui/ozone" ]
}
- if (use_x11) {
+ if (use_vaapi_x11) {
deps += [ "//ui/gfx/x" ]
}
diff --git a/media/gpu/vaapi/va_stub_header.fragment b/media/gpu/vaapi/va_stub_header.fragment
index bed198484d..e8c46c5e81 100644
--- a/media/gpu/vaapi/va_stub_header.fragment
+++ b/media/gpu/vaapi/va_stub_header.fragment
@@ -1,12 +1,14 @@
// The extra include header needed in the generated stub file for defining
// various libva types.
+#include "media/gpu/buildflags.h"
+
extern "C" {
#include <va/va_drm.h>
#include <va/va.h>
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
#include <va/va_x11.h>
-#endif
+#endif // BUILDFLAG(USE_VAAPI_X11)
}
diff --git a/media/gpu/vaapi/vaapi_picture_factory.cc b/media/gpu/vaapi/vaapi_picture_factory.cc
index 719035b87c..9c7d7387d2 100644
--- a/media/gpu/vaapi/vaapi_picture_factory.cc
+++ b/media/gpu/vaapi/vaapi_picture_factory.cc
@@ -10,13 +10,13 @@
#include "ui/base/ui_base_features.h"
#include "ui/gl/gl_bindings.h"
-#if defined(USE_X11)
-#include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h"
-#include "media/gpu/vaapi/vaapi_picture_tfp.h"
-#endif
#if defined(USE_OZONE)
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h"
-#endif
+#endif // defined(USE_OZONE)
+#if BUILDFLAG(USE_VAAPI_X11)
+#include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h"
+#include "media/gpu/vaapi/vaapi_picture_tfp.h"
+#endif // BUILDFLAG(USE_VAAPI_X11)
#if defined(USE_EGL)
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_egl.h"
#endif
@@ -46,15 +46,13 @@ VaapiPictureFactory::VaapiPictureFactory() {
vaapi_impl_pairs_.insert(
std::make_pair(gl::kGLImplementationEGLGLES2,
VaapiPictureFactory::kVaapiImplementationDrm));
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
vaapi_impl_pairs_.insert(
std::make_pair(gl::kGLImplementationEGLANGLE,
VaapiPictureFactory::kVaapiImplementationAngle));
- if (!features::IsUsingOzonePlatform()) {
- vaapi_impl_pairs_.insert(
- std::make_pair(gl::kGLImplementationDesktopGL,
- VaapiPictureFactory::kVaapiImplementationX11));
- }
+ vaapi_impl_pairs_.insert(
+ std::make_pair(gl::kGLImplementationDesktopGL,
+ VaapiPictureFactory::kVaapiImplementationX11));
#endif
DeterminePictureCreationAndDownloadingMechanism();
@@ -96,19 +94,19 @@ VaapiPictureFactory::GetVaapiImplementation(gl::GLImplementation gl_impl) {
}
uint32_t VaapiPictureFactory::GetGLTextureTarget() {
-#if defined(USE_OZONE)
- if (features::IsUsingOzonePlatform())
- return GL_TEXTURE_EXTERNAL_OES;
-#endif
+#if BUILDFLAG(USE_VAAPI_X11)
return GL_TEXTURE_2D;
+#else
+ return GL_TEXTURE_EXTERNAL_OES;
+#endif
}
gfx::BufferFormat VaapiPictureFactory::GetBufferFormat() {
-#if defined(USE_OZONE)
- if (features::IsUsingOzonePlatform())
- return gfx::BufferFormat::YUV_420_BIPLANAR;
-#endif
+#if BUILDFLAG(USE_VAAPI_X11)
return gfx::BufferFormat::RGBX_8888;
+#else
+ return gfx::BufferFormat::YUV_420_BIPLANAR;
+#endif
}
void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() {
@@ -116,51 +114,43 @@ void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() {
#if defined(USE_OZONE)
// We can be called without GL initialized, which is valid if we use Ozone.
case kVaapiImplementationNone:
- if (features::IsUsingOzonePlatform()) {
- create_picture_cb_ = base::BindRepeating(
- &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
- needs_vpp_for_downloading_ = true;
- }
-
- // This is reached by unit tests which don't require create_picture_cb_
- // to be initialized or called.
+ create_picture_cb_ = base::BindRepeating(
+ &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
+ needs_vpp_for_downloading_ = true;
break;
#endif // defined(USE_OZONE)
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
case kVaapiImplementationX11:
- DCHECK(!features::IsUsingOzonePlatform());
create_picture_cb_ =
base::BindRepeating(&CreateVaapiPictureNativeImpl<VaapiTFPPicture>);
// Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP.
needs_vpp_for_downloading_ = false;
break;
case kVaapiImplementationAngle:
- DCHECK(!features::IsUsingOzonePlatform());
create_picture_cb_ = base::BindRepeating(
&CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapAngle>);
// Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP.
needs_vpp_for_downloading_ = false;
break;
-#endif // defined(USE_X11)
+#endif // BUILDFLAG(USE_VAAPI_X11)
case kVaapiImplementationDrm:
#if defined(USE_OZONE)
- if (features::IsUsingOzonePlatform()) {
- create_picture_cb_ = base::BindRepeating(
- &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
- needs_vpp_for_downloading_ = true;
- break;
- }
-#endif // defined(USE_OZONE)
-#if defined(USE_EGL)
+ create_picture_cb_ = base::BindRepeating(
+ &CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
+ needs_vpp_for_downloading_ = true;
+ break;
+#elif defined(USE_EGL)
create_picture_cb_ = base::BindRepeating(
&CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapEgl>);
needs_vpp_for_downloading_ = true;
break;
-#endif // defined(USE_EGL)
+#else
// ozone or egl must be used to use the DRM implementation.
- NOTREACHED();
+ FALLTHROUGH;
+#endif
default:
NOTREACHED();
+ break;
}
}
diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
index 9de0c93b44..e5b9908490 100644
--- a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc
@@ -6,7 +6,6 @@
#include "media/gpu/vaapi/va_surface.h"
#include "media/gpu/vaapi/vaapi_wrapper.h"
-#include "ui/base/ui_base_features.h"
#include "ui/gfx/x/connection.h"
#include "ui/gfx/x/future.h"
#include "ui/gfx/x/xproto.h"
@@ -92,7 +91,6 @@ Status VaapiPictureNativePixmapAngle::Allocate(gfx::BufferFormat format) {
if (!make_context_current_cb_ || !make_context_current_cb_.Run())
return StatusCode::kVaapiBadContext;
- DCHECK(!features::IsUsingOzonePlatform());
auto image =
base::MakeRefCounted<gl::GLImageEGLPixmap>(visible_size_, format);
if (!image)
diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc
index 3f7e221d8a..11914e3640 100644
--- a/media/gpu/vaapi/vaapi_picture_tfp.cc
+++ b/media/gpu/vaapi/vaapi_picture_tfp.cc
@@ -6,7 +6,6 @@
#include "media/gpu/vaapi/va_surface.h"
#include "media/gpu/vaapi/vaapi_wrapper.h"
-#include "ui/base/ui_base_features.h"
#include "ui/gfx/x/connection.h"
#include "ui/gfx/x/future.h"
#include "ui/gl/gl_bindings.h"
@@ -37,7 +36,6 @@ VaapiTFPPicture::VaapiTFPPicture(
connection_(x11::Connection::Get()),
x_pixmap_(x11::Pixmap::None) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- DCHECK(!features::IsUsingOzonePlatform());
DCHECK(texture_id);
DCHECK(client_texture_id);
}
diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
index 7514fe4fdd..e4cd7c8d89 100644
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
@@ -184,12 +184,6 @@ bool VaapiVideoDecodeAccelerator::Initialize(const Config& config,
Client* client) {
DCHECK(task_runner_->BelongsToCurrentThread());
-#if defined(USE_X11)
- // TODO(crbug/1116701): implement decode acceleration when running with Ozone.
- if (features::IsUsingOzonePlatform())
- return false;
-#endif
-
vaapi_picture_factory_ = std::make_unique<VaapiPictureFactory>();
if (config.is_encrypted()) {
@@ -1213,12 +1207,11 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() {
VaapiVideoDecodeAccelerator::BufferAllocationMode
VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
// The IMPORT mode is used for Android on Chrome OS, so this doesn't apply
// here.
DCHECK_NE(output_mode_, VideoDecodeAccelerator::Config::OutputMode::IMPORT);
// TODO(crbug/1116701): get video decode acceleration working with ozone.
- DCHECK(!features::IsUsingOzonePlatform());
// For H.264 on older devices, another +1 is experimentally needed for
// high-to-high resolution changes.
// TODO(mcasas): Figure out why and why only H264, see crbug.com/912295 and
diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
index 5b9a543386..826bb103b1 100644
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
@@ -17,7 +17,6 @@
#include "media/gpu/vaapi/vaapi_wrapper.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/base/ui_base_features.h"
using base::test::RunClosure;
using ::testing::_;
@@ -416,12 +415,10 @@ TEST_P(VaapiVideoDecodeAcceleratorTest, SupportedPlatforms) {
mock_vaapi_picture_factory_->GetVaapiImplementation(
gl::kGLImplementationEGLGLES2));
-#if defined(USE_X11)
- if (!features::IsUsingOzonePlatform()) {
- EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationX11,
- mock_vaapi_picture_factory_->GetVaapiImplementation(
- gl::kGLImplementationDesktopGL));
- }
+#if BUILDFLAG(USE_VAAPI_X11)
+ EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationX11,
+ mock_vaapi_picture_factory_->GetVaapiImplementation(
+ gl::kGLImplementationDesktopGL));
#endif
}
diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc
index 754d258848..e528b0f84d 100644
--- a/media/gpu/vaapi/vaapi_wrapper.cc
+++ b/media/gpu/vaapi/vaapi_wrapper.cc
@@ -65,7 +65,7 @@
#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_implementation.h"
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
typedef XID Drawable;
extern "C" {
@@ -73,7 +73,7 @@ extern "C" {
}
#include "ui/gfx/x/connection.h" // nogncheck
-#endif
+#endif // BUILDFLAG(USE_VAAPI_X11)
#if defined(USE_OZONE)
#include "ui/ozone/public/ozone_platform.h"
@@ -87,14 +87,14 @@ using media_gpu_vaapi::kModuleVa_prot;
using media_gpu_vaapi::kModuleVa;
using media_gpu_vaapi::kModuleVa_drm;
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
using media_gpu_vaapi::kModuleVa_x11;
-#endif
+#endif // BUILDFLAG(USE_VAAPI_X11)
using media_gpu_vaapi::InitializeStubs;
using media_gpu_vaapi::IsVaInitialized;
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
using media_gpu_vaapi::IsVa_x11Initialized;
-#endif
+#endif // BUILDFLAG(USE_VAAPI_X11)
using media_gpu_vaapi::IsVa_drmInitialized;
using media_gpu_vaapi::StubPathMap;
@@ -559,10 +559,20 @@ VADisplayState::VADisplayState()
bool VADisplayState::Initialize() {
base::AutoLock auto_lock(va_lock_);
+#if defined(USE_OZONE) && defined(OS_LINUX)
+ // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
+ // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi
+ // for more details. This will also require revisiting everything that's
+ // guarded by USE_VAAPI_X11. For example, if USE_VAAPI_X11 is true, but the
+ // user chooses the Wayland backend for Ozone at runtime, then many things (if
+ // not all) that we do for X11 won't apply.
+ if (!ui::OzonePlatform::GetInstance()->GetPlatformProperties().supports_vaapi)
+ return false;
+#endif
+
bool libraries_initialized = IsVaInitialized() && IsVa_drmInitialized();
-#if defined(USE_X11)
- if (!features::IsUsingOzonePlatform())
- libraries_initialized = libraries_initialized && IsVa_x11Initialized();
+#if BUILDFLAG(USE_VAAPI_X11)
+ libraries_initialized = libraries_initialized && IsVa_x11Initialized();
#endif
if (!libraries_initialized)
return false;
@@ -577,34 +587,25 @@ bool VADisplayState::Initialize() {
return success;
}
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
absl::optional<VADisplay> GetVADisplayStateX11(const base::ScopedFD& drm_fd) {
- bool use_drm_as_fallback = false;
switch (gl::GetGLImplementation()) {
case gl::kGLImplementationEGLGLES2:
return vaGetDisplayDRM(drm_fd.get());
case gl::kGLImplementationNone:
- use_drm_as_fallback = true;
- FALLTHROUGH;
case gl::kGLImplementationDesktopGL: {
- if (!features::IsUsingOzonePlatform()) {
- VADisplay display =
- vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
- if (vaDisplayIsValid(display))
- return display;
- return vaGetDisplayDRM(drm_fd.get());
- }
- break;
+ VADisplay display =
+ vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
+ if (vaDisplayIsValid(display))
+ return display;
+ return vaGetDisplayDRM(drm_fd.get());
}
- case gl::kGLImplementationEGLANGLE: {
- if (!features::IsUsingOzonePlatform())
- return vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
- break;
- }
+ case gl::kGLImplementationEGLANGLE:
+ return vaGetDisplay(x11::Connection::Get()->GetXlibDisplay());
default:
LOG(WARNING) << "VAAPI video acceleration not available for "
@@ -612,10 +613,6 @@ absl::optional<VADisplay> GetVADisplayStateX11(const base::ScopedFD& drm_fd) {
gl::GetGLImplementationParts());
return absl::nullopt;
}
-
- if (use_drm_as_fallback)
- return vaGetDisplayDRM(drm_fd.get());
- return absl::nullopt;
}
#else
@@ -633,11 +630,11 @@ absl::optional<VADisplay> GetVADisplayState(const base::ScopedFD& drm_fd) {
}
}
-#endif // defined(USE_X11)
+#endif // BUILDFLAG(USE_VAAPI_X11)
bool VADisplayState::InitializeVaDisplay_Locked() {
absl::optional<VADisplay> display =
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
GetVADisplayStateX11(drm_fd_);
#else
GetVADisplayState(drm_fd_);
@@ -702,10 +699,9 @@ bool VADisplayState::InitializeOnce() {
if (!InitializeVaDisplay_Locked() || !InitializeVaDriver_Locked())
return false;
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
if (gl::GetGLImplementation() == gl::kGLImplementationEGLANGLE &&
implementation_type_ == VAImplementation::kIntelIHD) {
- DCHECK(!features::IsUsingOzonePlatform());
constexpr char libva_driver_impl_env[] = "LIBVA_DRIVER_NAME";
// TODO(crbug/1116703) The libva intel-media driver has a known segfault in
// vaPutSurface, so until this is fixed, fall back to the i965 driver. There
@@ -722,7 +718,7 @@ bool VADisplayState::InitializeOnce() {
if (!InitializeVaDisplay_Locked() || !InitializeVaDriver_Locked())
return false;
}
-#endif // USE_X11
+#endif // BUILDFLAG(USE_VAAPI_X11)
return true;
}
@@ -2452,11 +2448,10 @@ bool VaapiWrapper::MapAndCopyAndExecute(
return Execute_Locked(va_surface_id, va_buffer_ids);
}
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
x11::Pixmap x_pixmap,
gfx::Size dest_size) {
- DCHECK(!features::IsUsingOzonePlatform());
base::AutoLock auto_lock(*va_lock_);
VAStatus va_res = vaSyncSurface(va_display_, va_surface_id);
@@ -2470,7 +2465,7 @@ bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAPutSurface, false);
return true;
}
-#endif // USE_X11
+#endif // BUILDFLAG(USE_VAAPI_X11)
std::unique_ptr<ScopedVAImage> VaapiWrapper::CreateVaImage(
VASurfaceID va_surface_id,
@@ -2844,9 +2839,8 @@ void VaapiWrapper::PreSandboxInitialization() {
paths[kModuleVa].push_back(std::string("libva.so.") + va_suffix);
paths[kModuleVa_drm].push_back(std::string("libva-drm.so.") + va_suffix);
-#if defined(USE_X11)
- if (!features::IsUsingOzonePlatform())
- paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix);
+#if BUILDFLAG(USE_VAAPI_X11)
+ paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix);
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
paths[kModuleVa_prot].push_back(std::string("libva.so.") + va_suffix);
diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h
index 0e3da53624..88ffcd0799 100644
--- a/media/gpu/vaapi/vaapi_wrapper.h
+++ b/media/gpu/vaapi/vaapi_wrapper.h
@@ -36,9 +36,9 @@
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "ui/gfx/geometry/size.h"
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
#include "ui/gfx/x/xproto.h" // nogncheck
-#endif // USE_X11
+#endif // BUILDFLAG(USE_VAAPI_X11)
namespace gfx {
enum class BufferFormat;
@@ -426,13 +426,13 @@ class MEDIA_GPU_EXPORT VaapiWrapper
const std::vector<std::pair<VABufferID, VABufferDescriptor>>& va_buffers)
WARN_UNUSED_RESULT;
-#if defined(USE_X11)
+#if BUILDFLAG(USE_VAAPI_X11)
// Put data from |va_surface_id| into |x_pixmap| of size
// |dest_size|, converting/scaling to it.
bool PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
x11::Pixmap x_pixmap,
gfx::Size dest_size) WARN_UNUSED_RESULT;
-#endif // USE_X11
+#endif // BUILDFLAG(USE_VAAPI_X11)
// Creates a ScopedVAImage from a VASurface |va_surface_id| and map it into
// memory with the given |format| and |size|. If |format| is not equal to the
diff --git a/ui/ozone/platform/x11/ozone_platform_x11.cc b/ui/ozone/platform/x11/ozone_platform_x11.cc
index 8889828e0f..963dc7a0cd 100644
--- a/ui/ozone/platform/x11/ozone_platform_x11.cc
+++ b/ui/ozone/platform/x11/ozone_platform_x11.cc
@@ -208,6 +208,9 @@ class OzonePlatformX11 : public OzonePlatform,
properties->supports_global_application_menus = true;
properties->app_modal_dialogs_use_event_blocker = true;
properties->fetch_buffer_formats_for_gmb_on_gpu = true;
+#if defined(OS_LINUX)
+ properties->supports_vaapi = true;
+#endif
initialised = true;
}
diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h
index df95f07486..2d7f44bbfa 100644
--- a/ui/ozone/public/ozone_platform.h
+++ b/ui/ozone/public/ozone_platform.h
@@ -15,6 +15,7 @@
#include "base/macros.h"
#include "base/message_loop/message_pump_type.h"
#include "base/single_thread_task_runner.h"
+#include "build/build_config.h"
#include "mojo/public/cpp/bindings/binder_map.h"
#include "ui/gfx/buffer_types.h"
#include "ui/gfx/native_widget_types.h"
@@ -154,6 +155,15 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
// Determines whether buffer formats should be fetched on GPU and passed
// back via gpu extra info.
bool fetch_buffer_formats_for_gmb_on_gpu = false;
+
+#if defined(OS_LINUX)
+ // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
+ // Linux. At the moment, VA-API Linux implementation supports only X11
+ // backend. This implementation must be refactored to support Ozone
+ // properly. As a temporary solution, VA-API on Linux checks if vaapi is
+ // supported (which implicitly means that it is Ozone/X11).
+ bool supports_vaapi = false;
+#endif
};
// Groups platform properties that can only be known at run time.

View file

@ -1,44 +0,0 @@
From 408e4da26f1b782005ab10307c83892055d7ef45 Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@posteo.de>
Date: Mon, 20 Sep 2021 15:15:31 +0200
Subject: [PATCH] Pipewire: Do not typecheck the portal session_handle
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Desktop sharing via Pipewire will break for clients updating to
xdg-desktop-portal 1.10 due to a bug fix in the API implementation[1].
This ports over a fix from OBS Studio[2] that also is used in the
downstream Firefox WebRTC copy[3].
1: https://github.com/flatpak/xdg-desktop-portal/pull/609
2: https://github.com/obsproject/obs-studio/pull/5294
3: https://phabricator.services.mozilla.com/D126053
Bug: webrtc:13192
Change-Id: I497dd1bb53cc39dee3732c2e0014e2e36a7afb6c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232329
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35153}
---
modules/desktop_capture/linux/base_capturer_pipewire.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules/desktop_capture/linux/base_capturer_pipewire.cc b/modules/desktop_capture/linux/base_capturer_pipewire.cc
index 2d5e973..45229b2 100644
--- a/modules/desktop_capture/linux/base_capturer_pipewire.cc
+++ b/modules/desktop_capture/linux/base_capturer_pipewire.cc
@@ -801,8 +801,9 @@ void BaseCapturerPipeWire::OnSessionRequestResponseSignal(
Scoped<GVariant> response_data;
g_variant_get(parameters, "(u@a{sv})", &portal_response,
response_data.receive());
- g_variant_lookup(response_data.get(), "session_handle", "s",
- &that->session_handle_);
+ Scoped<GVariant> session_handle(
+ g_variant_lookup_value(response_data.get(), "session_handle", nullptr));
+ that->session_handle_ = g_variant_dup_string(session_handle.get(), nullptr);
if (!that->session_handle_ || portal_response) {
RTC_LOG(LS_ERROR)

View file

@ -1,196 +0,0 @@
From 9d080c0934b848ee4a05013c78641e612fcc1e03 Mon Sep 17 00:00:00 2001
From: Dylan Cutler <dylancutler@google.com>
Date: Wed, 26 May 2021 16:39:52 +0000
Subject: [PATCH] Reland "Replace 'blacklist' with 'ignorelist' in
./tools/msan/."
This is a reland of 3b6263f2eece1264b052dfdcbc03b851d5abfb48
Relanding now that https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2897974 is merged
Original change's description:
> Replace 'blacklist' with 'ignorelist' in ./tools/msan/.
>
> Bug: 1097272, 1097268
> Change-Id: Id5c8227a5bfb1ffaec82d3168b609085b10c8297
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2867730
> Commit-Queue: Dylan Cutler <dylancutler@google.com>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Jonathan Metzman <metzman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#883035}
Bug: 1097272
Bug: 1097268
Change-Id: I11a5bc8972680c95fb1dab95ed3b707ed76f4667
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-cfi-thin-lto-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911096
Commit-Queue: Dylan Cutler <dylancutler@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#886773}
---
build/config/sanitizers/BUILD.gn | 44 ++++++++++----------
build_overrides/build.gni | 14 +++----
tools/msan/{blacklist.txt => ignorelist.txt} | 0
3 files changed, 29 insertions(+), 29 deletions(-)
rename tools/msan/{blacklist.txt => ignorelist.txt} (100%)
diff --git a/build/config/sanitizers/BUILD.gn b/build/config/sanitizers/BUILD.gn
index aaaad023474d..55b388a43743 100644
--- a/build/config/sanitizers/BUILD.gn
+++ b/build/config/sanitizers/BUILD.gn
@@ -272,11 +272,11 @@ config("asan_flags") {
if (is_asan) {
cflags += [ "-fsanitize=address" ]
if (is_win) {
- if (!defined(asan_win_blacklist_path)) {
- asan_win_blacklist_path =
+ if (!defined(asan_win_blocklist_path)) {
+ asan_win_blocklist_path =
rebase_path("//tools/memory/asan/blocklist_win.txt", root_build_dir)
}
- cflags += [ "-fsanitize-blacklist=$asan_win_blacklist_path" ]
+ cflags += [ "-fsanitize-ignorelist=$asan_win_blocklist_path" ]
}
}
}
@@ -306,13 +306,13 @@ config("link_shared_library") {
config("cfi_flags") {
cflags = []
if (is_cfi && current_toolchain == default_toolchain) {
- if (!defined(cfi_blacklist_path)) {
- cfi_blacklist_path =
+ if (!defined(cfi_ignorelist_path)) {
+ cfi_ignorelist_path =
rebase_path("//tools/cfi/ignores.txt", root_build_dir)
}
cflags += [
"-fsanitize=cfi-vcall",
- "-fsanitize-blacklist=$cfi_blacklist_path",
+ "-fsanitize-ignorelist=$cfi_ignorelist_path",
]
if (use_cfi_cast) {
@@ -409,14 +409,14 @@ config("msan_flags") {
if (is_msan) {
assert(is_linux || is_chromeos,
"msan only supported on linux x86_64/ChromeOS")
- if (!defined(msan_blacklist_path)) {
- msan_blacklist_path =
- rebase_path("//tools/msan/blacklist.txt", root_build_dir)
+ if (!defined(msan_ignorelist_path)) {
+ msan_ignorelist_path =
+ rebase_path("//tools/msan/ignorelist.txt", root_build_dir)
}
cflags = [
"-fsanitize=memory",
"-fsanitize-memory-track-origins=$msan_track_origins",
- "-fsanitize-blacklist=$msan_blacklist_path",
+ "-fsanitize-ignorelist=$msan_ignorelist_path",
]
}
}
@@ -424,13 +424,13 @@ config("msan_flags") {
config("tsan_flags") {
if (is_tsan) {
assert(is_linux || is_chromeos, "tsan only supported on linux x86_64")
- if (!defined(tsan_blacklist_path)) {
- tsan_blacklist_path =
+ if (!defined(tsan_ignorelist_path)) {
+ tsan_ignorelist_path =
rebase_path("//tools/memory/tsan_v2/ignores.txt", root_build_dir)
}
cflags = [
"-fsanitize=thread",
- "-fsanitize-blacklist=$tsan_blacklist_path",
+ "-fsanitize-ignorelist=$tsan_ignorelist_path",
]
}
}
@@ -438,8 +438,8 @@ config("tsan_flags") {
config("ubsan_flags") {
cflags = []
if (is_ubsan) {
- if (!defined(ubsan_blacklist_path)) {
- ubsan_blacklist_path =
+ if (!defined(ubsan_ignorelist_path)) {
+ ubsan_ignorelist_path =
rebase_path("//tools/ubsan/ignorelist.txt", root_build_dir)
}
cflags += [
@@ -456,7 +456,7 @@ config("ubsan_flags") {
"-fsanitize=signed-integer-overflow",
"-fsanitize=unreachable",
"-fsanitize=vla-bound",
- "-fsanitize-blacklist=$ubsan_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_ignorelist_path",
]
# Chromecast ubsan builds fail to compile with these
@@ -486,8 +486,8 @@ config("ubsan_no_recover") {
config("ubsan_security_flags") {
if (is_ubsan_security) {
- if (!defined(ubsan_security_blacklist_path)) {
- ubsan_security_blacklist_path =
+ if (!defined(ubsan_security_ignorelist_path)) {
+ ubsan_security_ignorelist_path =
rebase_path("//tools/ubsan/security_ignorelist.txt", root_build_dir)
}
cflags = [
@@ -495,7 +495,7 @@ config("ubsan_security_flags") {
"-fsanitize=shift",
"-fsanitize=signed-integer-overflow",
"-fsanitize=vla-bound",
- "-fsanitize-blacklist=$ubsan_security_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_security_ignorelist_path",
]
}
}
@@ -508,13 +508,13 @@ config("ubsan_null_flags") {
config("ubsan_vptr_flags") {
if (is_ubsan_vptr) {
- if (!defined(ubsan_vptr_blacklist_path)) {
- ubsan_vptr_blacklist_path =
+ if (!defined(ubsan_vptr_ignorelist_path)) {
+ ubsan_vptr_ignorelist_path =
rebase_path("//tools/ubsan/vptr_ignorelist.txt", root_build_dir)
}
cflags = [
"-fsanitize=vptr",
- "-fsanitize-blacklist=$ubsan_vptr_blacklist_path",
+ "-fsanitize-ignorelist=$ubsan_vptr_ignorelist_path",
]
}
}
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
index 82627b03653f..f3e563ab701b 100644
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
@@ -42,15 +42,15 @@ declare_args() {
# Allows different projects to specify their own suppression/ignore lists for
# sanitizer tools.
# asan_suppressions_file = "path/to/asan_suppressions.cc"
-# asan_win_blacklist_path = "path/to/asan/blocklist_win.txt"
+# asan_win_ignorelist_path = "path/to/asan/blocklist_win.txt"
# lsan_suppressions_file = "path/to/lsan_suppressions.cc"
# tsan_suppressions_file = "path/to/tsan_suppressions.cc"
-# tsan_blacklist_path = "path/to/tsan/ignores.txt"
-# msan_blacklist_path = "path/to/msan/blacklist.txt"
-# ubsan_blacklist_path = "path/to/ubsan/blacklist.txt"
-# ubsan_vptr_blacklist_path = "path/to/ubsan/vptr_blacklist.txt"
-# ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt"
-# cfi_blacklist_path = "path/to/cfi/ignores.txt"
+# tsan_ignorelist_path = "path/to/tsan/ignores.txt"
+# msan_ignorelist_path = "path/to/msan/ignorelist.txt"
+# ubsan_ignorelist_path = "path/to/ubsan/ignorelist.txt"
+# ubsan_vptr_ignorelist_path = "path/to/ubsan/vptr_ignorelist.txt"
+# ubsan_security_ignorelist_path = "path/to/ubsan/security_ignorelist.txt"
+# cfi_ignorelist_path = "path/to/cfi/ignores.txt"
declare_args() {
# Android 32-bit non-component, non-clang builds cannot have symbol_level=2
diff --git a/tools/msan/blacklist.txt b/tools/msan/ignorelist.txt
similarity index 100%
rename from tools/msan/blacklist.txt
rename to tools/msan/ignorelist.txt

View file

@ -0,0 +1,31 @@
From 271e45339b7b969e98ccef7837cb1b15480b07fc Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Thu, 4 Nov 2021 18:58:34 +0000
Subject: [PATCH] unbundle: fix visibility of //build/config/freetype
For system freetype //build/linux:freetype_from_pkgconfig is restricted
to //third_party:freetype_harfbuzz and //third_party/harfbuzz-ng:harfbuzz_source.
However //build/config/freetype:freetype is accessing it too.
Bug: None
Change-Id: Ic4a37b01e4ae221372a9220cbad04c598b844c21
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3259304
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#938388}
---
build/linux/BUILD.gn | 1 +
1 file changed, 1 insertion(+)
diff --git a/build/linux/BUILD.gn b/build/linux/BUILD.gn
index 54314c7687..cd49e3d524 100644
--- a/build/linux/BUILD.gn
+++ b/build/linux/BUILD.gn
@@ -23,6 +23,7 @@ if (use_system_freetype) {
# the system, use with caution,for details see build/config/freetype/BUILD.gn.
pkg_config("freetype_from_pkgconfig") {
visibility = [
+ "//build/config/freetype:freetype",
"//third_party:freetype_harfbuzz",
"//third_party/harfbuzz-ng:harfbuzz_source",
]

View file

@ -1,65 +0,0 @@
From 34a955823630096f5b01c2b01d51c1ea59d22763 Mon Sep 17 00:00:00 2001
From: Zequan Wu <zequanwu@google.com>
Date: Tue, 20 Jul 2021 14:13:50 +0000
Subject: [PATCH] Use -ffile-compilation-dir= instead of
-fdebug-compilation-dir=
Bug: 1010267
Change-Id: If2b4ead8535a76490eb466a38e3d8fed6ea91079
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2770738
Auto-Submit: Zequan Wu <zequanwu@google.com>
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903456}
---
build/config/compiler/BUILD.gn | 18 ++++++++++++------
build/config/compiler/compiler.gni | 7 ++-----
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index ede07d111c..6db16c1cdd 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1216,12 +1216,18 @@ config("compiler_deterministic") {
# different build directory like "out/feature_a" and "out/feature_b" if
# we build same files with same compile flag.
# Other paths are already given in relative, no need to normalize them.
- cflags += [
- "-Xclang",
- "-fdebug-compilation-dir",
- "-Xclang",
- ".",
- ]
+ if (is_nacl) {
+ cflags += [
+ "-Xclang",
+ "-fdebug-compilation-dir",
+ "-Xclang",
+ ".",
+ ]
+ } else {
+ # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
+ # and -fcoverage-compilation-dir=.
+ cflags += [ "-ffile-compilation-dir=." ]
+ }
if (!is_win) {
# We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
index 8c259c360a..642319b4f4 100644
--- a/build/config/compiler/compiler.gni
+++ b/build/config/compiler/compiler.gni
@@ -225,11 +225,8 @@ declare_args() {
# deterministic builds to reduce compile times, so this is less relevant for
# official builders.
strip_absolute_paths_from_debug_symbols_default =
- # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has
- # dependency to absolute path of source files.
- !use_clang_coverage &&
- (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
- is_chromeos || (is_apple && !enable_dsyms))
+ is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux ||
+ is_chromeos || (is_apple && !enable_dsyms)
# If the platform uses stripped absolute paths by default, then we don't expose
# it as a configuration option. If this is causing problems, please file a bug.

View file

@ -1,40 +0,0 @@
From 24a90f9327ac1a4d2b6dbb410cd28f65e3e33839 Mon Sep 17 00:00:00 2001
From: Alexander Dunaev <adunaev@igalia.com>
Date: Mon, 1 Nov 2021 19:29:27 +0000
Subject: [PATCH] [linux/xfce] Set zero insets on maximising the window.
It turned out that Xfwm handles the frame insets not the way KWin and
Mutter do, which causes wrong window size when it is maximised (see the
linked crbug).
This patch resets the frame insets to zero when the window is maximised,
which fixes the behaviour on Xfwm.
Bug: 1260821
Change-Id: I69e71049157c03b74d78bc5edb7a60bf39cdda8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3250747
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936990}
---
ui/platform_window/x11/x11_window.cc | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc
index 017ff15a0a..dd416c031e 100644
--- a/ui/platform_window/x11/x11_window.cc
+++ b/ui/platform_window/x11/x11_window.cc
@@ -675,6 +675,13 @@ void X11Window::Maximize() {
// save this one for later too.
should_maximize_after_map_ = !window_mapped_in_client_;
+ // Some WMs keep respecting the frame extents even if the window is maximised.
+ // Remove the insets when maximising. The extents will be set again when the
+ // window is restored to normal state.
+ // See https://crbug.com/1260821
+ if (CanSetDecorationInsets())
+ SetDecorationInsets(nullptr);
+
SetWMSpecState(true, x11::GetAtom("_NET_WM_STATE_MAXIMIZED_VERT"),
x11::GetAtom("_NET_WM_STATE_MAXIMIZED_HORZ"));
}