[M120 Migration][NUI] Add internal mouse event API for NUI.
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / public / ewk_view.cc
index 10b1b1a..f9bc785 100644 (file)
@@ -940,6 +940,16 @@ void ewk_view_unfocus_allow_callback_set(Evas_Object* ewkView, Ewk_View_Unfocus_
   impl->SetViewUnfocusAllowCallback(callback, user_data);
 }
 
+void ewk_view_smartrc_show_mic_notification_callback_set(Evas_Object* ewkView, Ewk_View_SmartRC_Mic_Notification_Callback callback, void* user_data)
+{
+#if BUILDFLAG(IS_TIZEN_TV)
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl);
+  impl->SetViewSmartrcMicNotificationCallback(callback, user_data);
+#else
+  LOG_EWK_API_MOCKUP("This API is only available in Tizen TV product.");
+#endif
+}
+
 void ewk_view_geolocation_permission_callback_set(Evas_Object* ewk_view, Ewk_View_Geolocation_Permission_Callback callback, void* user_data)
 {
   EWK_VIEW_IMPL_GET_OR_RETURN(ewk_view, impl);
@@ -1347,13 +1357,20 @@ void ewk_view_player_pause(
   LOG_EWK_API_MOCKUP();
 }
 
-#if BUILDFLAG(IS_TIZEN_TV)
 Eina_Bool ewk_media_translated_url_set(Evas_Object* ewkView, const char* url)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl, EINA_FALSE);
+  EINA_SAFETY_ON_NULL_RETURN_VAL(url, EINA_FALSE);
+  impl->SetTranslatedURL(url);
+  return EINA_TRUE;
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV.");
   return false;
+#endif
 }
 
+#if BUILDFLAG(IS_TIZEN_TV)
 Eina_Bool ewk_view_app_preload_set(Evas_Object* ewkView, Eina_Bool is_preload)
 {
   LOG_EWK_API_MOCKUP();
@@ -1638,14 +1655,26 @@ void ewk_view_widget_pepper_extension_info_set(Evas_Object* ewk_view, Ewk_Value
 #endif
 }
 
-void ewk_view_resume_network_loading(Evas_Object* ewkView)
+void ewk_view_resume_network_loading(Evas_Object* ewk_view)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+  LOG(INFO) << "view : " << ewk_view;
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewk_view, impl);
+  impl->ResumeNetworkLoading();
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV Browser");
+#endif
 }
 
-void ewk_view_suspend_network_loading(Evas_Object* ewkView)
+void ewk_view_suspend_network_loading(Evas_Object* ewk_view)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+  LOG(INFO) << "view : " << ewk_view;
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewk_view, impl);
+  impl->SuspendNetworkLoading();
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV Browser");
+#endif
 }
 
 void ewk_view_offscreen_rendering_enabled_set(Evas_Object* o, Eina_Bool enabled)
@@ -1653,6 +1682,9 @@ void ewk_view_offscreen_rendering_enabled_set(Evas_Object* o, Eina_Bool enabled)
 #if defined(TIZEN_TBM_SUPPORT)
   EWK_VIEW_IMPL_GET_OR_RETURN(o, impl);
   impl->SetOffscreenRendering(enabled);
+#if defined(TIZEN_VIDEO_HOLE)
+  media::VideoPlaneController::set_use_wayland_window(true);
+#endif
 #else
   LOG_EWK_API_MOCKUP();
 #endif
@@ -1663,11 +1695,6 @@ void ewk_view_ime_window_set(Evas_Object* o, void* window)
   LOG_EWK_API_MOCKUP();
 }
 
-void ewk_view_smartrc_show_mic_notification_callback_set(Evas_Object* o, Ewk_View_SmartRC_Mic_Notification_Callback callback, void* user_data)
-{
-  LOG_EWK_API_MOCKUP();
-}
-
 Eina_Bool ewk_view_set_support_canvas_hole(Evas_Object* ewkView, const char* url)
 {
   LOG_EWK_API_MOCKUP();
@@ -1693,8 +1720,15 @@ Eina_Bool ewk_view_key_system_whitelist_set(Evas_Object* ewkView, const char** l
 
 Eina_Bool ewk_view_is_video_playing(Evas_Object* o, Ewk_Is_Video_Playing_Callback callback, void* user_data)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+  EWK_VIEW_IMPL_GET_OR_RETURN(o, impl, EINA_FALSE);
+  EINA_SAFETY_ON_NULL_RETURN_VAL(callback, EINA_FALSE);
+  LOG(INFO) << __func__;
+  return impl->IsVideoPlaying(callback, user_data) ? EINA_TRUE : EINA_FALSE;
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV.");
   return EINA_FALSE;
+#endif
 }
 
 Eina_Bool ewk_view_stop_video(Evas_Object* o, Ewk_Stop_Video_Callback callback, void* user_data)
@@ -1724,23 +1758,43 @@ void ewk_view_broadcast_decoder_set(
 
 void ewk_media_set_subtitle_lang(Evas_Object* ewkView, const char* lang_list)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+    EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl);
+    impl->SetPreferSubtitleLang(lang_list);
+#else
+    LOG_EWK_API_MOCKUP("Only for Tizen TV.");
+#endif
 }
 
 void ewk_media_set_parental_rating_result(Evas_Object* ewkView, const char* url, Eina_Bool is_pass)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl);
+  impl->SetParentalRatingResult(url, is_pass);
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV.");
+#endif
 }
 
-void ewk_media_start_with_high_bit_rate(Evas_Object* ewkView, Eina_Bool is_high_bitrate)
+void ewk_media_start_with_high_bit_rate(Evas_Object* ewkView, Eina_Bool high_bitrate)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl);
+  impl->SetHighBitRate(high_bitrate);
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV.");
+#endif
 }
 
 double ewk_view_media_current_time_get(const Evas_Object *o)
 {
-  LOG_EWK_API_MOCKUP();
+#if BUILDFLAG(IS_TIZEN_TV)
+  EWK_VIEW_IMPL_GET_OR_RETURN(o, impl, 0);
+  return impl->GetCurrentTime();
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV.");
   return 0;
+#endif
 }
 
 void ewk_view_request_canvas_fullscreen(Evas_Object* ewkView)
@@ -1819,18 +1873,22 @@ void ewk_view_feed_mouse_down(Evas_Object* view,
                               Ewk_Mouse_Button_Type button,
                               int x,
                               int y) {
-  LOG_EWK_API_MOCKUP("NUI feature is not enabled");
+  EWK_VIEW_IMPL_GET_OR_RETURN(view, impl);
+  LOG(INFO) << "ewk_view_feed_mouse_down";
+  impl->SendMouseDown(button, x, y);
 }
 
 void ewk_view_feed_mouse_up(Evas_Object* view,
                             Ewk_Mouse_Button_Type button,
                             int x,
                             int y) {
-  LOG_EWK_API_MOCKUP("NUI feature is not enabled");
+  EWK_VIEW_IMPL_GET_OR_RETURN(view, impl);
+  impl->SendMouseUp(button, x, y);
 }
 
 void ewk_view_feed_mouse_move(Evas_Object* view, int x, int y) {
-  LOG_EWK_API_MOCKUP("NUI feature is not enabled");
+  EWK_VIEW_IMPL_GET_OR_RETURN(view, impl);
+  impl->SendMouseMove(x, y);
 }
 
 void ewk_view_feed_mouse_wheel(Evas_Object* view,
@@ -1838,9 +1896,14 @@ void ewk_view_feed_mouse_wheel(Evas_Object* view,
                                int step,
                                int x,
                                int y) {
-  LOG_EWK_API_MOCKUP("NUI feature is not enabled");
+  EWK_VIEW_IMPL_GET_OR_RETURN(view, impl);
+  impl->SendMouseWheel(!!y_direction, step, x, y);
 }
 
+void ewk_view_feed_mouse_out(Evas_Object* view) {
+  EWK_VIEW_IMPL_GET_OR_RETURN(view, impl);
+  impl->SendMouseOut();
+}
 void ewk_view_auto_login(Evas_Object *view, const char* user_name, const char* password)
 {
   LOG_EWK_API_MOCKUP("This API is not supported.");
@@ -1854,7 +1917,14 @@ void ewk_view_request_manifest(Evas_Object* o,
 }
 
 void ewk_view_media_device_list_get(Evas_Object* o, Ewk_Media_Device_List_Get_Callback callback, void* user_data) {
-  //TODO
+#if BUILDFLAG(IS_TIZEN_TV)
+  LOG(INFO) << "ewk_view_media_device_list_get called";
+  EWK_VIEW_IMPL_GET_OR_RETURN(o, impl);
+  EINA_SAFETY_ON_NULL_RETURN(callback);
+  impl->GetMediaDeviceList(callback, user_data);
+#else
+  LOG_EWK_API_MOCKUP("Only for Tizen TV.");
+#endif
 }
 
 void ewk_view_run_mixed_content_confirm_callback_set(