summaryrefslogtreecommitdiffstats
path: root/recipes-wam/cef/files/chromium/0007-Only-bind-to-agl_shell-if-it-s-the-browser-process.patch
blob: 8961b46499e60a3394f693f63ab20feb2b6afed0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
<memory> #include "../can/can-bus.hpp" #include "../can/can-message-set.hpp" #include "../can/can-signals.hpp" #include "../diagnostic/diagnostic-manager.hpp" #include "low-can-hat.hpp" /// /// @brief Class representing a configuration attached to the binding. /// /// It regroups all needed objects instance from other class /// that will be used along the binding life. It gets a global vision /// on which signals are implemented for that binding. /// Here, it is only the definition of the class with predefined accessors /// methods used in the binding. /// /// It will be the reference point to needed objects. /// class application_t { private: can_bus_t can_bus_manager_; ///< instanciate the CAN bus manager. It's the one in charge of initialize the CAN bus devices. diagnostic_manager_t diagnostic_manager_; ///< Diagnostic manager use to manage diagnostic message communication. uint8_t active_message_set_ = 0; ///< Which is the active message set ? Default to 0. std::vector<std::shared_ptr<can_message_set_t> > can_message_set_; ///< Vector holding all message set from JSON signals description file application_t(); ///< Private constructor with implementation generated by the AGL generator. public: static application_t& instance(); can_bus_t& get_can_bus_manager(); const std::string get_diagnostic_bus() const; diagnostic_manager_t& get_diagnostic_manager() ; uint8_t get_active_message_set() const; std::vector<std::shared_ptr<can_message_set_t> > get_can_message_set(); std::vector<std::shared_ptr<can_signal_t> > get_all_can_signals(); std::vector<std::shared_ptr<diagnostic_message_t> >& get_diagnostic_messages(); const std::vector<std::string>& get_signals_prefix() const; std::vector<std::shared_ptr<can_message_definition_t> >& get_can_message_definition(); uint32_t get_signal_id(diagnostic_message_t& sig) const; uint32_t get_signal_id(can_signal_t& sig) const; void set_active_message_set(uint8_t id); /* /// TODO: implement this function as method into can_bus class /// @brief Pre initialize actions made before CAN bus initialization /// @param[in] bus A CanBus struct defining the bus's metadata /// @param[in] writable Configure the controller in a writable mode. If false, it will be configured as "listen only" and will not allow writes or even CAN ACKs. /// @param[in] buses An array of all CAN buses. void pre_initialize(can_bus_dev_t* bus, bool writable, can_bus_dev_t* buses, const int busCount); /// TODO: implement this function as method into can_bus class /// @brief Post-initialize actions made after CAN bus initialization /// @param[in] bus A CanBus struct defining the bus's metadata /// @param[in] writable Configure the controller in a writable mode. If false, it will be configured as "listen only" and will not allow writes or even CAN ACKs. /// @param[in] buses An array of all CAN buses. void post_initialize(can_bus_dev_t* bus, bool writable, can_bus_dev_t* buses, const int busCount); /// TODO: implement this function as method into can_bus class /// @brief Check if the device is connected to an active CAN bus, i.e. it's received a message in the recent past. /// @return true if a message was received on the CAN bus within CAN_ACTIVE_TIMEOUT_S seconds. void logBusStatistics(can_bus_dev_t* buses, const int busCount); /// TODO: implement this function as method into can_bus class /// @brief Log transfer statistics about all active CAN buses to the debug log. /// @param[in] buses An array of active CAN buses. bool isBusActive(can_bus_dev_t* bus); */ };