meta-arago.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
* [meta-arago][kirkstone][PATCH  0/4] cleanup old/add new chromium
@ 2024-02-06 17:58 detheridge
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 1/4] meta-arago: distro: chromium: remove old dynamic layer detheridge
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: detheridge @ 2024-02-06 17:58 UTC (permalink / raw)
  To: meta-arago, reatmon, denys; +Cc: rs, detheridge

From: Darren Etheridge <detheridge@ti.com>

Sending again (no changes in patch series) but it never made it to
meta-arago list.

Patch series to add IMG PowerVR GPU accelerated Chromium support into
Kirkstone.

Patch 1 and 4 clean up some of the old Chromium cruft that was left in
the kirkstone branch that I can't imagine can possibly be useful now.

Then patch 2 and 3 add in a new dynamic layer to provide GPU support to
Chromium by allowing the PowerVR libraries to be used from within the
Chromium sandbox.   Also apply an upstream Chromium patch to stop
Chromium from segfaulting immediately on startup if no input devices are
detected.
The dynamic layer will append chromium-ozone-wayland to the
IMAGE_INSTALL for tisdk-default-image if the meta-browser layer is
detected.

Currently we need to pin the meta-browser layer to chromium v111 as there are
problems with the GPU integration in newer versions.  This pinning will
be taken care of as part of oe-layersetup once we decide if it becomes a
new "chromium" configuration, or if we add these layers into the normal
kirkstone configurations.  Downside is build time increases
considerably and image size increases.

All of this working depends on IMG PowerVR DDK23.3 being available in
meta-ti - Randolph sent these patches for review last week.

Darren Etheridge (4):
  meta-arago: distro: chromium: remove old dynamic layer
  meta-arago: distro: add a bbapend to patch the chromium browser
  meta-arago: images: update tisdk-default-image to include chromium
  meta-arago: tisdk-default-image: remove old chromium logic

 meta-arago-distro/conf/layer.conf             |  4 +-
 .../chromium-75.0.3770.80-SIOCGSTAMP.patch    | 15 ----
 .../chromium-ozone-wayland/pulse.patch        | 47 ------------
 .../chromium-ozone-wayland_%.bbappend         |  8 --
 ...omium-ozone-wayland_111.0.5563.64.bbappend |  8 ++
 ...dbox-allow-access-to-PowerVR-GPU-fro.patch | 74 +++++++++++++++++++
 ...-chromium-32307795-fix-nullprt-deref.patch | 52 +++++++++++++
 .../images/tisdk-default-image.bbappend       |  3 +
 .../images/tisdk-default-image.bb             | 10 ---
 9 files changed, 139 insertions(+), 82 deletions(-)
 delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/chromium-75.0.3770.80-SIOCGSTAMP.patch
 delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/pulse.patch
 delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-core/images/tisdk-default-image.bbappend

-- 
2.36.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [meta-arago][kirkstone][PATCH  1/4] meta-arago: distro: chromium: remove old dynamic layer
  2024-02-06 17:58 [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium detheridge
@ 2024-02-06 17:58 ` detheridge
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 2/4] meta-arago: distro: add a bbapend to patch the chromium browser detheridge
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: detheridge @ 2024-02-06 17:58 UTC (permalink / raw)
  To: meta-arago, reatmon, denys; +Cc: rs, detheridge

From: Darren Etheridge <detheridge@ti.com>

Cleaning up left over chromium stuff that I suspect won't even build
with kirkstone.  The meta-browser layer has moved on considerably and my
next patches will replace this with GPU support on IMG Rogue based GPU
devices within Chromium v111.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
---
 meta-arago-distro/conf/layer.conf             |  2 -
 .../chromium-75.0.3770.80-SIOCGSTAMP.patch    | 15 ------
 .../chromium-ozone-wayland/pulse.patch        | 47 -------------------
 .../chromium-ozone-wayland_%.bbappend         |  8 ----
 4 files changed, 72 deletions(-)
 delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/chromium-75.0.3770.80-SIOCGSTAMP.patch
 delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/pulse.patch
 delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend

diff --git a/meta-arago-distro/conf/layer.conf b/meta-arago-distro/conf/layer.conf
index cf6ccbec..40b0f5bb 100644
--- a/meta-arago-distro/conf/layer.conf
+++ b/meta-arago-distro/conf/layer.conf
@@ -24,11 +24,9 @@ LAYERDEPENDS_meta-arago-distro = " \
 # clang-layer
 
 LAYERRECOMMENDS_meta-arago-distro = " \
-    browser-layer \
 "
 
 BBFILES_DYNAMIC += " \
-    browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/recipes*/*/*.bbappend \
 "
 
 BB_DANGLINGAPPENDS_WARNONLY = "true"
diff --git a/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/chromium-75.0.3770.80-SIOCGSTAMP.patch b/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/chromium-75.0.3770.80-SIOCGSTAMP.patch
deleted file mode 100644
index 0ef1e7f1..00000000
--- a/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/chromium-75.0.3770.80-SIOCGSTAMP.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h
---- chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h.SIOCGSTAMP	2019-06-06 10:04:57.050403639 -0400
-+++ chromium-75.0.3770.80/third_party/webrtc/rtc_base/physical_socket_server.h	2019-06-06 10:06:03.975121688 -0400
-@@ -16,6 +16,11 @@
- #define WEBRTC_USE_EPOLL 1
- #endif
- 
-+// for SIOCGSTAMP in Linux 5.2
-+#if defined(WEBRTC_LINUX)
-+#include <linux/sockios.h>
-+#endif
-+
- #include <memory>
- #include <set>
- #include <vector>
diff --git a/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/pulse.patch b/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/pulse.patch
deleted file mode 100644
index d88220b3..00000000
--- a/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/pulse.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -pNur chromium-77.0.3865.75-orig/media/audio/pulse/pulse.sigs chromium-77.0.3865.75/media/audio/pulse/pulse.sigs
---- chromium-77.0.3865.75-orig/media/audio/pulse/pulse.sigs	2019-09-09 23:55:20.000000000 +0200
-+++ chromium-77.0.3865.75/media/audio/pulse/pulse.sigs	2019-09-20 20:37:43.872670594 +0200
-@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info
- pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
- pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
- pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
--pa_context_state_t pa_context_get_state(pa_context* c);
-+pa_context_state_t pa_context_get_state(const pa_context* c);
- pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
- pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
- void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
--pa_operation_state_t pa_operation_get_state(pa_operation* o);
-+pa_operation_state_t pa_operation_get_state(const pa_operation* o);
- void pa_context_unref(pa_context* c);
- void pa_operation_unref(pa_operation* o);
- int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
-@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream*
- int pa_stream_disconnect(pa_stream* s);
- int pa_stream_drop(pa_stream *p);
- pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
--uint32_t pa_stream_get_device_index(pa_stream* s);
-+uint32_t pa_stream_get_device_index(const pa_stream* s);
- int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
--pa_stream_state_t pa_stream_get_state(pa_stream* p);
-+pa_stream_state_t pa_stream_get_state(const pa_stream* p);
- pa_stream* pa_stream_new(pa_context*  c, const char*  name, const pa_sample_spec*  ss, const pa_channel_map *  map);
- pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
- pa_proplist* pa_proplist_new(void);
--int pa_proplist_contains(pa_proplist* p, const char* key);
-+int pa_proplist_contains(const pa_proplist* p, const char* key);
- void pa_proplist_free(pa_proplist* p);
--const char* pa_proplist_gets(pa_proplist* p, const char* key);
-+const char* pa_proplist_gets(const pa_proplist* p, const char* key);
- int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
--size_t pa_stream_readable_size(pa_stream *p);
-+size_t pa_stream_readable_size(const pa_stream *p);
- int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
- void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
- void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
- int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
- void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
- void pa_stream_unref(pa_stream* s);
--int pa_context_errno(pa_context *c);
-+int pa_context_errno(const pa_context *c);
- const char* pa_strerror(int error);
- pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned  channels, pa_volume_t v);
diff --git a/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend b/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend
deleted file mode 100644
index 13ac6464..00000000
--- a/meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-PR:append = ".arago0"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-DEPENDS:remove = "virtual/libgl"
-
-SRC_URI += "file://chromium-75.0.3770.80-SIOCGSTAMP.patch"
-SRC_URI += "file://pulse.patch"
-- 
2.36.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [meta-arago][kirkstone][PATCH  2/4] meta-arago: distro: add a bbapend to patch the chromium browser
  2024-02-06 17:58 [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium detheridge
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 1/4] meta-arago: distro: chromium: remove old dynamic layer detheridge
@ 2024-02-06 17:58 ` detheridge
  2024-02-07  6:41   ` [EXTERNAL] " Chirag Shilwant
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 3/4] meta-arago: images: update tisdk-default-image to include chromium detheridge
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: detheridge @ 2024-02-06 17:58 UTC (permalink / raw)
  To: meta-arago, reatmon, denys; +Cc: rs, detheridge

From: Darren Etheridge <detheridge@ti.com>

This applies a patch for meta-browser/chromium-ozone-wayland to make the
sandboxing work with the Imagination GPU components without the need for
the --no-sandbox flag.

GPU acceleration in Chromium is dependant on IMG DDK 23.3.  It works
across AXE/BXS/8XE GPU's.   No acceleration is expected for SGX.

Also add an upstream patch to stop Chromium from segfaulting when it is
run with no input devices connected to the board.
Patch was retrieved from:
https://chromium.googlesource.com/chromium/src/+/323077958301bc321d840a2c2b983ab469934753

Signed-off-by: Darren Etheridge <detheridge@ti.com>
---
 meta-arago-distro/conf/layer.conf             |  2 +
 ...omium-ozone-wayland_111.0.5563.64.bbappend |  8 ++
 ...dbox-allow-access-to-PowerVR-GPU-fro.patch | 74 +++++++++++++++++++
 ...-chromium-32307795-fix-nullprt-deref.patch | 52 +++++++++++++
 4 files changed, 136 insertions(+)
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch

diff --git a/meta-arago-distro/conf/layer.conf b/meta-arago-distro/conf/layer.conf
index 40b0f5bb..b0221860 100644
--- a/meta-arago-distro/conf/layer.conf
+++ b/meta-arago-distro/conf/layer.conf
@@ -24,9 +24,11 @@ LAYERDEPENDS_meta-arago-distro = " \
 # clang-layer
 
 LAYERRECOMMENDS_meta-arago-distro = " \
+    chromium-browser-layer \
 "
 
 BBFILES_DYNAMIC += " \
+    chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/recipes*/*/*.bbappend \
 "
 
 BB_DANGLINGAPPENDS_WARNONLY = "true"
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
new file mode 100644
index 00000000..df93e26b
--- /dev/null
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
@@ -0,0 +1,8 @@
+PR:append = ".arago0"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}_${PV}:"
+
+SRC_URI:append = " \
+                  file://0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch \
+                  file://0002-upstream-chromium-32307795-fix-nullprt-deref.patch \
+                  "
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
new file mode 100644
index 00000000..1930f976
--- /dev/null
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
@@ -0,0 +1,74 @@
+From 11267fe76f81dce283d565d517b679aa2be44466 Mon Sep 17 00:00:00 2001
+From: Darren Etheridge <detheridge@ti.com>
+Date: Fri, 26 Jan 2024 10:54:49 -0600
+Subject: [PATCH] chromium: gpu: sandbox: allow access to PowerVR GPU from
+ sandbox
+
+Chromium runs in a sandbox to limit access to the system, however
+the PowerVR drivers for the Imagination GPU used on TI hardware need
+some extra libraries along with the DRM device nodes to be opened up.
+This patch opens up the necessary pieces.
+
+Signed-off-by: Darren Etheridge <detheridge@ti.com>
+---
+ content/gpu/gpu_sandbox_hook_linux.cc | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/content/gpu/gpu_sandbox_hook_linux.cc b/content/gpu/gpu_sandbox_hook_linux.cc
+index d93285a..1f8aafd 100644
+--- a/content/gpu/gpu_sandbox_hook_linux.cc
++++ b/content/gpu/gpu_sandbox_hook_linux.cc
+@@ -67,6 +67,11 @@ inline bool UseChromecastSandboxAllowlist() {
+ #endif
+ }
+ 
++inline bool IsGPUIMGRogue() {
++  return true;
++}
++
++
+ inline bool IsArchitectureArm() {
+ #if defined(ARCH_CPU_ARM_FAMILY)
+   return true;
+@@ -441,6 +446,11 @@ std::vector<BrokerFilePermission> FilePermissionsForGpu(
+ 
+   AddVulkanICDPermissions(&permissions);
+ 
++  if (IsGPUIMGRogue()) {
++      // Add standard DRM permissions for snapdragon/PowerVR:
++      AddDrmGpuPermissions(&permissions);
++  }
++
+   if (IsChromeOS()) {
+     // Permissions are additive, there can be multiple GPUs in the system.
+     AddStandardChromeOsPermissions(&permissions);
+@@ -508,6 +518,8 @@ void LoadArmGpuLibraries() {
+         DRI_DRIVER_DIR "/mediatek_dri.so",
+         DRI_DRIVER_DIR "/rockchip_dri.so",
+         DRI_DRIVER_DIR "/asahi_dri.so",
++        DRI_DRIVER_DIR "/pvr_dri.so",
++        DRI_DRIVER_DIR "/tidss_dri.so",
+ #else
+         "/usr/lib64/dri/msm_dri.so",
+         "/usr/lib64/dri/panfrost_dri.so",
+@@ -515,6 +527,8 @@ void LoadArmGpuLibraries() {
+         "/usr/lib64/dri/rockchip_dri.so",
+         "/usr/lib64/dri/asahi_dri.so",
+         "/usr/lib/dri/msm_dri.so",
++        "/usr/lib/dri/tidss_dri.so",
++        "/usr/lib/dri/pvr_dri.so",
+         "/usr/lib/dri/panfrost_dri.so",
+         "/usr/lib/dri/mediatek_dri.so",
+         "/usr/lib/dri/rockchip_dri.so",
+@@ -632,7 +646,7 @@ sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU(
+   command_set.set(sandbox::syscall_broker::COMMAND_ACCESS);
+   command_set.set(sandbox::syscall_broker::COMMAND_OPEN);
+   command_set.set(sandbox::syscall_broker::COMMAND_STAT);
+-  if (IsChromeOS() &&
++  if ((IsGPUIMGRogue() || IsChromeOS()) &&
+       (options.use_amd_specific_policies ||
+        options.use_intel_specific_policies ||
+        options.use_virtio_specific_policies || IsArchitectureArm())) {
+-- 
+2.36.1
+
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch
new file mode 100644
index 00000000..5624de96
--- /dev/null
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch
@@ -0,0 +1,52 @@
+From 323077958301bc321d840a2c2b983ab469934753 Mon Sep 17 00:00:00 2001
+From: Max Ihlenfeldt <max@igalia.com>
+Date: Wed, 02 Aug 2023 15:46:56 +0000
+Subject: [PATCH] ozone/wayland: Fix nullptr deref in WaylandWindowManager
+
+When no input devices are available (e.g. embedded devices),
+`connection_->window_drag_controller()` returns nullptr. Add a check to
+ensure we don't accidentally dereference that.
+
+See also https://github.com/OSSystems/meta-browser/issues/736.
+
+Bug: 578890
+Change-Id: I472d0dfabfea6b4d072ede98c8593370524f54f0
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4724882
+Reviewed-by: Antonio Gomes <tonikitoo@igalia.com>
+Commit-Queue: Max Ihlenfeldt <max@igalia.com>
+Cr-Commit-Position: refs/heads/main@{#1178426}
+---
+
+diff --git a/ui/ozone/platform/wayland/host/wayland_window_manager.cc b/ui/ozone/platform/wayland/host/wayland_window_manager.cc
+index e4a8e4541..24999725 100644
+--- a/ui/ozone/platform/wayland/host/wayland_window_manager.cc
++++ b/ui/ozone/platform/wayland/host/wayland_window_manager.cc
+@@ -96,15 +96,19 @@
+ 
+ WaylandWindow* WaylandWindowManager::GetCurrentPointerOrTouchFocusedWindow()
+     const {
+-  // In case there is an ongoing window dragging session, favor the window
+-  // according to the active drag source.
+-  //
+-  // TODO(https://crbug.com/1317063): Apply the same logic to data drag sessions
+-  // too?
+-  if (auto drag_source = connection_->window_drag_controller()->drag_source()) {
+-    return *drag_source == mojom::DragEventSource::kMouse
+-               ? GetCurrentPointerFocusedWindow()
+-               : GetCurrentTouchFocusedWindow();
++  // Might be nullptr if no input devices are available.
++  if (connection_->window_drag_controller()) {
++    // In case there is an ongoing window dragging session, favor the window
++    // according to the active drag source.
++    //
++    // TODO(https://crbug.com/1317063): Apply the same logic to data drag
++    // sessions too?
++    if (auto drag_source =
++            connection_->window_drag_controller()->drag_source()) {
++      return *drag_source == mojom::DragEventSource::kMouse
++                 ? GetCurrentPointerFocusedWindow()
++                 : GetCurrentTouchFocusedWindow();
++    }
+   }
+ 
+   for (const auto& entry : window_map_) {
-- 
2.36.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [meta-arago][kirkstone][PATCH  3/4] meta-arago: images: update tisdk-default-image to include chromium
  2024-02-06 17:58 [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium detheridge
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 1/4] meta-arago: distro: chromium: remove old dynamic layer detheridge
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 2/4] meta-arago: distro: add a bbapend to patch the chromium browser detheridge
@ 2024-02-06 17:58 ` detheridge
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 4/4] meta-arago: tisdk-default-image: remove old chromium logic detheridge
  2024-02-06 18:01 ` [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium Randolph Sapp
  4 siblings, 0 replies; 7+ messages in thread
From: detheridge @ 2024-02-06 17:58 UTC (permalink / raw)
  To: meta-arago, reatmon, denys; +Cc: rs, detheridge

From: Darren Etheridge <detheridge@ti.com>

If the chromium-browser-layer is detected, then add
chromium-ozone-wayland into the default image.

If the layer is detected then append chromium-ozone-wayland to the
IMAGE_INSTALL variable.  This increases the build time and image size
which is why we make this conditional on the browser layer being
present.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
---
 .../recipes-core/images/tisdk-default-image.bbappend           | 3 +++
 1 file changed, 3 insertions(+)
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-core/images/tisdk-default-image.bbappend

diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-core/images/tisdk-default-image.bbappend b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-core/images/tisdk-default-image.bbappend
new file mode 100644
index 00000000..7224fe72
--- /dev/null
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-core/images/tisdk-default-image.bbappend
@@ -0,0 +1,3 @@
+PR:append = ".chromium0"
+
+IMAGE_INSTALL:append = " chromium-ozone-wayland"
-- 
2.36.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [meta-arago][kirkstone][PATCH  4/4] meta-arago: tisdk-default-image: remove old chromium logic
  2024-02-06 17:58 [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium detheridge
                   ` (2 preceding siblings ...)
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 3/4] meta-arago: images: update tisdk-default-image to include chromium detheridge
@ 2024-02-06 17:58 ` detheridge
  2024-02-06 18:01 ` [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium Randolph Sapp
  4 siblings, 0 replies; 7+ messages in thread
From: detheridge @ 2024-02-06 17:58 UTC (permalink / raw)
  To: meta-arago, reatmon, denys; +Cc: rs, detheridge

From: Darren Etheridge <detheridge@ti.com>

The new dynamic meta-chromium-browser layer will do this same thing
and add chromium-ozone-wayland into the image if the layer is detected.
This is a hangover from dunfell and doesn't serve any purpose in
kirkstone so removing to uncomplicate things.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
---
 .../recipes-core/images/tisdk-default-image.bb         | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/meta-arago-distro/recipes-core/images/tisdk-default-image.bb b/meta-arago-distro/recipes-core/images/tisdk-default-image.bb
index 7761ac34..9c3446f3 100644
--- a/meta-arago-distro/recipes-core/images/tisdk-default-image.bb
+++ b/meta-arago-distro/recipes-core/images/tisdk-default-image.bb
@@ -39,15 +39,6 @@ export IMAGE_BASENAME = "tisdk-default-image"
 # available on the HW.
 IMAGE_FSTYPES:remove:omapl138 = "ubifs ubi"
 
-# Below is the delta in packages between old fuller and a new smaller default rootfs
-CHROMIUM = ""
-CHROMIUM:append:omap-a15 = "\
-    chromium-ozone-wayland \
-"
-CHROMIUM:append:k3 = "\
-    chromium-ozone-wayland \
-"
-
 EXTRABROWSERS = " \
     qtwebbrowser-examples \
     qtwebengine-qmlplugins \
@@ -56,7 +47,6 @@ EXTRABROWSERS = " \
 
 PYTHON2APPS = " \
     ${@bb.utils.contains('DISTRO_FEATURES','opengl',"${EXTRABROWSERS}",'',d)} \
-    ${@bb.utils.contains("BBFILE_COLLECTIONS","browser-layer",bb.utils.contains('DISTRO_FEATURES','wayland',"${CHROMIUM}",'',d),'',d)} \
 "
 
 DEVTOOLS = " \
-- 
2.36.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium
  2024-02-06 17:58 [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium detheridge
                   ` (3 preceding siblings ...)
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 4/4] meta-arago: tisdk-default-image: remove old chromium logic detheridge
@ 2024-02-06 18:01 ` Randolph Sapp
  4 siblings, 0 replies; 7+ messages in thread
From: Randolph Sapp @ 2024-02-06 18:01 UTC (permalink / raw)
  To: detheridge, meta-arago, reatmon, denys

On 2/6/24 11:58, detheridge@ti.com wrote:
> From: Darren Etheridge <detheridge@ti.com>
> 
> Sending again (no changes in patch series) but it never made it to
> meta-arago list.
> 
> Patch series to add IMG PowerVR GPU accelerated Chromium support into
> Kirkstone.
> 
> Patch 1 and 4 clean up some of the old Chromium cruft that was left in
> the kirkstone branch that I can't imagine can possibly be useful now.
> 
> Then patch 2 and 3 add in a new dynamic layer to provide GPU support to
> Chromium by allowing the PowerVR libraries to be used from within the
> Chromium sandbox.   Also apply an upstream Chromium patch to stop
> Chromium from segfaulting immediately on startup if no input devices are
> detected.
> The dynamic layer will append chromium-ozone-wayland to the
> IMAGE_INSTALL for tisdk-default-image if the meta-browser layer is
> detected.
> 
> Currently we need to pin the meta-browser layer to chromium v111 as there are
> problems with the GPU integration in newer versions.  This pinning will
> be taken care of as part of oe-layersetup once we decide if it becomes a
> new "chromium" configuration, or if we add these layers into the normal
> kirkstone configurations.  Downside is build time increases
> considerably and image size increases.
> 
> All of this working depends on IMG PowerVR DDK23.3 being available in
> meta-ti - Randolph sent these patches for review last week.
> 
> Darren Etheridge (4):
>    meta-arago: distro: chromium: remove old dynamic layer
>    meta-arago: distro: add a bbapend to patch the chromium browser
>    meta-arago: images: update tisdk-default-image to include chromium
>    meta-arago: tisdk-default-image: remove old chromium logic
> 
>   meta-arago-distro/conf/layer.conf             |  4 +-
>   .../chromium-75.0.3770.80-SIOCGSTAMP.patch    | 15 ----
>   .../chromium-ozone-wayland/pulse.patch        | 47 ------------
>   .../chromium-ozone-wayland_%.bbappend         |  8 --
>   ...omium-ozone-wayland_111.0.5563.64.bbappend |  8 ++
>   ...dbox-allow-access-to-PowerVR-GPU-fro.patch | 74 +++++++++++++++++++
>   ...-chromium-32307795-fix-nullprt-deref.patch | 52 +++++++++++++
>   .../images/tisdk-default-image.bbappend       |  3 +
>   .../images/tisdk-default-image.bb             | 10 ---
>   9 files changed, 139 insertions(+), 82 deletions(-)
>   delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/chromium-75.0.3770.80-SIOCGSTAMP.patch
>   delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland/pulse.patch
>   delete mode 100644 meta-arago-distro/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-core/images/tisdk-default-image.bbappend
> 

There we go. Finally got outside of the org. Just reiterating:

This looks fine and can be applied to master as well.

Reviewed-by: Randolph Sapp <rs@ti.com>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [EXTERNAL] [meta-arago][kirkstone][PATCH 2/4] meta-arago: distro: add a bbapend to patch the chromium browser
  2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 2/4] meta-arago: distro: add a bbapend to patch the chromium browser detheridge
@ 2024-02-07  6:41   ` Chirag Shilwant
  0 siblings, 0 replies; 7+ messages in thread
From: Chirag Shilwant @ 2024-02-07  6:41 UTC (permalink / raw)
  To: detheridge, meta-arago, reatmon, denys; +Cc: rs

Hi Darren

In commit message title,
s/bbapend/bbappend


On 06/02/24 23:28, Etheridge, Darren via lists.yoctoproject.org wrote:
> From: Darren Etheridge <detheridge@ ti. com> This applies a patch for 
> meta-browser/chromium-ozone-wayland to make the sandboxing work with 
> the Imagination GPU components without the need for the --no-sandbox 
> flag. GPU acceleration in Chromium
> ZjQcmQRYFpfptBannerStart
> This message was sent from outside of Texas Instruments.
> Do not click links or open attachments unless you recognize the source 
> of this email and know the content is safe.
> ZjQcmQRYFpfptBannerEnd
> From: Darren Etheridge <detheridge@ti.com>
>
> This applies a patch for meta-browser/chromium-ozone-wayland to make the
> sandboxing work with the Imagination GPU components without the need for
> the --no-sandbox flag.
>
> GPU acceleration in Chromium is dependant on IMG DDK 23.3.  It works
> across AXE/BXS/8XE GPU's.   No acceleration is expected for SGX.
>
> Also add an upstream patch to stop Chromium from segfaulting when it is
> run with no input devices connected to the board.
> Patch was retrieved from:
> https://urldefense.com/v3/__https://chromium.googlesource.com/chromium/src/*/323077958301bc321d840a2c2b983ab469934753__;Kw!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HHSGHXOR$
>
> Signed-off-by: Darren Etheridge <detheridge@ti.com>
> ---
>   meta-arago-distro/conf/layer.conf             |  2 +
>   ...omium-ozone-wayland_111.0.5563.64.bbappend |  8 ++
>   ...dbox-allow-access-to-PowerVR-GPU-fro.patch | 74 +++++++++++++++++++
>   ...-chromium-32307795-fix-nullprt-deref.patch | 52 +++++++++++++
>   4 files changed, 136 insertions(+)
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
>   create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch
>
> diff --git a/meta-arago-distro/conf/layer.conf b/meta-arago-distro/conf/layer.conf
> index 40b0f5bb..b0221860 100644
> --- a/meta-arago-distro/conf/layer.conf
> +++ b/meta-arago-distro/conf/layer.conf
> @@ -24,9 +24,11 @@ LAYERDEPENDS_meta-arago-distro = " \
>   # clang-layer
>   
>   LAYERRECOMMENDS_meta-arago-distro = " \
> +    chromium-browser-layer \
>   "
>   
>   BBFILES_DYNAMIC += " \
> +    chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/recipes*/*/*.bbappend \
>   "
>   
>   BB_DANGLINGAPPENDS_WARNONLY = "true"
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
> new file mode 100644
> index 00000000..df93e26b
> --- /dev/null
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64.bbappend
> @@ -0,0 +1,8 @@
> +PR:append = ".arago0"
> +
> +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}_${PV}:"
> +
> +SRC_URI:append = " \
> +                  file://0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch \
> +                  file://0002-upstream-chromium-32307795-fix-nullprt-deref.patch \
> +                  "
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
> new file mode 100644
> index 00000000..1930f976
> --- /dev/null
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0001-chromium-gpu-sandbox-allow-access-to-PowerVR-GPU-fro.patch
> @@ -0,0 +1,74 @@
> +From 11267fe76f81dce283d565d517b679aa2be44466 Mon Sep 17 00:00:00 2001
> +From: Darren Etheridge <detheridge@ti.com>
> +Date: Fri, 26 Jan 2024 10:54:49 -0600
> +Subject: [PATCH] chromium: gpu: sandbox: allow access to PowerVR GPU from
> + sandbox
> +
> +Chromium runs in a sandbox to limit access to the system, however
> +the PowerVR drivers for the Imagination GPU used on TI hardware need
> +some extra libraries along with the DRM device nodes to be opened up.
> +This patch opens up the necessary pieces.
> +
> +Signed-off-by: Darren Etheridge <detheridge@ti.com>
> +---
> + content/gpu/gpu_sandbox_hook_linux.cc | 16 +++++++++++++++-
> + 1 file changed, 15 insertions(+), 1 deletion(-)
> +
> +diff --git a/content/gpu/gpu_sandbox_hook_linux.cc b/content/gpu/gpu_sandbox_hook_linux.cc
> +index d93285a..1f8aafd 100644
> +--- a/content/gpu/gpu_sandbox_hook_linux.cc
> ++++ b/content/gpu/gpu_sandbox_hook_linux.cc
> +@@ -67,6 +67,11 @@ inline bool UseChromecastSandboxAllowlist() {
> + #endif
> + }
> +
> ++inline bool IsGPUIMGRogue() {
> ++  return true;
> ++}
> ++
> ++
> + inline bool IsArchitectureArm() {
> + #if defined(ARCH_CPU_ARM_FAMILY)
> +   return true;
> +@@ -441,6 +446,11 @@ std::vector<BrokerFilePermission> FilePermissionsForGpu(
> +
> +   AddVulkanICDPermissions(&permissions);
> +
> ++  if (IsGPUIMGRogue()) {
> ++      // Add standard DRM permissions for snapdragon/PowerVR:
> ++      AddDrmGpuPermissions(&permissions);
> ++  }
> ++
> +   if (IsChromeOS()) {
> +     // Permissions are additive, there can be multiple GPUs in the system.
> +     AddStandardChromeOsPermissions(&permissions);
> +@@ -508,6 +518,8 @@ void LoadArmGpuLibraries() {
> +         DRI_DRIVER_DIR "/mediatek_dri.so",
> +         DRI_DRIVER_DIR "/rockchip_dri.so",
> +         DRI_DRIVER_DIR "/asahi_dri.so",
> ++        DRI_DRIVER_DIR "/pvr_dri.so",
> ++        DRI_DRIVER_DIR "/tidss_dri.so",
> + #else
> +         "/usr/lib64/dri/msm_dri.so",
> +         "/usr/lib64/dri/panfrost_dri.so",
> +@@ -515,6 +527,8 @@ void LoadArmGpuLibraries() {
> +         "/usr/lib64/dri/rockchip_dri.so",
> +         "/usr/lib64/dri/asahi_dri.so",
> +         "/usr/lib/dri/msm_dri.so",
> ++        "/usr/lib/dri/tidss_dri.so",
> ++        "/usr/lib/dri/pvr_dri.so",
> +         "/usr/lib/dri/panfrost_dri.so",
> +         "/usr/lib/dri/mediatek_dri.so",
> +         "/usr/lib/dri/rockchip_dri.so",
> +@@ -632,7 +646,7 @@ sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU(
> +   command_set.set(sandbox::syscall_broker::COMMAND_ACCESS);
> +   command_set.set(sandbox::syscall_broker::COMMAND_OPEN);
> +   command_set.set(sandbox::syscall_broker::COMMAND_STAT);
> +-  if (IsChromeOS() &&
> ++  if ((IsGPUIMGRogue() || IsChromeOS()) &&
> +       (options.use_amd_specific_policies ||
> +        options.use_intel_specific_policies ||
> +        options.use_virtio_specific_policies || IsArchitectureArm())) {
> +--
> +2.36.1
> +
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch
> new file mode 100644
> index 00000000..5624de96
> --- /dev/null
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_111.0.5563.64/0002-upstream-chromium-32307795-fix-nullprt-deref.patch
> @@ -0,0 +1,52 @@
> +From 323077958301bc321d840a2c2b983ab469934753 Mon Sep 17 00:00:00 2001
> +From: Max Ihlenfeldt <max@igalia.com>
> +Date: Wed, 02 Aug 2023 15:46:56 +0000
> +Subject: [PATCH] ozone/wayland: Fix nullptr deref in WaylandWindowManager
> +
> +When no input devices are available (e.g. embedded devices),
> +`connection_->window_drag_controller()` returns nullptr. Add a check to
> +ensure we don't accidentally dereference that.
> +
> +See alsohttps://urldefense.com/v3/__https://github.com/OSSystems/meta-browser/issues/736__;!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HPEd77cm$.
> +
> +Bug: 578890
> +Change-Id: I472d0dfabfea6b4d072ede98c8593370524f54f0
> +Reviewed-on:https://urldefense.com/v3/__https://chromium-review.googlesource.com/c/chromium/src/*/4724882__;Kw!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HIEZ9BQ2$
> +Reviewed-by: Antonio Gomes <tonikitoo@igalia.com>
> +Commit-Queue: Max Ihlenfeldt <max@igalia.com>
> +Cr-Commit-Position: refs/heads/main@{#1178426}
> +---
> +
> +diff --git a/ui/ozone/platform/wayland/host/wayland_window_manager.cc b/ui/ozone/platform/wayland/host/wayland_window_manager.cc
> +index e4a8e4541..24999725 100644
> +--- a/ui/ozone/platform/wayland/host/wayland_window_manager.cc
> ++++ b/ui/ozone/platform/wayland/host/wayland_window_manager.cc
> +@@ -96,15 +96,19 @@
> +
> + WaylandWindow* WaylandWindowManager::GetCurrentPointerOrTouchFocusedWindow()
> +     const {
> +-  // In case there is an ongoing window dragging session, favor the window
> +-  // according to the active drag source.
> +-  //
> +-  // TODO(https://urldefense.com/v3/__https://crbug.com/1317063__;!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HB0E-tho$): Apply the same logic to data drag sessions
> +-  // too?
> +-  if (auto drag_source = connection_->window_drag_controller()->drag_source()) {
> +-    return *drag_source == mojom::DragEventSource::kMouse
> +-               ? GetCurrentPointerFocusedWindow()
> +-               : GetCurrentTouchFocusedWindow();
> ++  // Might be nullptr if no input devices are available.
> ++  if (connection_->window_drag_controller()) {
> ++    // In case there is an ongoing window dragging session, favor the window
> ++    // according to the active drag source.
> ++    //
> ++    // TODO(https://urldefense.com/v3/__https://crbug.com/1317063__;!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HB0E-tho$): Apply the same logic to data drag
> ++    // sessions too?
> ++    if (auto drag_source =
> ++            connection_->window_drag_controller()->drag_source()) {
> ++      return *drag_source == mojom::DragEventSource::kMouse
> ++                 ? GetCurrentPointerFocusedWindow()
> ++                 : GetCurrentTouchFocusedWindow();
> ++    }
> +   }
> +
> +   for (const auto& entry : window_map_) {
> -- 
> 2.36.1
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#15119):https://urldefense.com/v3/__https://lists.yoctoproject.org/g/meta-arago/message/15119__;!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HB62lNke$
> Mute This Topic:https://urldefense.com/v3/__https://lists.yoctoproject.org/mt/104202896/7030289__;!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HFMYHaK3$
> Group Owner: meta-arago+owner@lists.yoctoproject.org
> Unsubscribe:https://urldefense.com/v3/__https://lists.yoctoproject.org/g/meta-arago/unsub__;!!G3vK!Q1ZI2dsaxka-0vu202whhUsEmBDa9DSQPM71DvdmC9MGFHwvBAjQmNdPgEtm1NZeBloRSk1T5iINRfCzyBwGDC_domr6HOegsw2j$  [c-shilwant@ti.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-02-07  6:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-06 17:58 [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium detheridge
2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 1/4] meta-arago: distro: chromium: remove old dynamic layer detheridge
2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 2/4] meta-arago: distro: add a bbapend to patch the chromium browser detheridge
2024-02-07  6:41   ` [EXTERNAL] " Chirag Shilwant
2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 3/4] meta-arago: images: update tisdk-default-image to include chromium detheridge
2024-02-06 17:58 ` [meta-arago][kirkstone][PATCH 4/4] meta-arago: tisdk-default-image: remove old chromium logic detheridge
2024-02-06 18:01 ` [meta-arago][kirkstone][PATCH 0/4] cleanup old/add new chromium Randolph Sapp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).