summaryrefslogtreecommitdiffstats
path: root/recipes-wam/cef/files/cef/0008-Add-the-SetActivateRegion-method.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-wam/cef/files/cef/0008-Add-the-SetActivateRegion-method.patch')
-rw-r--r--recipes-wam/cef/files/cef/0008-Add-the-SetActivateRegion-method.patch103
1 files changed, 103 insertions, 0 deletions
diff --git a/recipes-wam/cef/files/cef/0008-Add-the-SetActivateRegion-method.patch b/recipes-wam/cef/files/cef/0008-Add-the-SetActivateRegion-method.patch
new file mode 100644
index 00000000..ecc806a2
--- /dev/null
+++ b/recipes-wam/cef/files/cef/0008-Add-the-SetActivateRegion-method.patch
@@ -0,0 +1,103 @@
+From fcbb9bc7c390f2b9ab54c9f8996140ff83b46538 Mon Sep 17 00:00:00 2001
+From: Roger Zanoni <rzanoni@igalia.com>
+Date: Sun, 2 Jul 2023 12:08:59 +0200
+Subject: [PATCH 08/10] Add the SetActivateRegion method
+
+---
+ include/views/cef_window.h | 6 ++++++
+ libcef/browser/views/view_util.h | 1 +
+ libcef/browser/views/view_util_aura.cc | 17 +++++++++++++++++
+ libcef/browser/views/window_impl.cc | 7 +++++++
+ libcef/browser/views/window_impl.h | 1 +
+ 5 files changed, 32 insertions(+)
+
+diff --git a/include/views/cef_window.h b/include/views/cef_window.h
+index 063529964..52ccb7dc5 100644
+--- a/include/views/cef_window.h
++++ b/include/views/cef_window.h
+@@ -387,6 +387,12 @@ class CefWindow : public CefPanel {
+ /*--cef()--*/
+ virtual bool IsSurfaceConfigured() = 0;
+
++ ///
++ /// A hint for the compositor to use a custom area, rather than inferring the activation area.
++ ///
++ /*--cef()--*/
++ virtual void SetupActivationArea(uint32_t x, uint32_t y, uint32_t width, uint32_t height) = 0;
++
+ // -----------------
+ };
+
+diff --git a/libcef/browser/views/view_util.h b/libcef/browser/views/view_util.h
+index 20b97038b..76c023254 100644
+--- a/libcef/browser/views/view_util.h
++++ b/libcef/browser/views/view_util.h
+@@ -149,6 +149,7 @@ void AglSetAppReady(views::Widget* widget);
+ void AglSetBackGroundApp(views::Widget* widget);
+ void AglSetPanelApp(views::Widget* widget, uint32_t edge);
+ bool IsSurfaceConfigured(views::Widget* widget);
++void SetupActivationArea(views::Widget* widget, uint32_t x, uint32_t y, uint32_t width, uint32_t height);
+
+ // -----------------
+
+diff --git a/libcef/browser/views/view_util_aura.cc b/libcef/browser/views/view_util_aura.cc
+index b5b4f414b..96e44dbb6 100644
+--- a/libcef/browser/views/view_util_aura.cc
++++ b/libcef/browser/views/view_util_aura.cc
+@@ -101,6 +101,23 @@ bool IsSurfaceConfigured(views::Widget* widget) {
+ }
+ }
+
++void SetupActivationArea(views::Widget* widget,
++ uint32_t x,
++ uint32_t y,
++ uint32_t width,
++ uint32_t height) {
++ if (!widget) {
++ return;
++ }
++ aura::Window* window = widget->GetNativeWindow();
++ if (window && window->GetRootWindow()) {
++ window->GetHost()->SetupActivationArea(x,
++ y,
++ width,
++ height);
++ }
++}
++
+ // -----------------
+
+ } // namespace view_util
+diff --git a/libcef/browser/views/window_impl.cc b/libcef/browser/views/window_impl.cc
+index 1b5d196ab..485943ec6 100644
+--- a/libcef/browser/views/window_impl.cc
++++ b/libcef/browser/views/window_impl.cc
+@@ -548,6 +548,13 @@ bool CefWindowImpl::IsSurfaceConfigured() {
+ return view_util::IsSurfaceConfigured(widget_);
+ }
+
++void CefWindowImpl::SetupActivationArea(uint32_t x,
++ uint32_t y,
++ uint32_t width,
++ uint32_t height) {
++ view_util::SetupActivationArea(widget_, x, y, width, height);
++}
++
+ // -----------------
+
+ void CefWindowImpl::SendKeyPress(int key_code, uint32 event_flags) {
+diff --git a/libcef/browser/views/window_impl.h b/libcef/browser/views/window_impl.h
+index 4ab77dbe6..89c136873 100644
+--- a/libcef/browser/views/window_impl.h
++++ b/libcef/browser/views/window_impl.h
+@@ -140,6 +140,7 @@ class CefWindowImpl
+ void AglSetBackGroundApp() override;
+ void AglSetPanelApp(uint32_t edge) override;
+ bool IsSurfaceConfigured() override;
++ void SetupActivationArea(uint32_t x, uint32_t y, uint32_t width, uint32_t height) override;
+
+ // -----------------
+
+--
+2.39.2
+