From 66f44306ac9768bffdf94c1103fe457821b32444 Mon Sep 17 00:00:00 2001 From: Tomasz Czekala Date: Mon, 20 Jul 2015 14:08:24 +0200 Subject: [PATCH] Implement ewk_view_page_zoom_get/set 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 --- tizen_src/ewk/efl_integration/eweb_view.cc | 15 +++++++++++++-- tizen_src/ewk/efl_integration/eweb_view.h | 2 ++ tizen_src/ewk/efl_integration/public/ewk_view.cc | 9 +++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/tizen_src/ewk/efl_integration/eweb_view.cc b/tizen_src/ewk/efl_integration/eweb_view.cc index 391f387..2044dae 100644 --- a/tizen_src/ewk/efl_integration/eweb_view.cc +++ b/tizen_src/ewk/efl_integration/eweb_view.cc @@ -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) { diff --git a/tizen_src/ewk/efl_integration/eweb_view.h b/tizen_src/ewk/efl_integration/eweb_view.h index af1912d..ee32bb1 100644 --- a/tizen_src/ewk/efl_integration/eweb_view.h +++ b/tizen_src/ewk/efl_integration/eweb_view.h @@ -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; diff --git a/tizen_src/ewk/efl_integration/public/ewk_view.cc b/tizen_src/ewk/efl_integration/public/ewk_view.cc index d941285..849367c 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_view.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_view.cc @@ -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) -- 2.7.4