Implement ewk_view_page_zoom_get/set
authorTomasz Czekala <t.czekala@samsung.com>
Mon, 20 Jul 2015 12:08:24 +0000 (14:08 +0200)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 06:57:09 +0000 (06:57 +0000)
Added implementation for ewk_view_page_zoom_get/set and fixed
implementation for ewk_view_text_zoom_get/set, which was setting page
zoom instead of text zoom

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=13328
Reviewed by: Antonio Gomes, DONGJUN KiM

Change-Id: Idb208ca4152c02e59ec00f1b1e82731b458faa39
Signed-off-by: Tomasz Czekala <t.czekala@samsung.com>
tizen_src/ewk/efl_integration/eweb_view.cc
tizen_src/ewk/efl_integration/eweb_view.h
tizen_src/ewk/efl_integration/public/ewk_view.cc

index 391f387..2044dae 100644 (file)
@@ -532,8 +532,19 @@ void EWebView::SetTextZoomFactor(double text_zoom_factor) {
     return;
 
   text_zoom_factor_ = text_zoom_factor;
-  double zoom_level = log(text_zoom_factor) / log(1.2);
-  content::HostZoomMap::SetZoomLevel(web_contents_.get(), zoom_level);
+  RenderViewHost* render_view_host = web_contents_->GetRenderViewHost();
+  if (render_view_host)
+    render_view_host->SetTextZoomFactor(text_zoom_factor);
+}
+
+double EWebView::GetPageZoomFactor() const {
+  return content::ZoomLevelToZoomFactor(
+      content::HostZoomMap::GetZoomLevel(web_contents_.get()));
+}
+
+void EWebView::SetPageZoomFactor(double page_zoom_factor) {
+  content::HostZoomMap::SetZoomLevel(
+      web_contents_.get(), content::ZoomFactorToZoomLevel(page_zoom_factor));
 }
 
 void EWebView::ExecuteEditCommand(const char* command, const char* value) {
index af1912d..ee32bb1 100644 (file)
@@ -244,6 +244,8 @@ class EWebView {
   void Stop();
   double GetTextZoomFactor() const;
   void SetTextZoomFactor(double text_zoom_factor);
+  double GetPageZoomFactor() const;
+  void SetPageZoomFactor(double page_zoom_factor);
   void ExecuteEditCommand(const char* command, const char* value);
   void SetOrientation(int orientation);
   bool TouchEventsEnabled() const;
index d941285..849367c 100644 (file)
@@ -1113,14 +1113,15 @@ void ewk_view_draw_focus_ring_enable_set(Evas_Object* ewkView, Eina_Bool enable)
 
 double ewk_view_page_zoom_get(const Evas_Object* ewkView)
 {
-  LOG_EWK_API_MOCKUP("for Tizen TV Browser");
-  return 0;
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl, -1.0);
+  return impl->GetPageZoomFactor();
 }
 
 Eina_Bool ewk_view_page_zoom_set(Evas_Object* ewkView, double zoomFactor)
 {
-  LOG_EWK_API_MOCKUP("for Tizen TV Browser");
-  return false;
+  EWK_VIEW_IMPL_GET_OR_RETURN(ewkView, impl, EINA_FALSE);
+  impl->SetPageZoomFactor(zoomFactor);
+  return EINA_TRUE;
 }
 
 Evas_Object* ewk_view_smart_add(Evas* canvas, Evas_Smart* smart, Ewk_Context* context, Ewk_Page_Group* pageGroup)