[M69 Dev][TV] Support cursor of mini browser and efl_web_view. 78/192978/3
authorYoungsoo Choi <kenshin.choi@samsung.com>
Mon, 16 Apr 2018 12:38:13 +0000 (20:38 +0800)
committerBot Blink <blinkbot@samsung.com>
Wed, 14 Nov 2018 05:53:10 +0000 (05:53 +0000)
This patch is migrated from m56 beta:
https://review.tizen.org/gerrit/#/c/122123/

Mouse doesn't work in the TV Product Mini Browser
and efl_webview_app.
Wayland API calls related to the mouse when the TV Product.

guide: http://goo.gl/PqaFI1

Change-Id: I38c742198207afa80d3d848b6fb2c3bde02f7714
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
packaging/chromium-efl.spec
tizen_src/build/BUILD.gn
tizen_src/ewk/efl_webview_app/BUILD.gn
tizen_src/ewk/efl_webview_app/app.c
tizen_src/ewk/efl_webview_app/mini_browser.c
tizen_src/ewk/ubrowser/window.cc
tizen_src/ewk/ubrowser/window.h

index c2aedf9..ec94c74 100644 (file)
@@ -118,6 +118,10 @@ BuildRequires: pkgconfig(xfixes)
 BuildRequires: pkgconfig(xtst)
 %endif
 
+%if "%{?tizen_profile_name}" == "tv"
+BuildRequires: pkgconfig(vd-win-util)
+%endif
+
 # TODO(youngsoo): The binutils-gold crashes mini_browser on the Tizen v3.0 ARM 64 bit images.
 #                 Once fixed, use binutils-gold for all targets on Tizen v3.0.
 %ifnarch aarch64 %{arm} # [M48_2564] Temporary excluding arm architecture for fixing memory issue
index 8b0068a..4fffe95 100644 (file)
@@ -597,3 +597,16 @@ if (is_tizen) {
 config("tizen_tzplatform_config-public") {
   cflags = [ "-libtzplatform-config" ]
 }
+
+config("vd-win-util") {
+  if (tizen_product_tv && use_wayland) {
+    ldflags = [ "-lvd-win-util" ]
+  }
+}
+
+tizen_pkg_config("libvd-win-util") {
+  packages = []
+  if (tizen_product_tv && use_wayland) {
+    packages = [ "vd-win-util" ]
+  }
+}
index 7de233b..2af3acb 100644 (file)
@@ -52,6 +52,9 @@ executable("efl_webview_app") {
     configs += [ "//tizen_src/build:libecore-wayland" ]
     public_configs += [ "//tizen_src/build:ecore-wayland-public" ]
   }
+  if (tizen_product_tv) {
+    configs += [ "//tizen_src/build:libvd-win-util" ]
+  }
   include_dirs = [ "../efl_integration" ]
   sources = [
     "app.c",
@@ -122,5 +125,8 @@ executable("mini_browser") {
     }
     ldflags += [ "-ldlog" ]
     libs += [ "dlog" ]
+    if (tizen_product_tv) {
+      configs += [ "//tizen_src/build:libvd-win-util" ]
+    }
   }
 }
index 381e188..49a6efe 100644 (file)
 #include "public/EWebKit_product.h"
 #include "tizen/system_info.h"
 
+#if defined(OS_TIZEN_TV_PRODUCT)
+#include <cursor_module.h>
+#endif
+
 static Ecore_Evas* ee;
 static Evas* e;
 static Evas_Object* view;
@@ -584,6 +588,9 @@ int main(int argc, char** argv)
 
   set_url_from_user_input(view, start_url);
 
+#if defined(OS_TIZEN_TV_PRODUCT)
+  _create_mouse_cursor(e);
+#endif
   ecore_evas_show(ee);
   ewk_view_script_execute(view, "console.log(\"Executed test script\");", __script_executed_cb, 0);
   ecore_main_loop_begin();
index ccda479..36c3ce5 100644 (file)
 #include <Evas.h>
 #include <Elementary.h>
 #include <glib/gprintf.h>
-#if defined(OS_TIZEN)
-#include <Ecore_IMF_Evas.h>
-#endif
 
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
 #include <tizen_version.h>
 
-#if defined(OS_TIZEN)
-#include <device/haptic.h>
-#endif
-
 #include "browser-string.h"
 #include "browser-object.h"
 #include "public/EWebKit.h"
 
 #include "tizen/system_info.h"
 
-#ifdef OS_TIZEN
+#if defined(OS_TIZEN)
+#include <Ecore_IMF_Evas.h>
+#include <device/haptic.h>
 #include <efl_extension.h>
+#include <tzplatform_config.h>
+#include "build/tizen_version.h"
+#endif
+
+#if defined(OS_TIZEN_TV_PRODUCT)
+#include <cursor_module.h>
 #endif
 
 #undef LOG_TAG
@@ -373,6 +374,9 @@ static Evas_Object* _create_main_window(void *data)
     elm_win_resize_object_add(window, bg);
     elm_bg_color_set(bg, 225, 225, 225);
     evas_object_show(bg);
+#if defined(OS_TIZEN_TV_PRODUCT)
+    _create_mouse_cursor(window);
+#endif
   }
   return window;
 }
index dae75af..0b3fe19 100644 (file)
 #include "logger.h"
 #include "window_ui.h"
 
+#if defined(OS_TIZEN_TV_PRODUCT)
+#include "ecore_x_wayland_wrapper.h"
+#include <cursor_module.h>
+#endif
+
 Window::Window(Browser& browser, int width, int height, bool incognito)
     : browser_(browser)
     , is_fullscreen_(false) {
index 839902a..3243023 100644 (file)
 #include <ewk_settings_internal.h>
 #include <ewk_quota_permission_request_internal.h>
 
+#if defined(OS_TIZEN_TV_PRODUCT)
+#include "chromium_impl/build/tizen_version.h"
+#endif
+
 class Browser;
 class WindowUI;
 
@@ -66,7 +70,9 @@ class Window {
   static void OnUserMediaPermissionDecisionTaken(bool decision, void* data);
   static void OnEnterFullScreenRequest(void*, Evas_Object*, void*);
   static void OnExitFullScreenRequest(void*, Evas_Object*, void*);
-
+#if defined(OS_TIZEN_TV_PRODUCT)
+  void CreateMouseCursor();
+#endif
   Browser& browser_;
   WindowUI* ui_;
   Evas_Object* window_;