Update WebView related modifications at once 23/316623/2
authorJiyun Yang <ji.yang@samsung.com>
Wed, 21 Aug 2024 04:32:51 +0000 (13:32 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Mon, 26 Aug 2024 05:11:35 +0000 (14:11 +0900)
the following is the list of squashed 4 patches

Fix VOA crash issue

This reverts commit 199adec5b55d802ea0627c04066fc5d2230675c9.

Change-Id: If810560a60bba309f9bb9dd94bc23c793622f396

Update WebView changes from tizen_7.0

This reverts commit 46fd5440938949a62af9636cc26beeb686fe8125.

Change-Id: I958adfbf078a631ab9ab9df95f99fe264d329907

Add WebView Certificate policy decision error get and suspend

Change-Id: I3f27591869684e4743add0fc5d036d9f7e53733c

Add WebView's JavascriptMessageHandler callback

- JavascriptMessageHandler callback which has two arguments of msg name and body

Change-Id: Ib4ee5144411e248ec4cd15c6d0e8b2ffe762d663

dali-csharp-binder/dali-toolkit/web-view-wrap.cpp
dali-csharp-binder/widget-viewer-dali/widget-view-manager-wrap.cpp
dali-csharp-binder/widget-viewer-dali/widget-view-wrap.cpp

index 05702ac..8a606b1 100755 (executable)
@@ -225,6 +225,16 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_GetBackForwardList(void * jarg
   return jresult;
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ChangeOrientation(void * jarg1, int orientation) {
+  Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)jarg1;
+
+  {
+    try {
+      arg1->ChangeOrientation(orientation);
+    } CALL_CATCH_EXCEPTION();
+  }
+}
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WebView_GetSettings(void * jarg1) {
   void * jresult;
   Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)0;
@@ -636,6 +646,25 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_AddJavaScriptMessageHandler(void
   }
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_AddJavaScriptEntireMessageHandler(void * jarg1, char * jarg2, void * jarg3) {
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return;
+  }
+
+  Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*)jarg1;
+  std::string exposedObjectName = jarg2;
+  void (*handler)(char*, char*) = (void (*)(char*, char*))jarg3;
+
+  {
+    try {
+      webview->AddJavaScriptEntireMessageHandler(exposedObjectName, [handler](const std::string &messageName, const std::string &messageBody) {
+            handler(SWIG_csharp_string_callback(messageName.c_str()), SWIG_csharp_string_callback(messageBody.c_str()));
+          });
+    } CALL_CATCH_EXCEPTION();
+  }
+}
+
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterJavaScriptAlertCallback(void * jarg1, void * jarg2) {
   Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*)jarg1;
   bool (*handler)(const char*) = (bool (*)(const char*))jarg2;
@@ -752,6 +781,17 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebView_CreateHitTestAsynchronously(void
   return result;
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ExitFullscreen(void * jarg1) {
+  Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)0;
+
+  arg1 = (Dali::Toolkit::WebView*)jarg1;
+  {
+    try {
+      (arg1)->ExitFullscreen();
+    } CALL_CATCH_EXCEPTION();
+  }
+}
+
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_ClearHistory(void * jarg1) {
   Dali::Toolkit::WebView* arg1 = (Dali::Toolkit::WebView*)0;
 
@@ -1124,6 +1164,25 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterNavigationPolicyDecidedC
   }
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterNewWindowPolicyDecidedCallback(void * jarg1, void * jarg2) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1;
+  void (*handler)(Dali::WebEnginePolicyDecision*) = (void (*)(Dali::WebEnginePolicyDecision*))jarg2;
+  {
+    try {
+      if (handler)
+      {
+        (arg1)->RegisterNewWindowPolicyDecidedCallback([handler](std::unique_ptr<Dali::WebEnginePolicyDecision> decision) {
+            handler(decision.release());
+          });
+      }
+      else
+      {
+        (arg1)->RegisterNewWindowPolicyDecidedCallback(nullptr);
+      }
+    } CALL_CATCH_EXCEPTION();
+  }
+}
+
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterNewWindowCreatedCallback(void * jarg1, void * jarg2) {
   Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1;
   void (*handler)(Dali::Toolkit::WebView*&) = (void (*)(Dali::Toolkit::WebView*&))jarg2;
@@ -1243,6 +1302,63 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterContextMenuHiddenCallbac
   }
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterFullscreenEnteredCallback(void * jarg1, void * jarg2) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1;
+  void (*handler)(void) = (void (*)(void))jarg2;
+  {
+    try {
+      if (handler)
+      {
+        (arg1)->RegisterFullscreenEnteredCallback([handler](void) {
+            handler();
+          });
+      }
+      else
+      {
+        (arg1)->RegisterFullscreenEnteredCallback(nullptr);
+      }
+    } CALL_CATCH_EXCEPTION();
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterFullscreenExitedCallback(void * jarg1, void * jarg2) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1;
+  void (*handler)(void) = (void (*)(void))jarg2;
+  {
+    try {
+      if (handler)
+      {
+        (arg1)->RegisterFullscreenExitedCallback([handler](void) {
+            handler();
+          });
+      }
+      else
+      {
+        (arg1)->RegisterFullscreenExitedCallback(nullptr);
+      }
+    } CALL_CATCH_EXCEPTION();
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_RegisterTextFoundCallback(void * jarg1, void * jarg2) {
+  Dali::Toolkit::WebView *arg1 = (Dali::Toolkit::WebView *)jarg1;
+  void (*handler)(uint32_t) = (void (*)(uint32_t))jarg2;
+  {
+    try {
+      if (handler)
+      {
+        (arg1)->RegisterTextFoundCallback([handler](uint32_t count) {
+            handler(count);
+          });
+      }
+      else
+      {
+        (arg1)->RegisterTextFoundCallback(nullptr);
+      }
+    } CALL_CATCH_EXCEPTION();
+  }
+}
+
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebView_GetPlainTextAsynchronously(void * nuiWebView, void * nuiCallback) {
   Dali::Toolkit::WebView *webview = (Dali::Toolkit::WebView *)nuiWebView;
   void (*handler)(const char*) = (void (*)(const char*))nuiCallback;
@@ -1542,6 +1658,28 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebCertificate_IsContextSecure(void * ja
   return ret;
 }
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WebCertificate_GetPolicyDecisionError(void * jarg1) {
+  Dali::WebEngineCertificate* arg1 = (Dali::WebEngineCertificate*)jarg1;
+  int ret = 1000;
+  {
+    try {
+      ret = (arg1)->GetPolicyDecisionError();
+    } CALL_CATCH_EXCEPTION(1000);
+  }
+  return ret;
+}
+
+SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_WebCertificate_SuspendPolicyDecision(void * jarg1) {
+  Dali::WebEngineCertificate* arg1 = (Dali::WebEngineCertificate*)jarg1;
+  bool ret = false;
+  {
+    try {
+      ret = (arg1)->SuspendPolicyDecision();
+    } CALL_CATCH_EXCEPTION(0);
+  }
+  return ret;
+}
+
 //----------------------------------WebContext-----------------------------------------------------
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WebContext_GetCacheModel(void * jarg1) {
   Dali::WebEngineContext *arg1 = (Dali::WebEngineContext *)0;
index efc20f4..de61c05 100755 (executable)
@@ -27,6 +27,27 @@ extern "C"
 {
 #endif
 
+  SWIGEXPORT Dali::BaseHandle *SWIGSTDCALL CSharp_Dali_WidgetViewManager_SWIGUpcast(Dali::WidgetView::WidgetViewManager *jarg1)
+  {
+    return (Dali::BaseHandle *)jarg1;
+  }
+
+  SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_new_WidgetViewManager__SWIG_0()
+  {
+    void *jresult;
+    Dali::WidgetView::WidgetViewManager *result = 0;
+
+    {
+      try
+      {
+        result = (Dali::WidgetView::WidgetViewManager *)new Dali::WidgetView::WidgetViewManager();
+      }
+      CALL_CATCH_EXCEPTION(0);
+    }
+
+    jresult = (void *)result;
+    return jresult;
+  }
 
   SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_WidgetViewManager_New(void *jarg1, char *jarg2)
   {
index 4e1dcd3..28db470 100755 (executable)
@@ -42,6 +42,50 @@ extern "C" {
 #endif
 
 
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_WidgetView_SWIGUpcast(Dali::WidgetView::WidgetView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WidgetView_Property() {
+  void * jresult ;
+  Dali::WidgetView::WidgetView::Property *result = 0 ;
+
+  {
+    try {
+      result = (Dali::WidgetView::WidgetView::Property *)new Dali::WidgetView::WidgetView::Property();
+    } CALL_CATCH_EXCEPTION(0);
+  }
+
+  jresult = (void *)result;
+  return jresult;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WidgetView_Property(void * jarg1) {
+  Dali::WidgetView::WidgetView::Property *arg1 = (Dali::WidgetView::WidgetView::Property *) 0 ;
+
+  arg1 = (Dali::WidgetView::WidgetView::Property *)jarg1;
+  {
+    try {
+      delete arg1;
+    } CALL_CATCH_EXCEPTION();
+  }
+
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WidgetView__SWIG_0() {
+  void * jresult ;
+  Dali::WidgetView::WidgetView *result = 0 ;
+
+  {
+    try {
+      result = (Dali::WidgetView::WidgetView *)new Dali::WidgetView::WidgetView();
+    } CALL_CATCH_EXCEPTION(0);
+  }
+
+  jresult = (void *)result;
+  return jresult;
+}
+
 SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WidgetView_Property_WIDGET_ID_get() {
   int jresult ;
   int result;