fixup! [WebRTC] Fix overlay video position in Browser 60/315960/3
authorMichal Jurkiewicz <m.jurkiewicz@samsung.com>
Thu, 5 Dec 2024 16:51:10 +0000 (17:51 +0100)
committerBot Blink <blinkbot@samsung.com>
Mon, 9 Dec 2024 09:26:02 +0000 (09:26 +0000)
Add missing CommitZOrderChanges to ensure, that
layers order is properly applied.

Bug: https://jira-eu.sec.samsung.net/browse/VDGAME-626
Change-Id: I7b8b5f1457410033518672703fbf5216864e7071
Signed-off-by: Michal Jurkiewicz <m.jurkiewicz@samsung.com>
components/viz/service/display/overlay_processor_tizen.cc
tizen_src/chromium_impl/ui/ozone/platform/efl/video_controller.cc
tizen_src/chromium_impl/ui/ozone/platform/efl/video_controller.h

index 3853c9ba800fe5987d3f2d9282429c87e9a6a139..506c0e2d43fb5a644e9960a390225943faebe9fa 100644 (file)
@@ -22,6 +22,7 @@
 #include "ui/gfx/overlay_plane_data.h"
 #include "ui/ozone/platform/efl/efl_surface_factory.h"
 #include "ui/ozone/platform/efl/tizen_native_pixmap.h"
+#include "ui/ozone/platform/efl/video_controller.h"
 #include "ui/ozone/public/ozone_platform.h"
 
 namespace viz {
@@ -790,6 +791,8 @@ void OverlayProcessorTizen::ApplyOverlays(
       it->second->SetBelowParent();
     }
   }
+
+  ui::VideoController::GetInstance()->CommitZOrderChanges();
 }
 
 }  // namespace viz
index a07e2aac9be55486ad0d79569450ab4d612123fa..c6f66d4e507f0dca064d55253e937c123715c89f 100644 (file)
@@ -33,6 +33,14 @@ void VideoController::Wl2SubsurfaceDeleter::operator()(
   ecore_wl2_subsurface_del(subsurface);
 }
 
+void VideoController::CommitZOrderChanges() {
+  if (!last_wl_subsurface_) {
+    return;
+  }
+
+  ecore_wl2_subsurface_exported_surface_commit(last_wl_subsurface_.get());
+}
+
 Ecore_Wl2_Subsurface* VideoController::GetOrCreateWaylandVideoSubSurface() {
   if (last_wl_subsurface_) {
     return last_wl_subsurface_.get();
index 066a8edfbd8d1c9bf40f6e67f811bfd8306cba60..c7bfc01fcd927a4353465f4916c79de0142ca934 100644 (file)
@@ -19,6 +19,7 @@ class VideoController {
 
   [[nodiscard]] Ecore_Wl2_Subsurface* GetOrCreateWaylandVideoSubSurface();
 
+  void CommitZOrderChanges();
   void RegisterWaylandWindow(Ecore_Wl2_Window* wayland_window);
   void RegisterWaylandWindow(Evas_Object* window_object);
   bool HasRegisteredWaylandWindow() const { return last_ww_; }