[Tizen] Set focus to ewk view. 46/250946/1 accepted/tizen/6.0/unified/20210114.121922 submit/tizen_6.0/20210114.052723
authorhuayong.xu <huayong.xu@samsung.com>
Thu, 12 Nov 2020 06:20:18 +0000 (14:20 +0800)
committerJiyun Yang <ji.yang@samsung.com>
Wed, 6 Jan 2021 04:36:29 +0000 (13:36 +0900)
Set focus to ewk view and evas window when web view is focused.

Change-Id: I8d3ee6070afe3bf9bd1928fb1231579bc54bc96d

dali-extension/web-engine-chromium/tizen-web-engine-chromium.cpp
dali-extension/web-engine-chromium/tizen-web-engine-chromium.h
dali-extension/web-engine-lwe/tizen-web-engine-lwe.cpp
dali-extension/web-engine-lwe/tizen-web-engine-lwe.h

index 060a242..b1deae6 100644 (file)
@@ -163,7 +163,6 @@ public:
   void LoadUrl( const std::string& url )
   {
     ewk_view_url_set( mWebView, url.c_str() );
-    ewk_view_focus_set( mWebView, true );
   }
 
   void LoadHtml( const std::string& html )
@@ -395,6 +394,12 @@ public:
      return false;
   }
 
+  void SetFocus( bool focused )
+  {
+    ecore_evas_focus_set( WebEngineManager::Get().GetWindow(), focused );
+    ewk_view_focus_set( mWebView, focused );
+  }
+
 private:
   static void OnFrameRendered( void* data, Evas_Object*, void* buffer )
   {
@@ -831,6 +836,14 @@ bool TizenWebEngineChromium::SendKeyEvent( const Dali::KeyEvent& event )
   return false;
 }
 
+void TizenWebEngineChromium::SetFocus( bool focused )
+{
+  if( mWebViewContainer )
+  {
+    return mWebViewContainer->SetFocus( focused );
+  }
+}
+
 Dali::WebEnginePlugin::WebEnginePageLoadSignalType& TizenWebEngineChromium::PageLoadStartedSignal()
 {
   return mLoadStartedSignal;
index 2aca277..bcaeed2 100644 (file)
@@ -287,6 +287,11 @@ public:
   bool SendKeyEvent( const Dali::KeyEvent& event ) override;
 
   /**
+   * @copydoc Dali::WebEnginePlugin::SetFocus()
+   */
+  void SetFocus( bool focused ) override;
+
+  /**
    * @copydoc Dali::WebEnginePlugin::PageLoadStartedSignal()
    */
   Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadStartedSignal() override;
index c0b389d..4d4ef0b 100644 (file)
@@ -806,6 +806,11 @@ bool TizenWebEngineLWE::SendKeyEvent( const Dali::KeyEvent& event )
   return false;
 }
 
+void TizenWebEngineLWE::SetFocus( bool focused )
+{
+  // NOT IMPLEMENTED
+}
+
 } // namespace Plugin
 } // namespace Dali
 
index 7fa5d7e..1921d21 100644 (file)
@@ -243,6 +243,11 @@ public:
   bool SendKeyEvent( const Dali::KeyEvent& event ) override;
 
   /**
+   * @copydoc Dali::WebEnginePlugin::SetFocus()
+   */
+  void SetFocus( bool focused ) override;
+
+  /**
    * @copydoc Dali::WebEnginePlugin::PageLoadStartedSignal()
    */
   Dali::WebEnginePlugin::WebEnginePageLoadSignalType& PageLoadStartedSignal() override