[Tizen] Add WebView APIs for fullscreen, text found, etc. 16/299816/3 accepted/tizen/7.0/unified/20231018.172240 accepted/tizen/7.0/unified/20231024.025401
authorhuayong.xu <huayong.xu@samsung.com>
Tue, 10 Oct 2023 12:12:21 +0000 (20:12 +0800)
committerhuayong.xu <huayong.xu@samsung.com>
Thu, 12 Oct 2023 11:27:27 +0000 (19:27 +0800)
Change-Id: I4d8f16f7524b3db2d87d5eaaa9e8fa0e227c3343

dali-csharp-binder/src/web-view-wrap.cpp

index 1e01d59..40e7ef9 100755 (executable)
@@ -752,6 +752,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 +1135,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 +1273,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 (*callback)(char*) = (void (*)(char*))nuiCallback;