[wam][cef] Add the CEF recipe
[AGL/meta-agl-demo.git] / recipes-wam / cef / files / chromium / 0007-Only-bind-to-agl_shell-if-it-s-the-browser-process.patch
diff --git a/recipes-wam/cef/files/chromium/0007-Only-bind-to-agl_shell-if-it-s-the-browser-process.patch b/recipes-wam/cef/files/chromium/0007-Only-bind-to-agl_shell-if-it-s-the-browser-process.patch
new file mode 100644 (file)
index 0000000..8961b46
--- /dev/null
@@ -0,0 +1,39 @@
+From 1b60d7d98be14175b5175ee6ba4c19da03d8188e Mon Sep 17 00:00:00 2001
+From: Roger Zanoni <rzanoni@igalia.com>
+Date: Sat, 27 May 2023 15:55:17 +0200
+Subject: [PATCH 7/9] Only bind to agl_shell if it's the browser process
+
+---
+ .../extensions/agl/host/wayland_extensions_agl_impl.cc   | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/ui/ozone/platform/wayland/extensions/agl/host/wayland_extensions_agl_impl.cc b/ui/ozone/platform/wayland/extensions/agl/host/wayland_extensions_agl_impl.cc
+index 87376cbb8a9d3..075b3010ea8a1 100644
+--- a/ui/ozone/platform/wayland/extensions/agl/host/wayland_extensions_agl_impl.cc
++++ b/ui/ozone/platform/wayland/extensions/agl/host/wayland_extensions_agl_impl.cc
+@@ -20,6 +20,7 @@
+ #include "base/command_line.h"
+ #include "base/logging.h"
++#include "content/public/common/content_switches.h"
+ #include "ui/base/ui_base_switches.h"
+ #include "ui/ozone/platform/wayland/extensions/agl/host/agl_shell_wrapper.h"
+ #include "ui/ozone/platform/wayland/extensions/agl/host/wayland_window_agl.h"
+@@ -45,8 +46,12 @@ bool WaylandExtensionsAglImpl::Bind(wl_registry* registry,
+                                     uint32_t name,
+                                     const char* interface,
+                                     uint32_t version) {
+-  bool should_use_agl_shell = base::CommandLine::ForCurrentProcess()->HasSwitch(
+-      switches::kAglShellAppId);
++  bool has_agl_shell_switch = base::CommandLine::ForCurrentProcess()->HasSwitch(
++          switches::kAglShellAppId);
++  bool is_browser_process = !base::CommandLine::ForCurrentProcess()->HasSwitch(
++          switches::kProcessType);
++  bool should_use_agl_shell = has_agl_shell_switch && is_browser_process;
++
+   bool can_bind = wl::CanBind(interface, version, kMinAglShellExtensionVersion,
+                               kMaxAglShellExtensionVersion);
+   bool is_agl_shell_interface = (strcmp(interface, "agl_shell") == 0);
+-- 
+2.39.2
+