[M67 Dev][Tizen] Replace display specific API with public API 91/186691/2
authorChandan Padhi <c.padhi@samsung.com>
Fri, 13 Apr 2018 11:52:06 +0000 (17:22 +0530)
committerChandan Padhi <c.padhi@samsung.com>
Mon, 13 Aug 2018 11:13:56 +0000 (04:13 -0700)
This patch replaces APIs that are specific to wayland or
x11 with generic ones that serve the same purpose as earlier.

This patch also updates rotation degree at the time of
initialization of DeviceDisplayInfoEfl.

Reference:
https://review.tizen.org/gerrit/#/c/175936/
https://review.tizen.org/gerrit/#/c/176794/

Change-Id: I5c123d387c49f9644b14c9f2fdbe54f0cc6e8f8b
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
tizen_src/chromium_impl/content/browser/renderer_host/render_widget_host_view_efl.cc
tizen_src/chromium_impl/content/browser/renderer_host/render_widget_host_view_efl.h
tizen_src/chromium_impl/content/browser/web_contents/web_contents_view_efl.cc
tizen_src/chromium_impl/ui/display/screen_efl.cc

index b828752..c79d0e7 100644 (file)
@@ -169,7 +169,10 @@ RenderWidgetHostViewEfl::RenderWidgetHostViewEfl(RenderWidgetHost* widget_host,
       touch_events_enabled_(false),
       web_contents_(web_contents),
       weak_factory_(this) {
-  EnsureDeviceDisplayInfoInitialized();
+  parent_view_ = static_cast<Evas_Object*>(web_contents.GetNativeView());
+  evas_ = evas_object_evas_get(parent_view_);
+
+  InitializeDeviceDisplayInfo();
 
   SetDoubleTapSupportEnabled(touch_events_enabled_);
 
@@ -190,15 +193,7 @@ RenderWidgetHostViewEfl::RenderWidgetHostViewEfl(RenderWidgetHost* widget_host,
   gesture_recognizer_->AddGestureEventHelper(this);
 }
 
-void RenderWidgetHostViewEfl::InitAsChild(gfx::NativeView parent_view) {
-  DCHECK(parent_view);
-  parent_view_ = static_cast<Evas_Object*>(parent_view);
-  evas_ = evas_object_evas_get(parent_view_);
-
-  // Update rotation degrees in device display info.
-  UpdateRotationDegrees(
-      ecore_evas_rotation_get(ecore_evas_ecore_evas_get(evas_)));
-
+void RenderWidgetHostViewEfl::InitAsChild(gfx::NativeView /* parent_view */) {
   content_image_elm_host_ = elm_bg_add(parent_view_);
   content_image_ = evas_object_image_filled_add(evas_);
   elm_object_part_content_set(content_image_elm_host_, "overlay",
@@ -363,32 +358,23 @@ void RenderWidgetHostViewEfl::DelegatedFrameHostSendReclaimCompositorResources(
   renderer_compositor_frame_sink_->DidReceiveCompositorFrameAck(resources);
 }
 
-void RenderWidgetHostViewEfl::EnsureDeviceDisplayInfoInitialized() {
+void RenderWidgetHostViewEfl::InitializeDeviceDisplayInfo() {
   static bool initialized = false;
   if (initialized)
     return;
 
   initialized = true;
 
-  display::DeviceDisplayInfoEfl display_info;
-
-  int display_width = 0;
-  int display_height = 0;
-  int dpi = 0;
-
-#if defined(USE_WAYLAND)
-  ecore_wl_screen_size_get(&display_width, &display_height);
-  dpi = static_cast<double>(ecore_wl_dpi_get());
-#else  // X11
-  ecore_x_screen_size_get(ecore_x_default_screen_get(), &display_width,
-                          &display_height);
-  dpi = static_cast<double>(ecore_x_dpi_get());
-#endif
+  int display_width = 0, display_height = 0, dpi = 0;
+  const Ecore_Evas* ee = ecore_evas_ecore_evas_get(evas_);
+  ecore_evas_screen_geometry_get(ee, nullptr, nullptr, &display_width,
+                                 &display_height);
+  ecore_evas_screen_dpi_get(ee, &dpi, nullptr);
 
-  // Here initialize rotation degrees to 0, as rotation is updated separately
-  // after RWHV gets created.
+  display::DeviceDisplayInfoEfl display_info;
   display_info.Update(display_width, display_height,
-                      display_info.ComputeDIPScale(dpi), 0);
+                      display_info.ComputeDIPScale(dpi),
+                      ecore_evas_rotation_get(ee));
 }
 
 void RenderWidgetHostViewEfl::Invalidate(bool immediate) {
index 33c198c..67b1eab 100644 (file)
@@ -246,7 +246,7 @@ class CONTENT_EXPORT RenderWidgetHostViewEfl
  private:
   ~RenderWidgetHostViewEfl() override;
 
-  void EnsureDeviceDisplayInfoInitialized();
+  void InitializeDeviceDisplayInfo();
   gfx::NativeViewId GetNativeViewId() const;
 
   static void OnParentViewResize(void* data, Evas*, Evas_Object*, void*);
index 4291381..ed0193e 100644 (file)
@@ -88,7 +88,7 @@ RenderWidgetHostViewBase* WebContentsViewEfl::CreateViewForWidget(
     bool is_guest_view_hack) {
   RenderWidgetHostViewEfl* view =
       new RenderWidgetHostViewEfl(render_widget_host, *web_contents_);
-  view->InitAsChild(native_view_);
+  view->InitAsChild(nullptr);
 
   elm_naviframe_item_pop(native_view_);
   Evas_Object* content_view = static_cast<Evas_Object*>(view->GetNativeView());
index cfa2375..0d74f4d 100644 (file)
@@ -72,26 +72,8 @@ class ScreenEfl : public display::Screen {
     display::Display display(0);
     display.SetRotationAsDegree(display_info.GetRotationDegrees());
 
-    // TODO(prashant.n): Use DeviceDisplayInfoEfl for width and height.
-    // (http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14917)
-    int width, height;
-#if defined(USE_WAYLAND)
-    if (display.rotation() == display::Display::ROTATE_90 ||
-        display.rotation() == display::Display::ROTATE_270) {
-      ecore_wl_screen_size_get(&height, &width);
-    } else {
-      ecore_wl_screen_size_get(&width, &height);
-    }
-#else
-    Ecore_X_Screen* screen = ecore_x_default_screen_get();
-
-    if (display.rotation() == display::Display::ROTATE_90 ||
-        display.rotation() == display::Display::ROTATE_270) {
-      ecore_x_screen_size_get(screen, &height, &width);
-    } else {
-      ecore_x_screen_size_get(screen, &width, &height);
-    }
-#endif
+    int width = display_info.GetDisplayWidth();
+    int height = display_info.GetDisplayHeight();
 
     const gfx::Rect bounds_in_pixels = gfx::Rect(width, height);
     const gfx::Rect bounds_in_dip =
@@ -130,7 +112,4 @@ namespace display {
 gfx::NativeWindow Screen::GetWindowForView(gfx::NativeView view) {
   return view;
 }
-Screen* CreateNativeScreen() {
-  return new ui::ScreenEfl();
-}
 }  // namespace display