[M108 Migration][WRTjs][VD] Refactor key event handler 00/289300/4
authorzhaosy <shiyusy.zhao@samsung.com>
Mon, 6 Mar 2023 04:56:36 +0000 (12:56 +0800)
committerBot Blink <blinkbot@samsung.com>
Mon, 6 Mar 2023 09:01:50 +0000 (09:01 +0000)
RenderWidgetHostViewEfl is removed in Aura, so in EflEventHandler
check registered keys and device names.

Reference Patch:
https://review.tizen.org/gerrit/281297/

Change-Id: I2d4eb524baa6c89998490172b0106dd24afa7f58
Signed-off-by: zhaosy <shiyusy.zhao@samsung.com>
tizen_src/chromium_impl/ui/ozone/platform/efl/efl_event_handler.cc
tizen_src/chromium_impl/ui/ozone/platform/efl/efl_event_handler.h
wrt/src/browser/tv/input_device_manager.cc

index c07f30e..bd18307 100644 (file)
@@ -580,6 +580,13 @@ void EflEventHandler::OnKeyDown(void* data,
   LOG(INFO) << "Before consumed check (Key Name: " << key_down->key
             << ", Key State: Down)";
 
+#if BUILDFLAG(IS_TIZEN_TV)
+  if (!thiz->key_event_checker_.is_null() &&
+      !thiz->key_event_checker_.Run(event_info, true)) {
+    return;
+  }
+#endif
+
 #if BUILDFLAG(IS_TIZEN)
   if (IsMobileProfile() || IsTvProfile()) {
     if (thiz->FilterIMEKeyDownEvent(key_down)) {
@@ -626,6 +633,13 @@ void EflEventHandler::OnKeyUp(void* data,
   LOG(INFO) << "Before consumed check (Key Name: " << key_up->key
             << ", Key State: Up)";
 
+#if BUILDFLAG(IS_TIZEN_TV)
+  if (!thiz->key_event_checker_.is_null() &&
+      !thiz->key_event_checker_.Run(event_info, false)) {
+    return;
+  }
+#endif
+
 #if BUILDFLAG(IS_TIZEN)
   if (IsMobileProfile() || IsTvProfile()) {
     if (thiz->FilterIMEKeyUpEvent(key_up)) {
@@ -778,6 +792,11 @@ void EflEventHandler::ConvertUpToReturnBackIfNeeded(EVT* evt, bool is_press) {
                  "same as Return Back key!";
   }
 }
+
+void EflEventHandler::SetKeyEventChecker(
+    const base::RepeatingCallback<bool(void*, bool)>& checker) {
+  key_event_checker_ = checker;
+}
 #endif
 
 void EflEventHandler::OnMultiTouchDownEvent(void* data,
index cbeb94e..f717f12 100644 (file)
@@ -57,6 +57,11 @@ class EflEventHandler {
   }
   IMContextEfl* GetIMContextEfl() { return im_context_efl_; }
 
+#if BUILDFLAG(IS_TIZEN_TV)
+   void SetKeyEventChecker(
+       const base::RepeatingCallback<bool(void*, bool)>& checker);
+#endif
+
  private:
   void RegisterCallbacks();
   void AddTouchCallbacks();
@@ -102,6 +107,10 @@ class EflEventHandler {
   EflWindow* window_ = nullptr;
   Evas_Object* native_view_ = nullptr;
   IMContextEfl* im_context_efl_ = nullptr;
+
+#if BUILDFLAG(IS_TIZEN_TV)
+  base::RepeatingCallback<bool(void*, bool)> key_event_checker_;
+#endif
 };
 
 }  // namespace ui
index 72a3336..fa3d6d5 100644 (file)
@@ -272,11 +272,9 @@ void InputDeviceManager::SetKeyEventChecker(
   LOG(INFO) << "SetKeyEventChecker";
   if (event_handler_ != event_handler) {
     event_handler_ = event_handler;
-#if !defined(WRT_JS_BRINGUP)
     event_handler_->SetKeyEventChecker(
         base::BindRepeating(&InputDeviceManager::CheckRegisteredKey,
                             base::Unretained(this)));
-#endif
   }
 }