[M108 Migration] [!fixup] Set EflWindow bounds while received parent view resize... 98/289198/2
authorqiang.ji <qiang.ji@samsung.com>
Thu, 2 Mar 2023 09:59:47 +0000 (17:59 +0800)
committerDae-Hyun Ko <dhyuna.ko@samsung.com>
Sun, 5 Mar 2023 06:30:30 +0000 (06:30 +0000)
1. We have two ways to set Efl window bounds/ Gpu thread output surface
size. One is InitCompositor, the other is OnParentViewResize in
RenderWidgetHostViewAuraHelperEfl.
2. In current state, EwebView resize event is coming before
RenderWidgetHostViewAuraHelperEfl creation, so we cannot call
OnParentViewResize to set correct bounds. This will cause main thread
's output surface size dismatch with gpu thread.

Solution: Manually to call SetBoundsInPixels to set bounds even
RenderWidgetHostViewAuraHelperEfl is not created yet

refs:
https://review.tizen.org/gerrit/#/c/282220/

Change-Id: I8e75694c9864a65add80d58791c8d92eb4c73233
Signed-off-by: qiang.ji <qiang.ji@samsung.com>
tizen_src/ewk/efl_integration/eweb_view.cc

index 42aa735..c4255ef 100644 (file)
@@ -2776,6 +2776,15 @@ bool EWebView::HandleResize(int width, int height) {
     ScrollFocusedNodeIntoView();
   }
 
+#if defined(USE_AURA) && BUILDFLAG(IS_TIZEN_TV)
+  if (host_) {
+    int x, y;
+    evas_object_geometry_get(native_view_, &x, &y, nullptr, nullptr);
+    gfx::Rect bounds(x, y, width, height);
+    host_->SetBoundsInPixels(bounds);
+  }
+#endif
+
   return true;
 }