Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions chromium-bolt/.SRCINFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
pkgbase = chromium-bolt
pkgdesc = A web browser built for speed, simplicity, and security
pkgver = 123.0.6312.58
pkgrel = 1
url = https://www.chromium.org/Home
arch = x86_64
license = BSD-3-Clause
makedepends = python
makedepends = gn
makedepends = ninja
makedepends = clang
makedepends = lld
makedepends = gperf
makedepends = nodejs
makedepends = pipewire
makedepends = rust
makedepends = qt5-base
makedepends = java-runtime-headless
makedepends = git
makedepends = xorg-server-xvfb
makedepends = perf
makedepends = llvm-bolt
depends = gtk3
depends = nss
depends = alsa-lib
depends = xdg-utils
depends = libxss
depends = libcups
depends = libgcrypt
depends = ttf-liberation
depends = systemd
depends = dbus
depends = libpulse
depends = pciutils
depends = libva
depends = libffi
depends = desktop-file-utils
depends = hicolor-icon-theme
depends = fontconfig
depends = brotli
depends = libjpeg
depends = icu
depends = dav1d
depends = flac
depends = libxml2
depends = libwebp
depends = minizip
depends = opus
depends = harfbuzz
depends = libxslt
depends = libpng
depends = freetype2
optdepends = pipewire: WebRTC desktop sharing under Wayland
optdepends = kdialog: support for native dialogs in Plasma
optdepends = qt5-base: enable Qt5 with --enable-features=AllowQt
optdepends = gtk4: for --gtk-version=4 (GTK4 IME might work better on Wayland)
optdepends = org.freedesktop.secrets: password storage backend on GNOME / Xfce
optdepends = kwallet: support for storing passwords in KWallet on Plasma
conflicts = chromium
options = !strip
options = !lto
source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-123.0.6312.58.tar.xz
source = https://github.com/foutrelis/chromium-launcher/archive/v8/chromium-launcher-8.tar.gz
source = https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/123/chromium-patches-123.tar.bz2
source = drop-flag-unsupported-by-clang17.patch
source = compiler-rt-adjust-paths.patch
source = use-oauth2-client-switches-as-default.patch
source = relocs.patch
source = relocs2.patch
source = profiler.py
source = 0001-vaapi-flag-ozone-wayland.patch
source = 0001-adjust-buffer-format-order.patch
source = 0001-enable-linux-unstable-deb-target.patch
source = 0001-ozone-wayland-implement-text_input_manager_v3.patch
source = 0001-ozone-wayland-implement-text_input_manager-fixes.patch
sha256sums = f8dae4a2ff7b00bb44fa136c2101638fea4f232e4819be3f73381ddc0d3bf718
sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a
sha256sums = 488f02af92b148eaa91ad5015b3bf383dfc8618ebafe9c3c250cd4c7f4e27b19
sha256sums = 3bd35dab1ded5d9e1befa10d5c6c4555fe0a76d909fb724ac57d0bf10cb666c1
sha256sums = b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961
sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711
sha256sums = 5ed8adfca50f753ce1ad26f106b2ffa33dec70ea65040726a01b717a8b02736c
sha256sums = 8ae352875a1f01191eb5d4889f93d75999a6310aff91e2f4f337d5b2729fad4b
sha256sums = 272ea2273efd0ed89d655fd84f4e78f02f90801509e8a32311669b2648950809
sha256sums = 9a5594293616e1390462af1f50276ee29fd6075ffab0e3f944f6346cb2eb8aec
sha256sums = 8ba5c67b7eb6cacd2dbbc29e6766169f0fca3bbb07779b1a0a76c913f17d343f
sha256sums = 2a44756404e13c97d000cc0d859604d6848163998ea2f838b3b9bb2c840967e3
sha256sums = d9974ddb50777be428fd0fa1e01ffe4b587065ba6adefea33678e1b3e25d1285
sha256sums = a2da75d0c20529f2d635050e0662941c0820264ea9371eb900b9d90b5968fa6a

pkgname = chromium-bolt
65 changes: 65 additions & 0 deletions chromium-bolt/0001-adjust-buffer-format-order.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
From 44a44adecbc97242371cf67f8bbd5553c95fa123 Mon Sep 17 00:00:00 2001
From: Yaowei Zhou <yaowei.zhou@intel.com>
Date: Wed, 18 Jan 2023 17:00:50 +0800
Subject: [PATCH] Adjust the order of wayland drm and zwp dma buf in WaylandBufferFactory

Adjust the order as buffer format implementation of zwp dma buffer from
Mutter, which will cause inconsistent with gbm support format list of
GPU process.

Bug: N/A
Change-Id: Ice63c52fbd6eff0a099c35c0943e24c1fd1a1d70
---

diff --git a/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc b/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc
index 2376d77..7d6c032e 100644
--- a/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc
+++ b/ui/ozone/platform/wayland/host/wayland_buffer_factory.cc
@@ -25,13 +25,13 @@
uint32_t planes_count,
wl::OnRequestBufferCallback callback) const {
DCHECK(SupportsDmabuf());
- if (wayland_zwp_dmabuf_) {
+ if (wayland_drm_) {
+ wayland_drm_->CreateBuffer(fd, size, strides, offsets, modifiers, format,
+ planes_count, std::move(callback));
+ } else if (wayland_zwp_dmabuf_) {
wayland_zwp_dmabuf_->CreateBuffer(fd, size, strides, offsets, modifiers,
format, planes_count,
std::move(callback));
- } else if (wayland_drm_) {
- wayland_drm_->CreateBuffer(fd, size, strides, offsets, modifiers, format,
- planes_count, std::move(callback));
} else {
// This method must never be called if neither zwp_linux_dmabuf or wl_drm
// are supported.
@@ -52,10 +52,11 @@
wl::BufferFormatsWithModifiersMap
WaylandBufferFactory::GetSupportedBufferFormats() const {
#if defined(WAYLAND_GBM)
- if (wayland_zwp_dmabuf_)
- return wayland_zwp_dmabuf_->supported_buffer_formats();
- else if (wayland_drm_)
+ if (wayland_drm_) {
return wayland_drm_->supported_buffer_formats();
+ } else if (wayland_zwp_dmabuf_) {
+ return wayland_zwp_dmabuf_->supported_buffer_formats();
+ }
#endif
return {};
}
@@ -71,10 +72,11 @@

bool WaylandBufferFactory::CanCreateDmabufImmed() const {
#if defined(WAYLAND_GBM)
- if (wayland_zwp_dmabuf_)
- return wayland_zwp_dmabuf_->CanCreateBufferImmed();
- else if (wayland_drm_)
+ if (wayland_drm_) {
return wayland_drm_->CanCreateBufferImmed();
+ } else if (wayland_zwp_dmabuf_) {
+ return wayland_zwp_dmabuf_->CanCreateBufferImmed();
+ }
#endif
return false;
}
33 changes: 33 additions & 0 deletions chromium-bolt/0001-enable-linux-unstable-deb-target.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
From 22fe045deac0551720d7292022f443b22703f336 Mon Sep 17 00:00:00 2001
From: Yaowei Zhou <yaowei.zhou@intel.com>
Date: Thu, 20 Apr 2023 14:37:26 +0800
Subject: [PATCH] Enable "linux:unstable_deb" build target when using the chromium minigbm

Bug: N/A
Change-Id: Ic37059be0f0719895acdba756292aed71820feba
---

diff --git a/third_party/minigbm/BUILD.gn b/third_party/minigbm/BUILD.gn
index 739e278..50bf5d8 100644
--- a/third_party/minigbm/BUILD.gn
+++ b/third_party/minigbm/BUILD.gn
@@ -58,7 +58,7 @@
}
}

- shared_library("minigbm") {
+ static_library("minigbm") {
sources = [
"src/amdgpu.c",
"src/dri.c",
@@ -89,8 +89,8 @@
}

# Clients need this to pick up the shared library correctly.
- all_dependent_configs =
- [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
+ #all_dependent_configs =
+ # [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
}

# This target is used for Chromecast build, which expects the resulting lib
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

ui/ozone/platform/wayland/host/zwp_text_input_wrapper.h

# https://github.com/chromium/chromium/commit/de30ba3f21f824be05443d5820b988d226780d68
Support offset of surrounding text in Lacros wayland client.

# https://github.com/chromium/chromium/commit/71bba2b7ae8117fdf053563a864d6cff018d7e94
Support large size surrounding text in Lacros.

---
diff --git a/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.cc b/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.cc
index a3ce6e4..83f2c58 100644
--- a/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.cc
+++ b/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.cc
@@ -147,6 +147,14 @@ void ZWPTextInputWrapperV3::SetSurroundingText(
zwp_text_input_v3_commit(obj_.get());
}

+bool ZWPTextInputWrapperV3::HasAdvancedSurroundingTextSupport() const {
+ return false;
+}
+
+void ZWPTextInputWrapperV3::SetSurroundingTextOffsetUtf16(
+ uint32_t offset_utf16) {
+}
+
void ZWPTextInputWrapperV3::ResetPendingState() {
commit_string_.clear();
delete_surrounding_text_before_length_ = 0;
diff --git a/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.h b/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.h
index 204d7e3..5d03a1d 100644
--- a/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.h
+++ b/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v3.h
@@ -45,6 +45,8 @@ class ZWPTextInputWrapperV3 : public ZWPTextInputWrapper {
void SetCursorRect(const gfx::Rect& rect) override;
void SetSurroundingText(const std::string& text,
const gfx::Range& selection_range) override;
+ bool HasAdvancedSurroundingTextSupport() const override;
+ void SetSurroundingTextOffsetUtf16(uint32_t offset_utf16) override;
void SetContentType(TextInputType type,
TextInputMode mode,
uint32_t flags,
Loading