[Tizen] Add WebView APIs for fullscreen, text found, etc. 35/315735/1
authordongsug.song <dongsug.song@samsung.com>
Wed, 31 Jul 2024 00:22:51 +0000 (09:22 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Wed, 7 Aug 2024 02:52:27 +0000 (11:52 +0900)
This reverts commit 4bffe731c903e29f6febe091329fa48d7f8d602b.

Change-Id: I42428cf66c83b1be6aef0fdd5a8665435c105a67

dali/devel-api/adaptor-framework/web-engine/web-engine-plugin.h
dali/devel-api/adaptor-framework/web-engine/web-engine.cpp
dali/devel-api/adaptor-framework/web-engine/web-engine.h
dali/internal/web-engine/common/web-engine-impl.cpp
dali/internal/web-engine/common/web-engine-impl.h

index 76be6a416d127ac18cdec15c51e8e329bcdaa017..7b344199632cab46ef2888018f1309506a1b44b6 100755 (executable)
@@ -165,6 +165,11 @@ public:
    */
   using WebEngineNavigationPolicyDecidedCallback = std::function<void(std::unique_ptr<Dali::WebEnginePolicyDecision>)>;
 
+  /**
+   * @brief WebView callback related with new window policy would be decided.
+   */
+  using WebEngineNewWindowPolicyDecidedCallback = std::function<void(std::unique_ptr<Dali::WebEnginePolicyDecision>)>;
+
   /**
    * @brief WebView callback related with a new window would be created.
    */
@@ -175,6 +180,21 @@ public:
    */
   using WebEngineHitTestCreatedCallback = std::function<bool(std::unique_ptr<Dali::WebEngineHitTest>)>;
 
+  /**
+   * @brief WebView callback called after fullscreen is entered.
+   */
+  using WebEngineFullscreenEnteredCallback = std::function<void(void)>;
+
+  /**
+   * @brief WebView callback called after fullscreen is exited.
+   */
+  using WebEngineFullscreenExitedCallback = std::function<void(void)>;
+
+  /**
+   * @brief WebView callback called after text is found.
+   */
+  using WebEngineTextFoundCallback = std::function<void(uint32_t)>;
+
   /**
    * @brief The callback to be called when the web engine received a plain text of current web page.
    */
@@ -761,6 +781,11 @@ public:
    */
   virtual bool SendWheelEvent(const WheelEvent& event) = 0;
 
+  /**
+   * @brief Exit fullscreen.
+   */
+  virtual void ExitFullscreen() = 0;
+
   /**
    * @brief Callback to be called when frame would be rendered.
    *
@@ -838,6 +863,13 @@ public:
    */
   virtual void RegisterNavigationPolicyDecidedCallback(WebEngineNavigationPolicyDecidedCallback callback) = 0;
 
+  /**
+   * @brief Callback to be called when new window policy would be decided.
+   *
+   * @param[in] callback
+   */
+  virtual void RegisterNewWindowPolicyDecidedCallback(WebEngineNewWindowPolicyDecidedCallback callback) = 0;
+
   /**
    * @brief Callback to be called when a new window would be created.
    *
@@ -880,6 +912,27 @@ public:
    */
   virtual void RegisterContextMenuHiddenCallback(WebEngineContextMenuHiddenCallback callback) = 0;
 
+  /**
+   * @brief Callback to be called when fullscreen would be entered.
+   *
+   * @param[in] callback
+   */
+  virtual void RegisterFullscreenEnteredCallback(WebEngineFullscreenEnteredCallback callback) = 0;
+
+  /**
+   * @brief Callback to be called when fullscreen would be exited.
+   *
+   * @param[in] callback
+   */
+  virtual void RegisterFullscreenExitedCallback(WebEngineFullscreenExitedCallback callback) = 0;
+
+  /**
+   * @brief Callback to be called when text would be found.
+   *
+   * @param[in] callback
+   */
+  virtual void RegisterTextFoundCallback(WebEngineTextFoundCallback callback) = 0;
+
   /**
    * @brief Get a plain text of current web page asynchronously.
    *
index dd7f96b649236aee713e916879e895e22fd3ec81..4d8fb89299165588452c18f7f7c5f42508d26b76 100755 (executable)
@@ -380,6 +380,11 @@ bool WebEngine::SendWheelEvent(const WheelEvent& event)
   return GetImplementation(*this).SendWheelEvent(event);
 }
 
+void WebEngine::ExitFullscreen()
+{
+  GetImplementation(*this).ExitFullscreen();
+}
+
 void WebEngine::SetFocus(bool focused)
 {
   GetImplementation(*this).SetFocus(focused);
@@ -540,6 +545,11 @@ void WebEngine::RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::W
   GetImplementation(*this).RegisterNavigationPolicyDecidedCallback(callback);
 }
 
+void WebEngine::RegisterNewWindowPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNewWindowPolicyDecidedCallback callback)
+{
+  GetImplementation(*this).RegisterNewWindowPolicyDecidedCallback(callback);
+}
+
 void WebEngine::RegisterNewWindowCreatedCallback(Dali::WebEnginePlugin::WebEngineNewWindowCreatedCallback callback)
 {
   GetImplementation(*this).RegisterNewWindowCreatedCallback(callback);
@@ -570,6 +580,21 @@ void WebEngine::RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngi
   GetImplementation(*this).RegisterContextMenuHiddenCallback(callback);
 }
 
+void WebEngine::RegisterFullscreenEnteredCallback(Dali::WebEnginePlugin::WebEngineFullscreenEnteredCallback callback)
+{
+  GetImplementation(*this).RegisterFullscreenEnteredCallback(callback);
+}
+
+void WebEngine::RegisterFullscreenExitedCallback(Dali::WebEnginePlugin::WebEngineFullscreenExitedCallback callback)
+{
+  GetImplementation(*this).RegisterFullscreenExitedCallback(callback);
+}
+
+void WebEngine::RegisterTextFoundCallback(Dali::WebEnginePlugin::WebEngineTextFoundCallback callback)
+{
+  GetImplementation(*this).RegisterTextFoundCallback(callback);
+}
+
 void WebEngine::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
 {
   GetImplementation(*this).GetPlainTextAsynchronously(callback);
index 1832247eb26668d84199e061bc722e674505dd80..bb62795db8142a3b8217ae0db6e013595aa2f6fd 100755 (executable)
@@ -666,6 +666,11 @@ public:
    */
   bool SendWheelEvent(const WheelEvent& event);
 
+  /**
+   * @brief Exit full-screen.
+   */
+  void ExitFullscreen();
+
   /**
    * @brief Callback to be called when frame would be rendered.
    *
@@ -743,6 +748,13 @@ public:
    */
   void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback);
 
+  /**
+   * @brief Callback to be called when new window policy would be decided.
+   *
+   * @param[in] callback
+   */
+  void RegisterNewWindowPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNewWindowPolicyDecidedCallback callback);
+
   /**
    * @brief Callback to be called when a new window would be created.
    *
@@ -785,6 +797,27 @@ public:
    */
   void RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback);
 
+  /**
+   * @brief Callback to be called when fullscreen would be entered.
+   *
+   * @param[in] callback
+   */
+  void RegisterFullscreenEnteredCallback(Dali::WebEnginePlugin::WebEngineFullscreenEnteredCallback callback);
+
+  /**
+   * @brief Callback to be called when fullscreen would be exited.
+   *
+   * @param[in] callback
+   */
+  void RegisterFullscreenExitedCallback(Dali::WebEnginePlugin::WebEngineFullscreenExitedCallback callback);
+
+  /**
+   * @brief Callback to be called when text would be found.
+   *
+   * @param[in] callback
+   */
+  void RegisterTextFoundCallback(Dali::WebEnginePlugin::WebEngineTextFoundCallback callback);
+
   /**
    * @brief Get a plain text of current web page asynchronously.
    *
index 7f759273b191b8a4f464cfeaa33c52429ddf9db2..2b557f1fae541561c6410c223665f4efa091e835 100644 (file)
@@ -695,6 +695,11 @@ bool WebEngine::SendWheelEvent(const Dali::WheelEvent& event)
   return mPlugin->SendWheelEvent(event);
 }
 
+void WebEngine::ExitFullscreen()
+{
+  mPlugin->ExitFullscreen();
+}
+
 void WebEngine::RegisterFrameRenderedCallback(Dali::WebEnginePlugin::WebEngineFrameRenderedCallback callback)
 {
   mPlugin->RegisterFrameRenderedCallback(callback);
@@ -750,6 +755,11 @@ void WebEngine::RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::W
   mPlugin->RegisterNavigationPolicyDecidedCallback(callback);
 }
 
+void WebEngine::RegisterNewWindowPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNewWindowPolicyDecidedCallback callback)
+{
+  mPlugin->RegisterNewWindowPolicyDecidedCallback(callback);
+}
+
 void WebEngine::RegisterNewWindowCreatedCallback(Dali::WebEnginePlugin::WebEngineNewWindowCreatedCallback callback)
 {
   mPlugin->RegisterNewWindowCreatedCallback(callback);
@@ -780,6 +790,21 @@ void WebEngine::RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngi
   mPlugin->RegisterContextMenuHiddenCallback(callback);
 }
 
+void WebEngine::RegisterFullscreenEnteredCallback(Dali::WebEnginePlugin::WebEngineFullscreenEnteredCallback callback)
+{
+  mPlugin->RegisterFullscreenEnteredCallback(callback);
+}
+
+void WebEngine::RegisterFullscreenExitedCallback(Dali::WebEnginePlugin::WebEngineFullscreenExitedCallback callback)
+{
+  mPlugin->RegisterFullscreenExitedCallback(callback);
+}
+
+void WebEngine::RegisterTextFoundCallback(Dali::WebEnginePlugin::WebEngineTextFoundCallback callback)
+{
+  mPlugin->RegisterTextFoundCallback(callback);
+}
+
 void WebEngine::GetPlainTextAsynchronously(Dali::WebEnginePlugin::PlainTextReceivedCallback callback)
 {
   mPlugin->GetPlainTextAsynchronously(callback);
index 77d4e06e7a9e0e3e1e07958b6ca63b3fc1e9d9bc..e356133174d2f093985c69c4d4451ffbbfb53e8d 100755 (executable)
@@ -472,6 +472,11 @@ public:
    */
   bool SendWheelEvent(const Dali::WheelEvent& event);
 
+  /**
+   * @copydoc Dali::WebEngine::ExitFullscreen()
+   */
+  void ExitFullscreen();
+
   /**
    @copydoc Dali::WebEngine::RegisterFrameRenderedCallback()
    */
@@ -527,6 +532,11 @@ public:
    */
   void RegisterNavigationPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNavigationPolicyDecidedCallback callback);
 
+  /**
+   @copydoc Dali::WebEngine::RegisterNewWindowPolicyDecidedCallback()
+   */
+  void RegisterNewWindowPolicyDecidedCallback(Dali::WebEnginePlugin::WebEngineNewWindowPolicyDecidedCallback callback);
+
   /**
    @copydoc Dali::WebEngine::RegisterNewWindowCreatedCallback()
    */
@@ -557,6 +567,21 @@ public:
    */
   void RegisterContextMenuHiddenCallback(Dali::WebEnginePlugin::WebEngineContextMenuHiddenCallback callback);
 
+  /**
+   * @copydoc Dali::WebEngine::RegisterFullscreenEnteredCallback()
+   */
+  void RegisterFullscreenEnteredCallback(Dali::WebEnginePlugin::WebEngineFullscreenEnteredCallback callback);
+
+  /**
+   * @copydoc Dali::WebEngine::RegisterFullscreenExitedCallback()
+   */
+  void RegisterFullscreenExitedCallback(Dali::WebEnginePlugin::WebEngineFullscreenExitedCallback callback);
+
+  /**
+   * @copydoc Dali::WebEngine::RegisterTextFoundCallback()
+   */
+  void RegisterTextFoundCallback(Dali::WebEnginePlugin::WebEngineTextFoundCallback callback);
+
   /**
    * @copydoc Dali::WebEngine::GetPlainTextAsynchronously()
    */